You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AgentScript lets you chain Gemini AI with 100+ commands using Morpheus category-theory operators. Research topics, generate images and videos, send emails, check stocks, monitor Reddit, read RSS feeds, get weather forecasts, search jobs, run MCP tools, query knowledge graphs — all in one script.
# Morning briefing in one command
( weather "San Francisco"<*> crypto "BTC,ETH,SOL"<*> stock "AAPL,NVDA,MSFT"<*> news_headlines "technology"<*> rss "hn"<*> reddit "r/golang"<*> job_search "golang contract""remote"
)
>=> merge
>=> ask "morning briefing with weather, markets, headlines, and jobs">=> notify "slack">=> email "you@gmail.com"
Quick Start
git clone https://github.com/vinodhalaharvi/agentscript
cd agentscript
go mod tidy
go build -o agentscript ./cmd/agentscript
export GEMINI_API_KEY="your-key"# Try it
./agentscript -e 'ask "hello world"'
./agentscript -e 'search "golang trends" >=> summarize'
./agentscript -e 'crypto "BTC,ETH,SOL"'
./agentscript -e 'weather "New York"'
Each integration is a plugin that registers its DSL commands with the
runtime. Plugins live under plugins/<vendor>/; shared API clients and the
plugin interface live under pkg/.
DSL → Sibyl translator (in progress)
A second execution path is being built: an arrow-first translator that
compiles AgentScript into Sibyl
DAGs for durable, Temporal-backed execution. The design is documented in
docs/dsl-to-sibyl-translator.md; the
translator code is under pkg/script/. The existing
in-process runtime continues to serve as the fast "memory" backend.
# Requiredexport GEMINI_API_KEY="..."# Data APIs (all have free tiers)export SERPAPI_KEY="..."# Jobs, news/stock fallback (100/mo free)export FINNHUB_API_KEY="..."# Stocks (60/min free)export GNEWS_API_KEY="..."# News (100/day free)export TWITTER_BEARER_TOKEN="..."# Twitter search# Google Workspace (OAuth)export GOOGLE_CREDENTIALS_FILE="credentials.json"# Notificationsexport SLACK_WEBHOOK_URL="..."export DISCORD_WEBHOOK_URL="..."export TELEGRAM_BOT_TOKEN="..."export TELEGRAM_CHAT_ID="..."# WhatsApp (Twilio)export TWILIO_ACCOUNT_SID="..."export TWILIO_AUTH_TOKEN="..."export TWILIO_WHATSAPP_FROM="whatsapp:+14155238886"# 4 commands need ZERO keys: weather, crypto, reddit, rss
Running
# Expression mode
./agentscript -e 'search "topic" >=> summarize'# File mode
./agentscript -f examples/daily-briefing.as
# REPL mode
./agentscript -i
# Natural language mode
./agentscript -n "research AI and email me a summary"# Verbose mode (debug)
./agentscript -v -e 'crypto "BTC"'
Testing
# Run the whole suite
go test ./...
# Race detector (matches CI)
go test -race ./...
# A single package
go test ./pkg/script/...
CI (GitHub Actions) runs go mod tidy, go vet -structtag=false, gofmt,
staticcheck, go test -race, and go build on every push and PR. See
.github/workflows/ci.yml.
A declarative coordination DSL for LLM agents. Compose pipelines, multi-agent workflows, and code generation tasks using Kleisli composition, fan-out, and a 4×4 coordination matrix. Backed by Claude.