This release is a pre-release and may not be stable for production use.
Agent OS Open Source
Agent OS is a local-first execution and review layer for teams using more than one AI coding runtime. It lets Claude, Codex, OpenCode, Ollama, Antigravity, and Prime Agent work against one durable task contract instead of leaving task state scattered across unrelated sessions.
Most coding harnesses optimize a single agent session. Agent OS is for work that must survive provider limits, process crashes, runtime handoffs, and independent review without losing the acceptance contract or confusing a model response with completed work.
Every task has an objective, workspace, constraints, acceptance criteria, attributed attempts, evidence, and review verdicts. A successful process is not enough to close the task: the exact implementation attempt must produce evidence and receive approval from a reviewer backed by a different model provider.
Use Agent OS when you need to:
- switch runtimes when a provider is unavailable without losing task history or repeating work;
- combine local models with cloud coding agents while preserving the real provider/model identity;
- keep an inspectable audit trail of what changed, what was verified, and who approved it;
- recover cleanly from interrupted processes, stale attempts, and concurrent workers; or
- enforce bounded repository work without granting agents permission to push, merge, or deploy.
Under the hood, NVIDIA NOOA defines typed agent roles, Omnigent runs the sandboxed multi-harness graph, and Prime Agent provides an optional persistent runtime. Agent OS joins those capabilities with the durable task ledger and independent review gate needed to operate them as one workflow.
Agent OS task/attempt/review evidence store
|
NOOA typed role definitions
|
+-------------+----------------+----------------+----------------+
| | | |
v v v v
Omnigent bundle Prime Agent OpenCode CLI Codex / Antigravity
Claude + Codex persistent goal local or cloud direct implementations
OpenCode + local Ollama daemon + RLM bounded worker review handoff
Why teams would use it
- One source of task truth. SQLite-backed tasks, attempts, reviews, and append-only events survive across harness sessions and provider changes.
- Provider-independent approval. The review gate binds a verdict to the exact implementation attempt and rejects reviewers backed by the same provider.
- Practical fallback paths. Move from Claude coordination to direct OpenCode/Ollama, Codex, or Antigravity execution without silently retrying or erasing earlier failures.
- Evidence before completion. Reviewers receive bounded working-tree evidence and verification results; an exit code or model claim cannot complete a task by itself.
- Fail-closed recovery. Private transcripts, crash reconciliation, concurrent work exclusion, terminal-event validation, and explicit state transitions prevent ambiguous completion.
- Local and cloud choice. Use a local Ollama builder, subscription-backed CLIs, or cloud models while recording the harness, provider, and model that actually performed the work.
- Inspectable configuration. Typed NOOA roles compile into checked Omnigent specs, and dry runs show the execution plan without exposing task context by default.
Status
Agent OS 0.1.0a1 is a local-first public alpha for bounded repository work. It is not a hosted,
multi-tenant, or unattended production control plane. The task ledger, sandboxed Omnigent and
Antigravity paths, direct OpenCode/Codex fallbacks, provider-independent review gate, and bounded
Prime Agent path are the supported surface.
Install
Python 3.12-3.13, uv, Claude Code, and Codex are expected. OpenCode, Ollama, Antigravity CLI, and
Prime Agent are optional additional environments. Supported framework versions are pinned to NOOA
0.0.8 and Omnigent 0.8.2. Prime Agent is installed separately; this integration is verified against
version 0.7.1. The direct Antigravity path requires agy>=1.1.6 and an existing CLI login.
On Linux, Omnigent's sandbox also requires Bubblewrap:
sudo apt-get install bubblewrap
uv sync --dev
uv run agent-os init
uv run agent-os doctor
Omnigent 0.8.2 requires OpenCode >=1.17.7,<1.18.0; the verified installation is:
npm install --global opencode-ai@1.17.20
Omnigent reuses Claude Code and Codex subscription logins. Agent OS intentionally does not forward
a raw Anthropic API key to Omnigent 0.8.2 because upstream may expose it in a process argument. Run
claude and use /login before the first live task; see Provider setup.
OpenCode cloud runs default to openai/gpt-5. Select another public OpenCode provider/model before
generating the bundle with AGENT_OS_OPENCODE_MODEL, and inject only that provider's credential:
export AGENT_OS_OPENCODE_MODEL="openai/gpt-5"
export OPENAI_API_KEY="..." # preferably injected by your secret manager
uv run agent-os init
The local builder_ollama variant is pinned to ollama/qwen3:14b and does not need a cloud key.
OpenCode must have an ollama provider pointed at http://localhost:11434/v1; see
Provider setup for the exact non-secret config and verification commands.
Create and run a real task
uv run agent-os task create \
--title "Add a repository health command" \
--objective "Add a read-only command that reports config and test readiness." \
--workspace /path/to/target/repository \
--accept "The command exits zero when required tools are present" \
--accept "Tests cover ready and missing-tool cases" \
--constraint "Do not push, merge, deploy, or contact external services"
The command prints a task id. Inspect exactly what the coordinator will receive:
uv run agent-os context tsk_...
uv run agent-os run tsk_... --dry-run
Start the real Omnigent session:
uv run agent-os run tsk_...
uv run agent-os task show tsk_...
The default coordinator and planner use Claude subscriptions. When Claude capacity is unavailable,
OpenCode, Codex, or Antigravity can perform a direct implementation. All three record an
implementation attempt and move the task to needs_review; none approves its own work. The local
OpenCode path uses Ollama without a cloud key, while Codex and Antigravity reuse existing CLI
subscription logins:
uv run agent-os run tsk_... --runtime opencode \
--provider ollama --model ollama/gemma4:26b --timeout-seconds 300
uv run agent-os run tsk_... --runtime codex-review
# Alternative direct subscription-backed builders:
uv run agent-os run tsk_... --runtime codex
uv run agent-os run tsk_... --runtime antigravity
uv run agent-os run tsk_... --runtime codex-review
This is an explicit recovery workflow, not an automatic retry: Agent OS does not launch a second
runtime after a capacity failure because the first process may already have started durable child
work. Inspect the task ledger before choosing a fallback. OpenAI-backed direct Codex or OpenCode
implementations require a later non-OpenAI reviewer. The direct Codex reviewer is for successful
Ollama or Google implementations; it uses Sol by default and can be overridden to Terra or Luna
with --model or AGENT_OS_CODEX_REVIEWER_MODEL.
This direct runtime deliberately does not use Omnigent's Antigravity SDK harness: that upstream path requires a Gemini API key or Vertex credentials rather than the CLI subscription session. See Provider setup for the sandbox, policy, model override, and compatibility details, including the direct OpenCode containment boundary and local model setup.
Or use Prime Agent's persistent runtime with explicit limits:
uv run agent-os run tsk_... --runtime prime-agent \
--provider openai --model openai/gpt-5 \
--token-budget 80000 --max-turns 12 --timeout-seconds 1800
Prime Agent emits JSONL into the attempt transcript and a successful process moves the task only to
needs_review. It does not bypass independent review. Prime Agent is not an OS sandbox; use the
Omnigent path or add external containment for untrusted work.
Child harnesses run with Omnigent's automation mode and OS helpers restricted to the declared
workspace with arbitrary tool network egress denied. For Claude SDK children, Omnigent keeps the
provider client outside the OS helper, disables native Claude tools, and routes file and shell work
through its sandboxed sys_os_* helpers. Agent OS likewise disables Codex's native shell and web
search so Codex repository work uses those constrained dynamic tools.
The prompts also prohibit push, merge, deployment,
external mutation, and broad deletion. Change those defaults only after reviewing the generated
bundle under agents/coordinator/.
Development
uv run pytest
uv run ruff check .
uv run agent-os --bundle agents/coordinator spec check
uv run python scripts/custom_loc.py
agents/**/config.yaml is generated. Edit src/agent_os/definitions.py or the compiler and run
uv run agent-os --bundle agents/coordinator spec sync; do not hand-edit the bundle.
Why this architecture
The upstream frameworks already provide most agent and harness infrastructure. NOOA makes roles testable and typed. Omnigent supplies native harness interoperability, sandboxing, review routing, persistent sessions, policies, and UI. Prime Agent supplies long-running local capabilities such as goals, supervision, schedules, heartbeats, direct messaging, recursive agents, persistent Python, compaction, refinement, and recovery.
The main missing seam is an explicit unit-of-work model that survives across sessions and binds acceptance criteria to attempts, review verdicts, and evidence. The second is a bridge from NOOA's Python-object definitions to Omnigent's YAML agent images. Both are implemented here and measured in the custom infrastructure ledger.
See also:
- Architecture
- Framework capability map
- Upstream research notes
- Verification record
- Prime Agent evaluation
Safety and support
Read the threat model, data-handling contract, security policy, and support policy before enabling a live model run. Agent OS does not provide distributed leases, approval delegation, multi-tenant authentication, or a protected merge/deploy workflow. Prime Agent inherits the invoking user's permissions and is not an OS sandbox.
License
Apache-2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agent_os_opensource-0.1.0a1.tar.gz.
File metadata
- Download URL: agent_os_opensource-0.1.0a1.tar.gz
- Upload date:
- Size: 231.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61ac7fa545a81aca343146595dd11c86f4aacbe56fbae2fd4170894953ca1f3a
|
|
| MD5 |
16f43aae4efc345986b535f40c7b10cd
|
|
| BLAKE2b-256 |
f81ae62be192bb5a09622835bd1d2ecc50a654b8b8df317cc1c61d216f2cbd6c
|
Provenance
The following attestation bundles were made for agent_os_opensource-0.1.0a1.tar.gz:
Publisher:
release.yml on Frantz103/agent-os-opensource
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_os_opensource-0.1.0a1.tar.gz -
Subject digest:
61ac7fa545a81aca343146595dd11c86f4aacbe56fbae2fd4170894953ca1f3a - Sigstore transparency entry: 2424304189
- Sigstore integration time:
-
Permalink:
Frantz103/agent-os-opensource@83cde6d89b3e8b2c9fb746a47a9c03650cd14cf9 -
Branch / Tag:
refs/tags/v0.1.0-alpha.1 - Owner: https://github.com/Frantz103
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@83cde6d89b3e8b2c9fb746a47a9c03650cd14cf9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file agent_os_opensource-0.1.0a1-py3-none-any.whl.
File metadata
- Download URL: agent_os_opensource-0.1.0a1-py3-none-any.whl
- Upload date:
- Size: 47.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61d33de62ba35ef57ff8fcee766d03a6a9cf78f106ce95887708448020ddb7a6
|
|
| MD5 |
8aacda5feccae0d771b38da2631e39b9
|
|
| BLAKE2b-256 |
bf603a2cd4eaeabdbb50526fba0a9e6c0c2e8493c48a2889b454e14e7096f2e4
|
Provenance
The following attestation bundles were made for agent_os_opensource-0.1.0a1-py3-none-any.whl:
Publisher:
release.yml on Frantz103/agent-os-opensource
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
agent_os_opensource-0.1.0a1-py3-none-any.whl -
Subject digest:
61d33de62ba35ef57ff8fcee766d03a6a9cf78f106ce95887708448020ddb7a6 - Sigstore transparency entry: 2424304204
- Sigstore integration time:
-
Permalink:
Frantz103/agent-os-opensource@83cde6d89b3e8b2c9fb746a47a9c03650cd14cf9 -
Branch / Tag:
refs/tags/v0.1.0-alpha.1 - Owner: https://github.com/Frantz103
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@83cde6d89b3e8b2c9fb746a47a9c03650cd14cf9 -
Trigger Event:
release
-
Statement type: