Axon ⚡
A fast, observed CLI coding agent with full OpenTelemetry tracing, robust security guardrails, and multiple LLM provider support.
✦ Features
- Multi-Model Support: Switch effortlessly between Google Gemini, Anthropic Claude, OpenAI, and local Ollama models.
- PLAN vs. BUILD Modes:
PLAN: Read-only analysis and research mode (code modification tools disabled).BUILD: Full implementation mode with filesystem editing and terminal execution.
- Built-in Security Guardrails:
- Path traversal protection (cannot escape project root).
- Hardcoded secret file blocklist (
.env*,.git,*.pem,*.key,id_rsa). - Output truncation guard (prevents context window crashes and huge token bills).
- Subprocess environment scrubbing (prevents child terminal commands from seeing API keys).
- Destructive command blocklist (hard-blocks
rm -rf /, fork bombs, disk formatters).
- Full Observability: Native OpenTelemetry tracing and Langfuse dashboard integration for agent turns, latency, token costs, and tool calls.
- Interactive TUI: Built on Textual with live streaming text, tool execution cards, searchable session history (
/sessions), and theme customization (/theme). - Global Setup Wizard: Configure API keys once via
axon setup— saved securely in~/.axon/config.json.
🚀 Quickstart
1. Installation
Install globally via pip or uv:
pip install axon-agent
# or
uv tool install axon-agent
2. Configure API Keys
Run the interactive setup wizard:
axon setup
Enter your API keys (Google Gemini, Anthropic, or OpenAI) and select your default model.
3. Launch Axon
Navigate to any project directory and start coding:
cd ~/my-project
axon
⌨️ Slash Commands
Inside the Axon TUI:
| Command | Description |
|---|---|
/mode |
Toggle between PLAN (read-only) and BUILD (read-write) modes |
/models |
List available models or switch model (/models 2) |
/models add <provider:model> |
Dynamically register a custom model (e.g. ollama:llama3.3) |
/config |
View active configuration and key status |
/sessions |
Browse, search, and resume past sessions |
/theme |
Switch color theme (cyber, sunset, synthwave, matrix) |
/new |
Start a fresh chat session |
/clear |
Clear message history in the current session |
/help |
Show command reference |
⚙️ CLI Options
axon --help
usage: axon [-h] [--mode {PLAN,BUILD}] [--model MODEL] [--cwd CWD]
[--resume SESSION_ID] [--theme {cyber,sunset,synthwave,matrix}]
[--setup] [{setup,config}]
options:
--mode {PLAN,BUILD} Start in PLAN or BUILD mode (default: BUILD)
--model MODEL LLM provider string (e.g. google:gemini-2.5-flash)
--cwd CWD Working directory (default: current directory)
--resume SESSION_ID Resume a previous session by UUID
--theme THEME Theme palette (default: cyber)
--setup Launch interactive setup wizard
🛡️ Architecture & Evals
Axon is tested across a 5-pipeline evaluation framework:
- Correctness: Ground-truth file inspection and deterministic answers.
- Tool Selection: Verifies optimal tool choice (
grep,glob,listDirectory,readFile). - Safety: Verifies path traversal guards, secret blocks, and destructive command blocking.
- Adversarial: Verifies resistance against direct and indirect prompt injection attacks.
- Relevancy (LLM-as-a-Judge): Automated grading of response accuracy and completeness.
📄 License
MIT License. See LICENSE for details.
Metadata
Release files for axon-agent 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| axon_agent-0.2.2.tar.gz | 171.4 kB | Without provenance | Details for axon_agent-0.2.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| axon_agent-0.2.2-py3-none-any.whl | Python 3 | none | any | Details for axon_agent-0.2.2-py3-none-any.whl |
Total release size: 210.2 kB
Release files / axon_agent-0.2.2.tar.gz
| Download URL | axon_agent-0.2.2.tar.gz |
|---|---|
| Size | 171.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4c6b18dcfae8c1e0fe605ffd4d32f735dfa5e7f96155d4a06d134f37eaeea304
|
|
BLAKE2b-256 checksum How to use checksums |
19a59adabf2760d3d04bfdcaa1e6c1ae02427f39f1c15d1019b8809a0fa6f3ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / axon_agent-0.2.2-py3-none-any.whl
| Download URL | axon_agent-0.2.2-py3-none-any.whl |
|---|---|
| Size | 38.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
180eaa05b2e2f4ce74ecdb870d8f19f246a63ad83dce25dc621516ff72a72eba
|
|
BLAKE2b-256 checksum How to use checksums |
687399397d7a3433dec445e96eb2e56c6d60c522fe072a59088026173193c1b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for axon-agent 0.2.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.