agentdock vs swiftide
TypeScript library giving a backend one agent runtime: session-scoped runs with streaming, approvals and cancel, a tool registry, injectable stores and a factory over nine AI SDK providers. — versus — Rust framework for LLM apps: an agent harness, compile-time-typed task graphs, and streaming RAG pipelines — MCP toolboxes, human-in-the-loop approval, tracing with Langfuse support.
Both are typed, in-process agent runtimes aimed at application developers rather than CLI users. Swiftide is Rust with compile-time task graphs and streaming RAG; AgentDock is a minimal TypeScript loop over the AI SDK.
| agentdock | swiftide | |
|---|---|---|
| Stars | 6 | 777 |
| Forks | 2 | 69 |
| Language | TypeScript | Rust |
| License | MIT | MIT |
| Last activity | 3 days ago | today |
| Topics | agents | rag, agents |
| Curated connections | 5 | 4 |
agentdock — the curator's take
A deliberately thin agent loop for Node backends. The one decision worth copying is that sessions own their message history through an injected store, so a multi-tenant app stops threading transcripts through every call site. Set expectations accordingly: v0.1.0, single-digit stars, in-memory defaults, and it is a wrapper over the Vercel AI SDK, so anything the SDK cannot do it cannot do either. Use it if you want a runtime small enough to read end to end; use a real harness if you want planning, sub-agents, sandboxes or memory.
swiftide — the curator's take
The Rust-native full stack — harness, task graphs, streaming indexing — for teams who want LLM logic inside a Rust codebase instead of bolting on a Python sidecar. Typed task graphs are the real differentiator: hand-offs and fan-out/join results checked at compile time, a correctness class Python graph frameworks structurally can't offer. Read ★748 correctly — it measures the size of Rust's LLM niche, not quality; the project is mature, actively maintained and properly documented. When NOT: if your retrieval stack leans on the long tail of Python-ecosystem loaders, rerankers and eval tooling, Rust's integration surface is thinner and you will write the glue yourself.