ThousandBirdsInc/chidori
The agent framework where every run is durable, replayable, and resumable by default.
What it solves
Chidori addresses the non-deterministic, expensive, and fragile nature of AI agents. It eliminates common pain points such as the inability to reproduce bugs, the high cost of repeated LLM calls during debugging, the loss of progress after a crash, and the need to keep processes alive while waiting for human approval.
How it works
The framework uses a Rust-based runtime with an embedded pure-Rust JavaScript engine to execute agents written in plain async TypeScript. It intercepts every side effect—including LLM calls, tool calls, and HTTP requests—as a "host call." These calls are recorded in a journal. This allows the runtime to checkpoint the agent's state to disk, replay runs for byte-identical output without spending tokens, and resume execution from any pause point, even across process restarts.
Who it’s for
Developers building long-running, expensive, or human-gated AI agents who require high reliability, deterministic testing, and cost-efficient debugging.
Highlights
- Durable Execution: Agents survive crashes and restarts by default, resuming exactly where they left off.
- Zero-Cost Replay: Replays use recorded logs to provide identical output without making new LLM calls.
- Plain TypeScript: No complex graphs or DSLs; agents are written as standard async functions.
- Human-in-the-Loop: Built-in primitives like
chidori.input()allow agents to pause to disk and resume when a human provides input. - Standalone Runtime: A single Rust binary with no dependency on Node.js or V8.
- Advanced Agent Patterns: Supports actor-based supervision trees, detached durable agents, and branching execution.