Skip to content

Repository files navigation

AX

A fast, lightweight AI agent for the terminal, built in Rust.

License: MIT OR Apache-2.0 Rust 1.92+

AX is a small, native terminal agent. It starts fast, streams responses, and keeps sessions, memory, credentials and model config on your machine — no service to sign up for, no remote telemetry.

  • Rust native — one binary, no runtime, no Node, no Docker.
  • Fast startup — providers, skills, MCP servers and memory load on demand.
  • Standard skills and focused tools — Agent Skills SKILL.md packages with lazy instructions and optional resources, read-only web search/fetch, LSP through configurable MCP servers, and native image input on supported vision models.
  • Small binary — a compact workspace of focused crates, not a framework.
  • Simple workflow — type, get an answer, switch models, move on.
  • Local-first — everything lives in ~/.ax and your project's .ax.

No benchmarks are published yet; "fast" here means the startup path does as little as possible by design.

Portable backups: ax export backup.axpack saves sessions and memory; use --memory or --sessions to select one type. Run ax import backup.axpack --dry-run to inspect conflicts, then ax import backup.axpack to merge. Credentials and caches are excluded. See backup details.

Quick Start

Installing and running AX

Mac or Linux:

curl -fsSL https://raw.githubusercontent.com/Axium-Labs/AX/main/scripts/install.sh | sh

Windows:

powershell -ExecutionPolicy Bypass -c "iex ((iwr 'https://raw.githubusercontent.com/Axium-Labs/AX/main/scripts/install.ps1' -UseBasicParsing).Content)"

Then simply run:

ax

Your first session:

/login      # sign in with a provider (Codex OAuth or an API key)
/model      # pick a model
hello       # just start typing

That's it. Your session is saved automatically, and the model you pick is remembered for next time.

Installation

The installer fetches the latest release from GitHub, verifies the archive against the release's SHA256SUMS, and installs a single ax / ax.exe binary:

  • macOS / Linux — installs to ~/.local/bin by default and prints a PATH hint if that directory is not already on your PATH.
  • Windows — installs to %LOCALAPPDATA%\Programs\AX\bin by default and adds it to your user PATH (only if it is not there already).

Both installers accept two environment variables:

Variable Purpose
AX_VERSION Install a specific release tag instead of latest (e.g. AX_VERSION=v0.1.0)
AX_INSTALL_DIR Override the install directory

To update the executable you are currently running to the latest GitHub Release, run ax --update. AX checks the release version, verifies the download against SHA256SUMS, and replaces only that executable. On Windows, the verified update is scheduled for replacement after the command exits; restart AX before using the new version. The command does not change your ~/.ax user data or any project's .ax directory. If you installed a separate copy using AX_INSTALL_DIR, run that copy's ax --update to update it. A push to main alone is not a release; the release workflow runs for v* tags.

AX_VERSION=v0.1.0 curl -fsSL https://raw.githubusercontent.com/Axium-Labs/AX/main/scripts/install.sh | sh
AX_INSTALL_DIR="$HOME/bin" curl -fsSL https://raw.githubusercontent.com/Axium-Labs/AX/main/scripts/install.sh | sh
powershell -ExecutionPolicy Bypass -c "$env:AX_VERSION='v0.1.0'; iex ((iwr 'https://raw.githubusercontent.com/Axium-Labs/AX/main/scripts/install.ps1' -UseBasicParsing).Content)"

Uninstall

Removing AX is just deleting the binary (and, on Windows, the PATH entry the installer added). AX keeps its data separately in ~/.ax, which you can delete too if you want a clean slate.

macOS / Linux

rm -f ~/.local/bin/ax        # or wherever AX_INSTALL_DIR pointed
rm -rf ~/.ax                 # config, sessions, memory, model catalog (optional)

Windows

Remove-Item -Force "$env:LOCALAPPDATA\Programs\AX\bin\ax.exe"
# remove the installer's PATH entry (optional but tidy)
$p = [Environment]::GetEnvironmentVariable('Path', 'User')
[Environment]::SetEnvironmentVariable('Path', ($p -split ';' | Where-Object { $_ -notlike '*Programs\AX\bin*' }) -join ';', 'User')
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\AX"   # leftover dir (optional)

Development

Build from source

Requires Rust 1.92+.

git clone https://github.com/Axium-Labs/AX.git
cd AX
cargo build --release
# binary at target/release/ax.exe (Windows) or target/release/ax (Unix)

Providers & Models

AX discovers providers from what is already on your machine — credentials in ~/.ax/auth.json and standard environment variables like DEEPSEEK_API_KEY. No network call happens during startup.

Provider Credential How to use
OpenAI Codex OAuth login /login → Codex OAuth
DeepSeek API key /login → API key, or DEEPSEEK_API_KEY
OpenAI API key /login → API key, or OPENAI_API_KEY
OpenAI-compatible vendors (Groq, Mistral, OpenRouter, etc.) Provider API key /login → provider, or its API-key environment variable

Models are discovered dynamically into ~/.ax/models/ (a bundled catalog plus a per-provider refresh cache). Switch anytime with /model; the last selection — provider, model and reasoning effort — is persisted to ~/.ax/config.json and restored on the next launch.

To pick a provider explicitly from the command line:

ax --provider deepseek
ax --provider openai-codex --model <model-id>
ax run "explain this repo" --provider deepseek

Usage

Start the UI (default):

ax

Run one task and exit (non-interactive):

ax run "summarize the TODOs in ./src"

Run independent tasks with bounded concurrency:

ax agents "review pr #12" "write changelog" --concurrency 2

Design

Fast. Lightweight. Simple.

AX deliberately does not load everything up front. Skills, MCP servers, providers and memory are all activated only when the task actually needs them — so the things that make an agent powerful never get in the way of starting it or of a normal conversation. The trade-off is intentional: capability is loaded on demand, not at startup.

Documentation

The internal architecture — agent loop, context management, multi-agent scheduling, SQLite schema, module layout — is documented in docs/README.md. Start with docs/architecture.md.

License

MIT OR Apache-2.0.

About

A fast, lightweight Cli.

Resources

Stars

15 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages