A durable, replayable coding-agent harness for Python.
1
stars
44
commits
C++
primary language
Sep 7, 2026
updated
A reusable C++23 coding-agent runtime with one event stream for context, replay, resume, and recovery.
A reproducible TUI recording: Ava finds four failing tests, edits the implementation, and verifies the fix. The deterministic local provider keeps each take identical. Click for 1080p.
More TUI recordings: ship a backward-compatible feature · resume a session
Ava's release history highlights the capability added at each stage. See the full Changelog and GitHub Releases for all user-facing changes and release artifacts.
Most coding agents are Python or TypeScript. Embedding one in a native product or running it as a long-lived worker means shipping an interpreter and keeping a second copy of the conversation state. Ava makes the harness a systems component instead: one owner for every stream, process, and durable write, with explicit behavior under cancellation, crash, and restart. See Why C++? for the tradeoffs.
Ava is a headless agent runtime with a streaming terminal UI, one-shot CLI, and Web UI. It supports
Anthropic, OpenAI-compatible endpoints such as DeepSeek and llama-server, and Codex using existing
Codex CLI credentials. Provider adapters feed normalized events into the same agent loop, tool
registry, and session format.
Use Ava as a coding agent, embed one of its C++ modules in a native product, or run the headless runtime as a container worker. The append-only session log drives model context, UI replay, resume, compaction, and crash recovery. Those views are rebuilt from recorded events instead of maintained as separate conversation stores.
[!IMPORTANT] Ava is an alpha release with evolving APIs and formats. Coding-agent use is available through the published container image; embedding Ava's C++ modules still requires a native build toolchain.
co_await boundaries.
One headless runtime, four installable CMake components, and a shared session event stream.
The TUI driven through the built-in local-model provider.
The same headless runtime and session stream projected into the Web UI.
Ava installs four CMake components. A worker, service, IDE, or native developer tool can link only the layer it needs without adopting Ava's CLI or frontends.
| CMake component | C++ module | Reusable capability |
|---|---|---|
Ava::transport | ava.transport | Bounded HTTP, TLS, cancellation, and incremental SSE |
Ava::llm | ava.llm | Provider-neutral model streaming and normalized events |
Ava::tool | ava.tool | Checked schemas and bounded coding-tool execution |
Ava::agent | ava.agent | Durable drive, turn, step, steering, compaction, and recovery |
find_package(Ava CONFIG REQUIRED COMPONENTS agent)
target_link_libraries(my_worker PRIVATE Ava::agent)
Read Architecture for the package contracts and component boundaries.
llama.cpp server.The public API and on-disk formats may still change before 1.0. Please open an issue for bugs and focused feature proposals. Security reports should follow SECURITY.md.
MIT © 2026 Min Liu.
44 commits
C++
81.7%
Python
10.6%
HTML
2.9%
CMake
2.9%
Shell
1.8%
A durable, replayable coding-agent harness for Python.
1
stars
44
commits
C++
primary language
Sep 7, 2026
updated
A reusable C++23 coding-agent runtime with one event stream for context, replay, resume, and recovery.
A reproducible TUI recording: Ava finds four failing tests, edits the implementation, and verifies the fix. The deterministic local provider keeps each take identical. Click for 1080p.
More TUI recordings: ship a backward-compatible feature · resume a session
Ava's release history highlights the capability added at each stage. See the full Changelog and GitHub Releases for all user-facing changes and release artifacts.
Most coding agents are Python or TypeScript. Embedding one in a native product or running it as a long-lived worker means shipping an interpreter and keeping a second copy of the conversation state. Ava makes the harness a systems component instead: one owner for every stream, process, and durable write, with explicit behavior under cancellation, crash, and restart. See Why C++? for the tradeoffs.
Ava is a headless agent runtime with a streaming terminal UI, one-shot CLI, and Web UI. It supports
Anthropic, OpenAI-compatible endpoints such as DeepSeek and llama-server, and Codex using existing
Codex CLI credentials. Provider adapters feed normalized events into the same agent loop, tool
registry, and session format.
Use Ava as a coding agent, embed one of its C++ modules in a native product, or run the headless runtime as a container worker. The append-only session log drives model context, UI replay, resume, compaction, and crash recovery. Those views are rebuilt from recorded events instead of maintained as separate conversation stores.
[!IMPORTANT] Ava is an alpha release with evolving APIs and formats. Coding-agent use is available through the published container image; embedding Ava's C++ modules still requires a native build toolchain.
co_await boundaries.
One headless runtime, four installable CMake components, and a shared session event stream.
The TUI driven through the built-in local-model provider.
The same headless runtime and session stream projected into the Web UI.
Ava installs four CMake components. A worker, service, IDE, or native developer tool can link only the layer it needs without adopting Ava's CLI or frontends.
| CMake component | C++ module | Reusable capability |
|---|---|---|
Ava::transport | ava.transport | Bounded HTTP, TLS, cancellation, and incremental SSE |
Ava::llm | ava.llm | Provider-neutral model streaming and normalized events |
Ava::tool | ava.tool | Checked schemas and bounded coding-tool execution |
Ava::agent | ava.agent | Durable drive, turn, step, steering, compaction, and recovery |
find_package(Ava CONFIG REQUIRED COMPONENTS agent)
target_link_libraries(my_worker PRIVATE Ava::agent)
Read Architecture for the package contracts and component boundaries.
llama.cpp server.The public API and on-disk formats may still change before 1.0. Please open an issue for bugs and focused feature proposals. Security reports should follow SECURITY.md.
MIT © 2026 Min Liu.
44 commits
C++
81.7%
Python
10.6%
HTML
2.9%
CMake
2.9%
Shell
1.8%