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.
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 axon_agent-0.2.1.tar.gz.
File metadata
- Download URL: axon_agent-0.2.1.tar.gz
- Upload date:
- Size: 171.1 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dea8b224459b491d3e8ea7d63e23e98a15ae110c6967f5e577c782ab82cc7c9f
|
|
| MD5 |
126d907fa867c72ee67212fae6b2f4cb
|
|
| BLAKE2b-256 |
fc0198aa1f6cd65e785f24dbea5d4cf8365deb78c981adb4c8a5ae22c05cb7b7
|
File details
Details for the file axon_agent-0.2.1-py3-none-any.whl.
File metadata
- Download URL: axon_agent-0.2.1-py3-none-any.whl
- Upload date:
- Size: 39.1 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bfc766d4c40abf09bf882ad4507273bd74375a9bc33bd7bd565d4c6046bd8aa
|
|
| MD5 |
b50175a00e711ab39025a2b90beb891d
|
|
| BLAKE2b-256 |
275e46dc0b43fada1ae6c4f6cbeb7fb9d9d581874fc64616dc5be4a643736994
|