Composable and Extensible Agent Operating System for Language Models
Project description
Axiom
A domain-agnostic platform for building federated, AI-powered operational systems.
Axiom is the intelligence substrate — LLM routing, RAG, memory, an agent fleet, federation, and a self-discovering CLI — that domain products build on. Each product brings its own knowledge, agents, and tools; Axiom provides everything underneath. A domain consumer (e.g. a scientific-facility consumer) sits on top as the first layer.
Install
pip install axiom-os-lm
axi config # onboarding wizard: provisions a local llamafile + model
axi status # platform health
axi chat # interactive agent
Architecture
flowchart TB
User["User · laptop / mobile / IDE / MCP client"]
GW["LLM Gateway<br/>tier routing · circuit breakers · audit"]
LLM["Providers<br/>self-hosted Qwen · Claude · OpenAI · Ollama"]
RAG["RAG<br/>pgvector · 3-tier corpus"]
MEM["Composition Memory<br/>CompositionService · MIRIX"]
FLEET["Agent Fleet<br/>14 builtin agents"]
CONN["Connectors<br/>Slack · Teams · Email · M365"]
DATA["Data Platform<br/>Bronze / Silver / Gold"]
FED["Federation<br/>node identity · trust · A2A · .axiompack"]
PG["PostgreSQL + pgvector<br/>schema-per-extension (ADR-052)"]
User --> GW
GW --> LLM
GW --> RAG
GW --> MEM
GW --> FLEET
FLEET --> CONN
FLEET --> DATA
FLEET --> FED
RAG --> PG
MEM --> PG
DATA --> PG
style User fill:#e3f2fd,color:#000000,stroke:#1976d2
style GW fill:#fff3e0,color:#000000,stroke:#f57c00
style LLM fill:#f5f5f5,color:#000000,stroke:#616161
style RAG fill:#e8f5e9,color:#000000,stroke:#388e3c
style MEM fill:#e8f5e9,color:#000000,stroke:#388e3c
style FLEET fill:#f3e5f5,color:#000000,stroke:#7b1fa2
style CONN fill:#e0f2f1,color:#000000,stroke:#00897b
style DATA fill:#e0f2f1,color:#000000,stroke:#00897b
style FED fill:#fff9c4,color:#000000,stroke:#f9a825
style PG fill:#f5f5f5,color:#000000,stroke:#616161
linkStyle default stroke:#777777,stroke-width:2px
Nodes join the federation independently at any tier — a laptop, a private GPU server behind a VPN, or an HPC cluster for isolated workloads. A domain product (a consumer layer) sits on top, extending the platform through AEOS extensions.
What Axiom Provides
| Capability | What it is |
|---|---|
| LLM Gateway | Multi-provider routing with tier classification, private-network checks, circuit breakers, and audit logging |
| RAG | Three-tier corpus (community / organization / personal), pgvector embeddings, hybrid vector + full-text search, grounding hooks |
| Composition Memory | MemoryFragment with immutable (T,U,A,R) provenance and the MIRIX 6-type taxonomy, behind a single CompositionService (ADR-026/027) |
| Agent Fleet | 14 builtin agents coordinating read → reason → act → publish (see below) |
| Federation | Ed25519 node identity, peer discovery, trust graph, .axiompack portable knowledge bundles, A2A agent cards |
| Connectors | Uniform inbound/outbound connectors for Slack, Teams, Email, and Microsoft 365, with a common descriptor for adding more (ADR-068) |
| Data Platform | Medallion ingest + storage via the data_platform extension: Bronze sinks, a pgvector vector store, and a source registry (Box and more); heavier lakehouse query tiers (DuckDB / Iceberg) install via the optional [data-platform] extra |
| Scheduling & Secrets | App-level scheduler with cadences (PULSE) and a pluggable secret/vault backend (KEEP / OpenBao) |
| Extensions (AEOS) | Every capability is an extension conforming to the Agent Extension Open Standard; the CLI, MCP catalog, and agents discover them from manifests |
| CLI | 40+ purpose-named nouns with availability-aware dispatch (ADR-047) — verbs whose backing service is unreachable are hidden, not broken |
The Agent Fleet
Agents are LLM personas with deterministic guardrails; the CLI nouns are their purpose-named "arms and legs" (ADR-056 — axi hygiene, not axi tidy).
| Agent | Role | Primary CLI surface |
|---|---|---|
| AXI | Interactive assistant + work routing | axi chat |
| SCAN | Signal ingestion & extraction (events → structured signals) | axi signal |
| CURIO | Deep research & knowledge synthesis | axi research, axi knowledge |
| PRESS | Document publishing & content gating | axi publish |
| HERALD | Outbound comms / multi-channel notifications | axi notifications |
| TIDY | Workspace & repo hygiene (steward) | axi hygiene |
| RIVET | CI/CD monitoring & releases | axi release |
| TRIAGE | Diagnostics & security scanning | axi doctor, axi triage |
| GUARD | Authorization & policy decisions | axi audit |
| KEEP | Capability tokens & secret/vault management | axi secrets, axi vault |
| PULSE | Scheduling & cadences | axi schedule |
| PLINTH | Data platform (medallion tiers) | axi data |
| REV-U | Review workflows | axi review |
| CHALKE | Classroom orchestration (Keplo) | axi classroom |
Quick Start
pip install axiom-os-lm
axi config # provision local model, write config
axi status # health dashboard
axi chat # multi-turn agent with tool calling + RAG
axi rag ingest ./docs/ # index documents into the corpus
axi rag search "how does retry work?" # hybrid search over the knowledge base
axi connect # set up an external connection (Slack/M365/Box/…)
axi federation init # create this node's identity and join a cohort
axi doctor # AI-assisted diagnostics
Bundled local model
axi config provisions a single-binary llamafile and a local weights file in ~/.axi/llamafile/ so the platform runs without a cloud key. Run axi config --model <name> to choose a different bundled model; the LLM Gateway routes to self-hosted, private-network, or cloud providers per request tier.
Extensions (AEOS)
Everything non-core is an extension conforming to the Agent Extension Open Standard. The CLI, MCP catalog, and agents discover commands, skills, tools, and agents from an axiom-extension.toml manifest:
[extension]
name = "my-extension"
version = "0.1.0"
description = "What it does"
license = "Apache-2.0"
[[extension.provides]]
kind = "cmd" # cmd · agent · tool · service · adapter · skill · hook
noun = "myext"
entry = "my_extension.cli:main"
description = "My custom commands"
CLI verbs are thin wrappers over skill functions ((params, ctx) -> SkillResult, ADR-056), so the same capability is callable from the CLI, from a peer agent over A2A, and from an external harness over MCP. Discovery tiers: builtin (src/axiom/extensions/builtins/) → installed PyPI packages → user (~/.axi/extensions/). Scaffold one with axi ext init <name>; check conformance with axi ext lint.
Domain Products
Axiom is domain-agnostic. Domain products add the knowledge, agents, and tools for their field:
| Product | Domain |
|---|---|
| (a domain consumer) | A scientific facility (experiment + processing lifecycle, digital twin) |
| (your product) | Any domain |
Development
git clone https://github.com/b-tree-labs/axiom-os.git
cd axiom-os
pip install -e ".[all]"
pytest # tests (TDD is the house rule)
ruff check src/ tests/ # lint
python -m build # wheel + sdist
See CLAUDE.md for architecture, conventions, and the load-bearing ADRs.
Documentation
| Document | Description |
|---|---|
| CLAUDE.md | Architecture, conventions, ADR index |
| AEOS spec | Agent Extension Open Standard |
| CLI spec | Full command reference |
| Federation spec | Multi-node protocol |
| RAG architecture | Knowledge retrieval design |
| Agent architecture | Agent capabilities |
Contributing
Contributions are welcome — code, extensions, docs, and good bug reports.
- CONTRIBUTING.md — setup, the house rules (TDD, AEOS, domain-agnostic core), the AI-assisted-contributions policy, and the DCO.
- GOVERNANCE.md — how decisions get made and what we optimize for.
- SUPPORT.md — where to ask questions (best-effort, volunteer-run).
- SECURITY.md — report vulnerabilities privately; supply-chain posture and coordinated disclosure.
- Code of Conduct — be excellent to each other.
License
Apache-2.0 — see LICENSE.
Acknowledgments
Developed at an academic institution and released as open source under Apache-2.0 with the institution's technology-transfer approval.
Copyright (c) 2026 The University of Texas at Austin and B-Tree Labs. Apache-2.0 licensed.
Project details
Release history Release notifications | RSS feed
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 axiom_os_lm-0.32.0.tar.gz.
File metadata
- Download URL: axiom_os_lm-0.32.0.tar.gz
- Upload date:
- Size: 6.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2eeb66fe3d9e50523a44f2c3fc955e6ebb2161195b293873814f76b6c8d0f33f
|
|
| MD5 |
c1705c3b876e59e6dd74f2c42cc9be24
|
|
| BLAKE2b-256 |
5ba4795b77d9017bb1dbad172ce0d9e6b567f2b81f2c835a1f1983d9425a844e
|
Provenance
The following attestation bundles were made for axiom_os_lm-0.32.0.tar.gz:
Publisher:
publish.yml on b-tree-labs/axiom-os-private
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
axiom_os_lm-0.32.0.tar.gz -
Subject digest:
2eeb66fe3d9e50523a44f2c3fc955e6ebb2161195b293873814f76b6c8d0f33f - Sigstore transparency entry: 2056729952
- Sigstore integration time:
-
Permalink:
b-tree-labs/axiom-os-private@976b9961c6631dfdd7fd17202add3616832be85a -
Branch / Tag:
refs/tags/v0.32.0 - Owner: https://github.com/b-tree-labs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@976b9961c6631dfdd7fd17202add3616832be85a -
Trigger Event:
push
-
Statement type:
File details
Details for the file axiom_os_lm-0.32.0-py3-none-any.whl.
File metadata
- Download URL: axiom_os_lm-0.32.0-py3-none-any.whl
- Upload date:
- Size: 4.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
08cef8d0da610c472db5bf246aca11f872590f6b435534e84dc4248840b3597c
|
|
| MD5 |
9778074a409eaf8cecb71c4b7ab04dc7
|
|
| BLAKE2b-256 |
44bcf5a9584dc8e34c9014eb6b1ca4dbe81d45215a161fe3284a18270bbf71f0
|
Provenance
The following attestation bundles were made for axiom_os_lm-0.32.0-py3-none-any.whl:
Publisher:
publish.yml on b-tree-labs/axiom-os-private
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
axiom_os_lm-0.32.0-py3-none-any.whl -
Subject digest:
08cef8d0da610c472db5bf246aca11f872590f6b435534e84dc4248840b3597c - Sigstore transparency entry: 2056730503
- Sigstore integration time:
-
Permalink:
b-tree-labs/axiom-os-private@976b9961c6631dfdd7fd17202add3616832be85a -
Branch / Tag:
refs/tags/v0.32.0 - Owner: https://github.com/b-tree-labs
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@976b9961c6631dfdd7fd17202add3616832be85a -
Trigger Event:
push
-
Statement type: