[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81560":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":15,"starSnapshotCount":15,"syncStatus":33,"lastSyncTime":34,"discoverSource":35},81560,"stoa","stoaaadev\u002Fstoa","stoaaadev","Multi-agent swarm framework. Seven autonomous agents. 30 skills. One shared mesh. Zero infrastructure.","https:\u002F\u002Fx.com\u002Fstoaframework",null,"TypeScript",22,3,25,0,1,41.91,"MIT License",false,"main",[22,23,24,25,26,27,28,29],"ai-agent","autonomous","defi","framework","multi-agent","solana","swarm","typescript","2026-06-12 04:01:34","\u003Ch1 align=\"center\">\n  \u003Cbr>\n  \u003Cimg src=\"assets\u002Fstoa.png\" alt=\"stoa\" width=\"160\">\n  \u003Cbr>\n\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cb>Multi-agent swarm framework for autonomous operations.\u003C\u002Fb>\u003Cbr>\n  Seven agents. 30 skills. One shared mesh. Zero infrastructure.\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca \n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Fstoaframework\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffollow-%40stoaframework-black?style=flat-square&logo=x&logoColor=white\" alt=\"X (Twitter)\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue?style=flat-square\" alt=\"License\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fsolana.com\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fchain-Solana-9945FF?style=flat-square&logo=solana&logoColor=white\" alt=\"Solana\">\u003C\u002Fa>\n\u003C\u002Fp>\n\nCA:ELHzHJ1SjD7y5NxgSFncyHBgkjp1kVQj9HbACc8Tpump\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fdemo.gif\" alt=\"stoa test pipeline\" width=\"620\">\n\u003C\u002Fp>\n\n---\n\nMost agent frameworks give you a single brain with tools. That works until you need the brain to watch, think, act, research, write, and protect at the same time.\n\nstoa is a **multi-agent swarm** where seven specialized agents coordinate autonomously. Each agent has a role, a personality, and skills. They communicate through a shared mesh. They run for free on GitHub Actions. State is git commits. Skills are markdown. Nothing to host, nothing to pay for (beyond LLM calls).\n\n```\nresearcher ──research──→ analyst ──trade-signal──→ executor\n     ↓                     ↑                         ↑\nscout ──signal────────────┘      guardian ──halt──→───┘\n     ↓                              ↓\nwriter ←── insight ──────── protects everything\n     ↓\n  ops ←── repo health, CI, deploys\n```\n\n## What's in the box\n\n| | Count | Description |\n|---|---|---|\n| **Agents** | 7 | scout, analyst, executor, guardian, researcher, writer, ops |\n| **Skills** | 30 | Trading, research, content, devops |\n| **Chains** | 5 | Multi-step pipelines with dependency graphs |\n| **Dashboard** | 1 | Next.js operations UI with real-time swarm monitoring |\n| **Messaging** | 3 | Telegram, Discord, Slack inbound + outbound |\n| **LLM Providers** | 3 | Claude, OpenAI, Gemini with automatic failover |\n| **Tests** | 39+ | Pipeline tests + Solana devnet integration tests |\n\n## Why a swarm?\n\n| | Single-agent | Off-chain swarm | **stoa** |\n|---|---|---|---|\n| Multi-agent coordination | No | Yes | **Yes (7 agents)** |\n| Role specialization | No | Yes | **Yes** |\n| On-chain verification | No | No | **Yes** (preflight + postflight) |\n| Risk isolation | No | Partial | **Yes** (Guardian veto) |\n| Infrastructure cost | Server | Server | **$0** (GitHub Actions) |\n| State persistence | External DB | External DB | **Git commits** |\n| Adding capabilities | Write code | Write code | **Write markdown** |\n| LLM failover | Single provider | Single provider | **Multi-LLM gateway** |\n| Inbound messaging | Custom | Custom | **Built-in** (Telegram\u002FDiscord\u002FSlack) |\n| Dashboard | Build it | Build it | **Included** |\n\n## Quick start\n\n```bash\n# 1. Fork this repo\ngh repo create my-stoa --template stoaaadev\u002Fstoa --private\n\n# 2. Set secrets\ngh secret set ANTHROPIC_API_KEY --body \"sk-ant-...\"\ngh secret set SOLANA_RPC_URL --body \"https:\u002F\u002Fapi.mainnet-beta.solana.com\"  # optional\ngh secret set SOLANA_PRIVATE_KEY --body \"your-base58-key\"                  # optional\n\n# 3. Enable Actions\ngh workflow enable tick.yml\ngh workflow enable agent.yml\ngh workflow enable messages.yml\n\n# 4. Optional: enable messaging\ngh secret set TELEGRAM_BOT_TOKEN --body \"your-bot-token\"\ngh secret set TELEGRAM_CHAT_ID --body \"your-chat-id\"\n\n# 5. Done. The swarm starts on the next cron tick.\n```\n\nOr run locally:\n\n```bash\nnpm install\nnpx stoa status              # check swarm state\nnpx stoa dispatch            # run the dispatcher\nnpx stoa execute scout scan-tokens   # run one skill\nnpx stoa chain full-scan     # run a skill chain\nnpx stoa agents              # list all agents\nnpx stoa mesh scout          # view agent inbox\nnpx stoa messages            # view inbound messages\nnpx stoa health              # quality scores\nnpx stoa cost                # token usage\nnpx stoa gateway             # LLM provider status\nnpx stoa validate            # validate config\n\n# Run the dashboard\ncd dashboard && npm install && npm run dev\n```\n\n## Agents\n\n### Scout — the eyes\n\nMonitors Solana for actionable signals: token price movements, volume spikes, new pools, whale transactions. Runs every 30 minutes.\n\n**Skills:** `scan-tokens` `morning-brief`\n\n### Analyst — the brain\n\nEvaluates signals from Scout and Researcher. Scores opportunities across multiple dimensions. Only signals above the confidence threshold generate trade theses.\n\n**Skills:** `analyze-signal` `trend-analysis` `market-structure`\n\n### Executor — the hands\n\nReceives validated trade-signals from Analyst and executes via Jupiter. Supports single trades, DCA, and stop-loss triggers. Every transaction goes through preflight\u002Fpostflight verification. Purely reactive — no cron schedule.\n\n**Skills:** `execute-trade` `dca-execute` `stop-loss-execute`\n\n### Guardian — the immune system\n\nMonitors all open positions, enforces stop-losses, checks drawdown, flags anomalies. Has **veto power** — a single `halt` message freezes the entire swarm. Runs self-healing routines automatically.\n\n**Skills:** `check-risk` `health-check` `self-repair` `self-improve`\n\n### Researcher — the scholar\n\nConducts deep research across academic papers, protocol docs, competitive landscapes. Synthesizes findings into structured intelligence for other agents.\n\n**Skills:** `arxiv-scan` `paper-summarize` `competitor-watch` `github-trending` `protocol-deep-dive` `exploit-postmortem` `security-audit-watch`\n\n### Writer — the voice\n\nCreates digests, newsletters, changelogs, and social posts. Fact-checks before publishing.\n\n**Skills:** `daily-digest` `weekly-recap` `changelog-generate` `editorial-review` `write-newsletter` `tweet-compose`\n\n### Ops — the engineer\n\nManages repository health, CI pipelines, dependencies, security scanning, and PR reviews.\n\n**Skills:** `repo-health` `pr-review` `dependency-audit` `ci-monitor` `security-scan`\n\n## Skills\n\nSkills are markdown prompts. No code. Drop a `SKILL.md` in `skills\u002Fyour-skill\u002F` and reference it in an agent's config.\n\n```\nskills\u002F\n├── Trading        # scan-tokens, morning-brief, analyze-signal, execute-trade, check-risk, ...\n├── Research       # arxiv-scan, paper-summarize, github-trending, competitor-watch, ...\n├── Content        # daily-digest, weekly-recap, write-newsletter, tweet-compose, ...\n└── DevOps         # repo-health, pr-review, dependency-audit, ci-monitor, security-scan\n```\n\n### Adding a skill\n\n1. Create `skills\u002Fmy-skill\u002FSKILL.md`\n2. Add it to the agent's skill list in `stoa.yml`\n3. Push. The agent picks it up on its next tick.\n\n### Skill format\n\n```markdown\n---\nname: skill-name\nagent: researcher\ndescription: \"One-line purpose\"\nschedule: \"0 *\u002F4 * * *\"\n---\n\n# skill-name\n\n## Objective\nWhat this skill does.\n\n## Steps\n1. Detailed step-by-step instructions\n2. Include real API endpoints and data sources\n3. Define output schemas\n\n## Output\nFiles to write, messages to send via mesh.\n\n## Exit Codes\n- SKILL_OK: success\n- SKILL_FAIL: failure\n```\n\n## Skill Chains\n\nSkills compose into pipelines with dependency graphs:\n\n```yaml\nchains:\n  morning-pipeline:\n    steps:\n      brief: { agent: scout, skill: morning-brief }\n      research: { agent: researcher, skill: arxiv-scan }\n      analysis: { agent: analyst, skill: analyze-signal, depends_on: [brief] }\n      digest: { agent: writer, skill: daily-digest, depends_on: [brief, research, analysis] }\n    schedule: \"0 8 * * *\"\n\n  research-pipeline:\n    steps:\n      scan-papers: { agent: researcher, skill: arxiv-scan }\n      scan-github: { agent: researcher, skill: github-trending }\n      summarize: { agent: researcher, skill: paper-summarize, depends_on: [scan-papers] }\n      write: { agent: writer, skill: write-newsletter, depends_on: [summarize, scan-github] }\n      review: { agent: writer, skill: editorial-review, depends_on: [write] }\n    schedule: \"0 10 * * 1,4\"\n```\n\nFive built-in chains: `full-scan`, `morning-pipeline`, `research-pipeline`, `weekly-maintenance`, `security-audit`.\n\n## Dashboard\n\nThe `dashboard\u002F` directory contains a Next.js operations UI for monitoring and controlling the swarm.\n\n**Features:**\n- Real-time swarm status and agent health\n- Skill execution history with quality scores\n- Token usage and cost tracking\n- Mesh message visualization\n- Skill output feed\n- Manual skill trigger\n- Git sync\n\n```bash\ncd dashboard\nnpm install\nnpm run dev    # http:\u002F\u002Flocalhost:3000\n```\n\nSet `AUTH_PASSWORD` in `.env.local` to enable authentication.\n\n## Messaging\n\nThe swarm accepts inbound messages from Telegram, Discord, and Slack. Messages are polled every 5 minutes via `messages.yml` and routed to the appropriate agent.\n\n| Channel | Outbound | Inbound |\n|---------|----------|---------|\n| Telegram | `TELEGRAM_BOT_TOKEN` + `TELEGRAM_CHAT_ID` | Same (offset polling) |\n| Discord | `DISCORD_WEBHOOK_URL` | `DISCORD_BOT_TOKEN` + `DISCORD_CHANNEL_ID` |\n| Slack | `SLACK_WEBHOOK_URL` | `SLACK_BOT_TOKEN` + `SLACK_CHANNEL_ID` |\n\nMessage routing is keyword-based: trading terms go to executor, research terms to researcher, monitoring terms to scout, etc. Send a message to your bot and the swarm responds.\n\nAll agents use `.\u002Fnotify \"message\"` to send responses back across all configured channels.\n\n## Multi-LLM Gateway\n\nThe gateway implements automatic failover across three providers:\n\n```\nClaude (primary) → OpenAI (fallback) → Gemini (fallback)\n```\n\nSet per-agent models in `stoa.yml`. Scout might use Haiku (fast, cheap) while Analyst uses Opus (deep reasoning).\n\n## Safety Model\n\n1. **Role separation** — the agent that discovers opportunities cannot execute trades\n2. **Preflight gates** — halt check, balance verification, circuit breaker, position limits\n3. **Postflight verification** — on-chain transaction confirmation via `@solana\u002Fweb3.js`\n4. **Circuit breaker** — skills that fail repeatedly are automatically blocked\n5. **Guardian veto** — freezes the entire swarm instantly\n6. **Confidence gating** — Analyst must score above threshold before generating trade-signals\n7. **Position limits** — enforced in config, preflight, and Executor skill\n8. **Stop-loss enforcement** — Guardian checks every 15 minutes\n9. **Drawdown circuit breaker** — automatic cooldown on threshold breach\n10. **Multi-LLM failover** — no single provider outage halts the swarm\n11. **Output validation** — fabrication detection and secret leak prevention\n12. **Prompt injection scanner** — blocks adversarial inputs\n13. **Rate limiting** — token bucket limiter per API\n14. **Dispatch deduplication** — prevents double-triggers\n15. **Immutable audit trail** — all state changes are git commits\n16. **Self-healing** — automatic repair of degrading skills\n\n## Mesh Protocol\n\nAgents communicate asynchronously via `memory\u002Fmesh\u002F`. Each agent has an inbox. Messages are typed JSON with TTL-based expiry and acknowledgment:\n\n```json\n{\n  \"from\": \"scout\",\n  \"to\": \"analyst\",\n  \"type\": \"signal\",\n  \"id\": \"scout-1716000000000-a3f2\",\n  \"timestamp\": \"2026-05-18T12:00:00.000Z\",\n  \"data\": {\n    \"signal_type\": \"volume_spike\",\n    \"token\": \"JUP\",\n    \"details\": \"3.2x average volume in 1h\"\n  }\n}\n```\n\n**Message types:** `signal` `feedback` `trade-signal` `execution-report` `halt` `cooldown` `research` `research-request` `insight` `content-ready` `review-request` `deploy-request` `repair-needed`\n\n## MCP Server\n\nThe `mcp-server\u002F` exposes the swarm as tools for Claude Desktop:\n\n`stoa_status` `stoa_health` `stoa_dispatch` `stoa_execute` `stoa_mesh_read` `stoa_mesh_post` `stoa_positions` `stoa_cost` `stoa_chain` `stoa_halt` `stoa_resume` `stoa_validate` `stoa_gateway`\n\n## Project Structure\n\n```\nstoa\u002F\n├── stoa.yml                    # swarm configuration\n├── CLAUDE.md                   # agent identity\n├── dashboard\u002F                  # Next.js operations UI\n│\n├── agents\u002F                     # 7 agent role definitions\n│   ├── scout\u002FAGENT.md\n│   ├── analyst\u002FAGENT.md\n│   ├── executor\u002FAGENT.md\n│   ├── guardian\u002FAGENT.md\n│   ├── researcher\u002FAGENT.md\n│   ├── writer\u002FAGENT.md\n│   └── ops\u002FAGENT.md\n│\n├── skills\u002F                     # 30 skill prompts\n│   ├── scan-tokens, morning-brief, analyze-signal, ...\n│   ├── execute-trade, dca-execute, stop-loss-execute\n│   ├── check-risk, health-check, self-repair, self-improve\n│   └── arxiv-scan, repo-health, daily-digest, ...\n│\n├── src\u002F                        # TypeScript runtime\n│   ├── index.ts                # CLI entry\n│   ├── dispatch.ts             # cron dispatcher\n│   ├── execute.ts              # agent executor\n│   ├── messages.ts             # inbound message handler\n│   ├── solana.ts               # Solana integration\n│   ├── gateway.ts              # multi-LLM failover\n│   ├── chain.ts                # skill chaining (DAG)\n│   ├── mesh.ts                 # inter-agent messaging\n│   ├── memory.ts               # state management\n│   ├── security.ts             # runtime security\n│   ├── health.ts               # quality scoring\n│   ├── preflight.ts            # pre-execution checks\n│   ├── postflight.ts           # post-execution verification\n│   └── ...                     # 11 more modules\n│\n├── mcp-server\u002F                 # MCP server for Claude Desktop\n│\n├── memory\u002F                     # swarm state (git-committed)\n│   ├── mesh\u002F                   # agent inboxes\n│   ├── skill-health\u002F           # quality scores\n│   └── ...\n│\n├── .github\u002Fworkflows\u002F\n│   ├── tick.yml                # cron dispatcher\n│   ├── agent.yml               # skill executor\n│   ├── messages.yml            # inbound message handler\n│   ├── chain-runner.yml        # skill chain executor\n│   └── ci.yml                  # typecheck + test + validate\n│\n├── test-pipeline.ts            # 39 pipeline tests\n└── test-devnet.ts              # Solana devnet tests\n```\n\n## Testing\n\n```bash\nnpx tsx test-pipeline.ts        # 39 tests, no network\nnpx tsx test-devnet.ts          # Solana devnet integration\n```\n\nCI runs both automatically on push: `typecheck → pipeline tests → config validation → devnet integration`.\n\n## Cost\n\n| Component | Cost |\n|-----------|------|\n| GitHub Actions | Free (2,000 min\u002Fmonth) |\n| Claude API | ~$0.01–0.05 per skill |\n| Solana RPC | Free (public endpoints) |\n| Hosting | $0 |\n\n## Adding Agents\n\n1. Create `agents\u002Fmy-agent\u002FAGENT.md`\n2. Create skills in `skills\u002F`\n3. Add to `stoa.yml`\n4. Push\n\n## FAQ\n\n**Is this a trading bot?**\nstoa is a general-purpose multi-agent framework. The default config includes trading (scout → analyst → executor), but also research, content, social, devops, and automation pipelines. Enable what you need, disable what you don't.\n\n**How is this different from aeon?**\naeon is a single-agent bash framework. stoa is a multi-agent TypeScript framework with mesh communication, DAG chaining, runtime security, and a dashboard. Different architecture, different tradeoffs.\n\n**What if Claude is down?**\nThe gateway fails over to OpenAI, then Gemini. Set all three API keys.\n\n**Do I need Solana?**\nNo. Solana is optional. Without `SOLANA_RPC_URL`, onchain skills are skipped. Research, content, devops, and automation skills work without any chain.\n\n**Can I message the swarm?**\nYes. Set up a Telegram\u002FDiscord\u002FSlack bot. Send a message and the swarm routes it to the right agent and responds.\n\n## Philosophy\n\n> *The Stoa Poikile was the painted porch in Athens where Zeno of Citium founded Stoic philosophy. The Stoics believed in rational agents acting within a shared logos — each autonomous, yet part of a greater order.*\n\n> *stoa applies the same structure to autonomous agents. Scout observes. Analyst reasons. Researcher investigates. Writer communicates. Executor acts. Ops maintains. Guardian protects.*\n\n## License\n\nMIT\n","stoa 是一个用于自主操作的多代理群集框架。它包含七个具有特定角色和技能的自治代理，这些代理通过共享网格进行通信与协作，无需额外基础设施支持，并且能够运行在GitHub Actions上，使用Git提交来保持状态。该框架利用了TypeScript开发，支持Solana链上的预处理和后处理验证，适用于需要多智能体协调、角色专业化以及零基础设施成本的应用场景，如去中心化金融（DeFi）项目中的自动化交易、研究分析等任务。此外，stoa还提供了一个基于Next.js的操作界面，支持实时监控群集状态，并且可以通过Telegram、Discord或Slack接收消息，增加了系统的灵活性和可用性。",2,"2026-06-11 04:05:30","CREATED_QUERY"]