[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-84156":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":14,"forks30d":14,"starsTrendScore":17,"compositeScore":18,"rankGlobal":9,"rankLanguage":9,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":9,"pushedAt":9,"updatedAt":33,"readmeContent":34,"aiSummary":9,"trendingCount":14,"starSnapshotCount":14,"syncStatus":35,"lastSyncTime":36,"discoverSource":37},84156,"axocoatl","axocoatl\u002Faxocoatl","Agentic runtime in Rust — persistent, supervised agents. Self-hosted, local-first, zero telemetry. Apache 2.0.","https:\u002F\u002Faxocoatl.ai",null,"Rust",61,8,1,0,4,9,17,56.26,"Apache License 2.0",false,"main",true,[24,25,26,27,28,29,30,31,32],"agentic","agents","ai","llm","local-first","mcp","runtime","rust","self-hosted","2026-06-12 04:01:43","# Axocoatl\n\n**The Rust runtime for self-coordinating multi-agent systems.**\n\n[![CI](https:\u002F\u002Fgithub.com\u002Faxocoatl\u002Faxocoatl\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Faxocoatl\u002Faxocoatl\u002Factions\u002Fworkflows\u002Fci.yml)\n[![crates.io](https:\u002F\u002Fimg.shields.io\u002Fcrates\u002Fv\u002Faxocoatl-cli.svg)](https:\u002F\u002Fcrates.io\u002Fcrates\u002Faxocoatl-cli)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg)](LICENSE)\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimg\u002Fdemo.gif\" alt=\"Axocoatl crash-restart — kill the server mid-run and the agent resumes from its last checkpoint, fully local\" width=\"760\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Cem>Kill the server mid-task — the agent restarts from its last checkpoint, not from zero. 100% local.\u003C\u002Fem>\u003C\u002Fp>\n\nAxocoatl runs persistent AI agents that coordinate through a **stigmergic event\nlattice** — agents activate when their dependencies complete, driven by\npheromone-style signals with no central orchestrator. Built in Rust on the\n`ractor` actor model: low memory, fast cold start, provider-agnostic.\n\n---\n\n## 60-second quickstart\n\n```bash\n# 1. Install (no Rust toolchain required)\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Faxocoatl\u002Faxocoatl\u002Fmain\u002Fscripts\u002Finstall.sh | sh\n\n# 2. Interactive setup wizard — picks a provider, scaffolds a project\naxocoatl onboard\n\n# 3. Check your environment\naxocoatl doctor\n\n# 4. Start the daemon + API, then chat\naxocoatl dev\naxocoatl chat -a assistant\n```\n\nPrefer Cargo? `cargo install axocoatl-cli` (requires Rust 1.82+).\n\n> **Skipping `onboard`?** Copy [`axocoatl.example.yaml`](axocoatl.example.yaml)\n> to `axocoatl.yaml` — two agents and one workflow, fits on one screen.\n> The full `axocoatl.yaml` shipped in the repo is the larger demo (12 agents,\n> scheduled runs, MCP servers).\n\n---\n\n## Why Axocoatl\n\n| Capability | Axocoatl | AutoAgents | CrewAI |\n|---|:--:|:--:|:--:|\n| Language \u002F runtime | Rust \u002F actors | Rust \u002F actors | Python |\n| **Stigmergic coordination** (no orchestrator) | ✅ | ❌ | ❌ |\n| HTN symbolic planning | roadmap | ❌ | ❌ |\n| Auction-based agent selection | roadmap | ❌ | ❌ |\n| Per-agent token budgets | ✅ | ❌ | partial |\n| 4-tier persistent memory + checkpointing | ✅ | partial | partial |\n| MCP client + server | ✅ | partial | ✅ |\n| A2A protocol | ✅ | ❌ | ❌ |\n| Provider-agnostic (Ollama\u002FOpenAI\u002FAnthropic\u002F…) | ✅ | ✅ | ✅ |\n| Interactive onboarding + `doctor` | ✅ | ❌ | ❌ |\n\nThe differentiator is the **coordination layer**: define agents with\n`depends_on`, and the event lattice cascades work through them automatically.\n\n```yaml\nagents:\n  - id: researcher\n    provider: ollama\n    model: llama3.2\n    depends_on: []\n  - id: summarizer\n    provider: ollama\n    model: llama3.2\n    depends_on: [researcher]   # activates when researcher completes\n\nworkflows:\n  - id: research-and-summarize\n    agents: [researcher, summarizer]\n    entry_point: researcher\n```\n\n```bash\naxocoatl workflow run research-and-summarize -i \"What is photosynthesis?\"\n```\n\n---\n\n## Core concepts\n\n- **Agents** — persistent `ractor` actors with a provider, tools, 4-tier\n  memory, and a token budget. Survive restarts via checkpointing.\n- **Stigmergic coordination** — agents publish `TaskCompleted` events; an\n  `EventLattice` accumulates pheromone signals and activates downstream agents\n  when thresholds are crossed. No scheduler, no glue code.\n- **Workflows** — declarative multi-agent DAGs via `depends_on` \u002F `entry_point`.\n- **Providers** — Ollama, OpenAI, Anthropic, Mistral, Gemini, OpenRouter. No lock-in.\n- **Protocols** — MCP (consume & expose tools) and A2A (agent interop).\n\nSee the [docs site](https:\u002F\u002Fdocs.axocoatl.ai) for the full picture, the\n[marketing site](https:\u002F\u002Faxocoatl.ai) for the positioning, or\n[`docs\u002FARCHITECTURE.md`](docs\u002FARCHITECTURE.md) and\n[`docs\u002FTROUBLESHOOTING.md`](docs\u002FTROUBLESHOOTING.md) for the in-repo\nquick reference.\n\n---\n\n## Roadmap\n\nBuilt and tested in the `axocoatl-coordination` crate, but not yet wired into\nthe shipped runtime:\n\n- **HTN symbolic planning** — task decomposition without LLM calls.\n- **Auction-based agent selection** — pick agents by tool capability, load, and\n  remaining token budget.\n- **Stronger sandbox isolation tiers** — the shipped sandbox is a hardened\n  rootless Podman container (capabilities dropped, no-new-privileges,\n  network-isolatable); microVM-class isolation (Firecracker) is planned.\n\n---\n\n## CLI\n\n```\naxocoatl onboard                 Interactive setup wizard\naxocoatl doctor                  Environment \u002F dependency health check\naxocoatl init \u003Cname>             Scaffold a project non-interactively\naxocoatl validate \u003Cconfig>       Validate a config file\naxocoatl dev | serve             Run daemon (+ IPC) \u002F production server\naxocoatl chat -a \u003Cagent>         Interactive chat\naxocoatl workflow list | run     Inspect \u002F execute multi-agent workflows\naxocoatl agents list|status|restart\naxocoatl tokens report           Per-agent token usage\naxocoatl mcp servers|tools       Inspect connected MCP servers\u002Ftools\n```\n\n## HTTP API\n\n```\nGET  \u002Fhealth                          POST \u002Fapi\u002Fagents\u002F{id}\u002Fexecute\nGET  \u002Fapi\u002Fagents                       GET  \u002Fapi\u002Fagents\u002F{id}\u002Fstatus\nPOST \u002Fapi\u002Fagents\u002F{id}\u002Frestart          GET  \u002Fapi\u002Ftokens\u002Freport\nGET  \u002Fapi\u002Fworkflows                    POST \u002Fapi\u002Fworkflows\u002F{id}\u002Fexecute\nGET  \u002Fapi\u002Fmcp\u002Fservers                  GET  \u002Fapi\u002Fmcp\u002Ftools\nGET  \u002Fws   (WebSocket streaming)\n```\n\n## Examples\n\nRunnable, mock-LLM (no keys needed) — see [`examples\u002F`](examples\u002F):\n`research-assistant`, `code-reviewer`, `customer-support`.\n\n## Build from source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Faxocoatl\u002Faxocoatl\ncd axocoatl\ncargo build --release          # binary: target\u002Frelease\u002Faxocoatl\ncargo test --workspace         # 340+ tests\n```\n\n## License\n\nApache-2.0 — see [LICENSE](LICENSE). Changes: [CHANGELOG.md](CHANGELOG.md).\n",2,"2026-06-11 04:12:27","CREATED_QUERY"]