axe

Из публичных источников

Легковесный CLI для запуска узкоспециализированных ИИ-агентов. Определяйте сфокусированных агентов в TOML и запускайте их откуда угодно: через каналы (pipes), git-хуки, cron или из терминала.

Машинный перевод · Показать оригинал

A lightweight cli for running single-purpose AI agents. Define focused agents in TOML, trigger them from anywhere; pipes, git hooks, cron, or the terminal.

AI-инструментКатегория: AI-инструментыOpen sourceданные проверены 16 окт. 2026 г.

Обзор

  • ai-agents
  • automation
  • cli
  • command-line
  • developer-tools
  • golang
  • llm

Установка

Команды только показываются, маркетплейс их не выполняет. Сверяйтесь с официальной документацией.
  • Официальный сайтИз публичных источниковиз метаданных каталога
    docs.getaxe.dev/ ↗
  • Файлы официального релизаИз публичных источниковиз последнего официального релиза
    github.com/jrswab/axe/releases/tag/v1.11.0 ↗
  • Сборка из исходниковИз публичных источниковиз метаданных каталога

    Сборка из исходников: проверенного рецепта сборки нет — следуйте инструкциям репозитория.

    github.com/jrswab/axe ↗

Совместимость

«Неизвестно» значит, что доказательств не найдено, а не что продукт несовместим.
ПлатформаСтатусАрхитектураДоказательствоУверенность
WindowsСовместимоx86_64официальная сборка в релизе v1.11.0: axe_1.11.0_windows_amd64.zip0.70
Совместимоarm64официальная сборка в релизе v1.11.0: axe_1.11.0_windows_arm64.zip0.70
macOSСовместимоx86_64официальная сборка в релизе v1.11.0: axe_1.11.0_darwin_amd64.tar.gz0.70
Совместимоarm64официальная сборка в релизе v1.11.0: axe_1.11.0_darwin_arm64.tar.gz0.70
LinuxСовместимоx86_64официальная сборка в релизе v1.11.0: axe_1.11.0_linux_amd64.tar.gz0.70
Совместимоarm64официальная сборка в релизе v1.11.0: axe_1.11.0_linux_arm64.tar.gz0.70
Web browserНеизвестно———
Server / self-hostedНеизвестно———
Container (OCI)Неизвестно———

Релизы

проверено 30 окт. 2026 г.
v1.11.0Последний22 окт. 2026 г.Официальный источник ↗

Файлы версии 1.11.0

Маркетплейс не хранит эти файлы: загрузка идёт из официального источника. Мы их не сканировали.
ФайлПлатформаРазмерSHA-256Скачать из официального источника
axe_1.11.0_darwin_amd64.tar.gzmacos · x86_64 · tarball4 MBfcbb2861f5d1…Официальный источник ↗
axe_1.11.0_darwin_arm64.tar.gzmacos · arm64 · tarball3,7 MBb89f1f96639c…Официальный источник ↗
axe_1.11.0_linux_amd64.tar.gzlinux · x86_64 · tarball3,9 MBa9451231cb2b…Официальный источник ↗
axe_1.11.0_linux_arm64.tar.gzlinux · arm64 · tarball3,6 MBe33d29d308d6…Официальный источник ↗
axe_1.11.0_windows_amd64.zipwindows · x86_64 · zip4,1 MBd2798f9b3ca5…Официальный источник ↗
axe_1.11.0_windows_arm64.zipwindows · arm64 · zip3,6 MB87b9e3589519…Официальный источник ↗
checksums.txtконтрольные суммы576 Be0646e57e8b5…Официальный источник ↗

История релизов

Профиль качества

алгоритм quality-v1.0 · оценено 16 окт. 2026 г.
Оценка качества92
Оценка риска0
Уверенность 1.00
Оценка качества и оценка риска — разные показатели. Высокое качество не гарантирует безопасность.

Составляющие оценки

Поддержка · 2020
last activity 10 days ago
Документация · 1515
README 22473 chars, description present
Готовность к использованию · 1515
install instructions: yes; releases: yes
Метаданные · 1010
4/4 of description, homepage, license, topics
Релизы · 1010
10 release(s), latest 163 days ago
Точность категории · 105
classifier confidence 0.5
Популярность · 107
897 stars (log-dampened, 10k = max)
Ясность лицензии · 55
SPDX Apache-2.0
Сообщество · 55
issues enabled, 35 forks

Лицензия

Apache-2.0
Лицензия известнапо данным хостинга репозитория

Это статус политики каталога, а не юридическое заключение.

Источники

github.com/jrswab/axeОсновной★ 897 звёздактивность 5 окт. 2026 г.Основной репозиторий · Уверенность 1.00

Отзывы

Войдите, чтобы написать отзыв

Отзывов пока нет.

Альтернативы

critПохожий
Просмотр планов, диффов и запущенных приложений AI-агентов для программирования в браузере. Работает локально, совместим с любым агентом.MIT · AI-инструменты
LAPПохожий
Ваши агенты угадывают API. Дайте им настоящую спецификацию Agent-Native. Более 1500 готовых к использованию навыков для API. Компилируйте любую спецификацию API в компактный формат, нативный для агентов. В 10 раз меньше. OpenAPI, GraphQL, AsyncAPI, Protobuf, Postman.Apache-2.0 · AI-инструменты
comandaПохожий
CLI-оркестратор рабочих процессов ИИ-агентов. Запускайте Claude Code, Codex, Gemini CLI и Kimi Code из декларативного YAML. Потому что реальная работа происходит в терминале.MIT · AI-инструменты
sxПохожий
Легкий обмен навыкамиApache-2.0 · AI-инструменты
orlaПохожий
Высокопроизводительный движок выполнения с открытым исходным кодом для агентных рабочих процессовMIT · AI-инструменты
atomicmemoryПохожий
Переносимая семантическая память для ИИ-агентов: ядро, SDK на TypeScript, адаптеры для фреймворков, MCP-сервер, CLI и плагины для хост-приложений.AI-инструменты

README

Из jrswab/axe · лицензия Apache-2.0 · загружено 30 окт. 2026 г.

Axe

[axe banner]

A CLI tool for managing and running LLM-powered agents.

Why Axe?

Most AI tooling assumes you want a chatbot. A long-running session with a massive context window doing everything at once. But that's not how good software works. Good software is small, focused, and composable.

Axe treats LLM agents the same way Unix treats programs. Each agent does one thing well. You define it in a TOML file, give it a focused skill, and run it from the command line. Pipe data in, get results out. Chain agents together. Trigger them from cron, git hooks, or CI. Whatever you already use. No daemon, no GUI, no framework to buy into. Just a binary and your configs.

Overview

Axe orchestrates LLM-powered agents defined via TOML configuration files. Each agent has its own system prompt, model selection, skill files, context files, working directory, persistent memory, and the ability to delegate to sub-agents.

Axe is the executor, not the scheduler. It is designed to be composed with standard Unix tools — cron, git hooks, pipes, file watchers — rather than reinventing scheduling or workflow orchestration.

Features

  • Multi-provider support — Anthropic, OpenAI, Ollama (local models), OpenCode, and AWS Bedrock
  • TOML-based agent configuration — declarative, version-controllable agent definitions
  • Sub-agent delegation — agents can call other agents via LLM tool use, with depth limiting and parallel execution
  • Persistent memory — timestamped markdown logs that carry context across runs
  • Memory garbage collection — LLM-assisted pattern analysis and trimming
  • Skill system — reusable instruction sets that can be shared across agents
  • Stdin piping — pipe any output directly into an agent (git diff | axe run reviewer)
  • Local agent directories — auto-discovers agents from <cwd>/axe/agents/ before the global config, or use --agents-dir to point anywhere
  • Dry-run mode — inspect resolved context without calling the LLM
  • JSON output — structured output with metadata for scripting
  • Built-in tools — file operations (read, write, edit, list) sandboxed to working directory; shell command execution; URL fetching; web search
  • Output allowlist — restrict url_fetch and web_search to specific hostnames; private/reserved IPs are always blocked (SSRF protection)
  • Token budgets — cap cumulative token usage per agent run via [budget] config or --max-tokens flag
  • MCP tool support — connect to external MCP servers for additional tools via SSE or streamable-HTTP transport
  • Configurable retry — exponential, linear, or fixed backoff for transient provider errors (429, 5xx, timeouts)
  • Minimal dependencies — four direct dependencies (cobra, toml, mcp-go-sdk, x/net); all LLM calls use the standard library

Installation

Requires Go 1.25+.

Pre-built binaries (no Go required) are available for Linux, macOS, and Windows on the GitHub Releases page.

Install via Go:

go install github.com/jrswab/axe@latest

If this fails with invalid go version, your Go toolchain is older than 1.25. Upgrade from go.dev/dl or download a pre-built binary instead.

Or build from source:

git clone https://github.com/jrswab/axe.git
cd axe
go build .

Quick Start

Initialize the configuration directory:

axe config init

This creates the directory structure at $XDG_CONFIG_HOME/axe/ with a sample skill and a default config.toml for provider credentials.

Scaffold a new agent:

axe agents init my-agent

Edit its configuration:

axe agents edit my-agent

Run the agent:

axe run my-agent

Pipe input from other tools:

git diff --cached | axe run pr-reviewer
cat error.log | axe run log-analyzer

Examples

The examples/ directory contains ready-to-run agents you can copy into your config and use immediately. Includes a code reviewer, commit message generator, and text summarizer — each with a focused SKILL.md.

# Copy an example agent into your config
cp examples/code-reviewer/code-reviewer.toml "$(axe config path)/agents/"
cp -r examples/code-reviewer/skills/ "$(axe config path)/skills/"

# Set your API key and run
export ANTHROPIC_API_KEY="your-key-here"
git diff | axe run code-reviewer

See examples/README.md for full setup instructions.

Docker

Axe provides a Docker image for running agents in an isolated, hardened container.

Build the Image

docker build -t axe .

Multi-architecture builds (linux/amd64, linux/arm64) are supported via buildx:

docker buildx build --platform linux/amd64,linux/arm64 -t axe:latest .

Run an Agent

Mount your config directory and pass API keys as environment variables:

docker run --rm \
  -v ./my-config:/home/axe/.config/axe \
  -e ANTHROPIC_API_KEY \
  axe run my-agent

Pipe stdin with the -i flag:

git diff | docker run --rm -i \
  -v ./my-config:/home/axe/.config/axe \
  -e ANTHROPIC_API_KEY \
  axe run pr-reviewer

Without a config volume mounted, axe exits with code 2 (config error) because no agent TOML files exist.

Running a Single Agent

The examples above mount the entire config directory. If you only need to run one agent with one skill, mount just those files to their expected XDG paths inside the container. No config.toml is needed when API keys are passed via environment variables.

docker run --rm -i \
  -e ANTHROPIC_API_KEY \
  -v ./agents/reviewer.toml:/home/axe/.config/axe/agents/reviewer.toml:ro \
  -v ./skills/code-review/:/home/axe/.config/axe/skills/code-review/:ro \
  axe run reviewer

The agent's skill field resolves automatically against the XDG config path inside the container, so no --skill flag is needed.

To use a different skill than the one declared in the agent's TOML, use the --skill flag to override it. In this case you only mount the replacement skill — the original skill declared in the TOML is ignored entirely:

docker run --rm -i \
  -e ANTHROPIC_API_KEY \
  -v ./agents/reviewer.toml:/home/axe/.config/axe/agents/reviewer.toml:ro \
  -v ./alt-review.md:/home/axe/alt-review.md:ro \
  axe run reviewer --skill /home/axe/alt-review.md

If the agent declares sub_agents, all referenced agent TOMLs and their skills must also be mounted.

Persistent Data

Agent memory persists across runs when you mount a data volume:

docker run --rm \
  -v ./my-config:/home/axe/.config/axe \
  -v axe-data:/home/axe/.local/share/axe \
  -e ANTHROPIC_API_KEY \
  axe run my-agent

Docker Compose

A docker-compose.yml is included for running axe alongside a local Ollama instance.

Cloud provider only (no Ollama):

docker compose run --rm axe run my-agent

With Ollama sidecar:

docker compose --profile ollama up -d ollama
docker compose --profile cli run --rm axe run my-agent

Pull an Ollama model:

docker compose --profile ollama exec ollama ollama pull llama3

Note: The compose axe service declares depends_on: ollama. Docker Compose will attempt to start the Ollama service whenever axe is started via compose, even for cloud-only runs. For cloud-only usage without Ollama, use docker run directly instead of docker compose run.

Ollama on the Host

If Ollama runs directly on the host (not via compose), point to it with:

  • Linux: --add-host=host.docker.internal:host-gateway -e AXE_OLLAMA_BASE_URL=http://host.docker.internal:11434
  • macOS / Windows (Docker Desktop): -e AXE_OLLAMA_BASE_URL=http://host.docker.internal:11434

Security

The container runs with the following hardening by default (via compose):

  • Non-root user — UID 10001
  • Read-only root filesystem — writable locations are the config mount, data mount, and /tmp/axe tmpfs
  • All capabilities dropped — cap_drop: ALL
  • No privilege escalation — no-new-privileges:true

These settings do not restrict outbound network access. To isolate an agent that only talks to a local Ollama instance, add --network=none and connect it to the shared Docker network manually.

Volume Mounts

Container PathPurposeDefault Access
/home/axe/.config/axe/Agent TOML files, skills, config.tomlRead-write
/home/axe/.local/share/axe/Persistent memory filesRead-write

Config is read-write because axe config init and axe agents init write into it. Mount as :ro if you only run agents.

Environment Variables

VariableRequiredPurpose
ANTHROPIC_API_KEYIf using AnthropicAPI authentication
OPENAI_API_KEYIf using OpenAIAPI authentication
AXE_OLLAMA_BASE_URLIf using OllamaOllama endpoint (default in compose: http://ollama:11434)
AXE_ANTHROPIC_BASE_URLNoOverride Anthropic API endpoint
AXE_OPENAI_BASE_URLNoOverride OpenAI API endpoint
AXE_OPENCODE_BASE_URLNoOverride OpenCode API endpoint
TAVILY_API_KEYIf using web_searchTavily web search API key
AXE_WEB_SEARCH_BASE_URLNoOverride web search endpoint

CLI Reference

Commands

CommandDescription
axe run <agent>Run an agent
axe agents listList all configured agents
axe agents show <agent>Display an agent's full configuration
axe agents init <agent>Scaffold a new agent TOML file
axe agents edit <agent>Open an agent TOML in $EDITOR
axe config pathPrint the configuration directory path
axe config initInitialize the config directory with defaults
axe gc <agent>Run memory garbage collection for an agent
axe gc --allRun GC on all memory-enabled agents
axe versionPrint the current version

Run Flags

FlagDefaultDescription
--model <provider/model>from TOMLOverride the model (e.g. anthropic/claude-sonnet-4-20250514)
--skill <path>from TOMLOverride the skill file path
--workdir <path>from TOML or cwdOverride the working directory
--timeout <seconds>120Request timeout
--max-tokens <int>0 (unlimited)Cap cumulative token usage for the run (exit code 4 if exceeded)
--dry-runfalseShow resolved context without calling the LLM
--verbose / -vfalsePrint debug info (model, timing, tokens, retries) to stderr
--jsonfalseWrap output in a JSON envelope with metadata
-p / --prompt <string>(none)Inline prompt used as the user message; takes precedence over stdin
--agents-dir <path>(auto-discover)Override agent search directory
User Message Precedence

The user message sent to the LLM is resolved in this order:

  1. -p / --prompt flag — If provided with a non-empty, non-whitespace value, it is used as the user message.
  2. Piped stdin — If -p is absent or empty/whitespace-only, piped stdin is used.
  3. Built-in default — If neither -p nor stdin provides content, the default message "Execute the task described in your instructions." is used.

When -p is provided alongside piped stdin, the piped stdin is silently ignored (no warning is emitted). An empty or whitespace-only -p value is treated as absent and falls through to stdin, then the default.

Example:

axe run my-agent -p "Summarize the README"

Exit Codes

CodeMeaning
0Success
1Runtime error
2Configuration error
3Provider/network error
4Token budget exceeded

Agent Configuration

Agents are defined as TOML files in $XDG_CONFIG_HOME/axe/agents/.

name = "pr-reviewer"
description = "Reviews pull requests for issues and improvements"
model = "anthropic/claude-sonnet-4-20250514"
system_prompt = "You are a senior code reviewer. Be concise and actionable."
skill = "skills/code-review/SKILL.md"
files = ["src/**/*.go", "CONTRIBUTING.md"]
workdir = "/home/user/projects/myapp"
max_turns = 75                # optional; defaults to 50 when unset
tools = ["read_file", "list_directory", "run_command"]
sub_agents = ["test-runner", "lint-checker"]
allowed_hosts = ["api.example.com", "docs.example.com"]

[sub_agents_config]
max_depth = 3       # maximum nesting depth (hard max: 5)
parallel = true     # run sub-agents concurrently
timeout = 120       # per sub-agent timeout in seconds

[memory]
enabled = true
last_n = 10         # load last N entries into context
max_entries = 100   # warn when exceeded

[[mcp_servers]]
name = "my-tools"
url = "https://my-mcp-server.example.com/sse"
transport = "sse"
headers = { Authorization = "Bearer ${MY_TOKEN}" }

[params]
temperature = 0.3
reasoning_effort = "low"           # optional; OpenAI and Atlas Cloud only
max_tokens = 4096
# response_format = "json_object"   # text, json_object, or json_schema

[budget]
max_tokens = 50000    # 0 = unlimited (default)

[retry]
max_retries = 3           # retry up to 3 times on transient errors
backoff = "exponential"   # "exponential", "linear", or "fixed"
initial_delay_ms = 500    # base delay before first retry
max_delay_ms = 30000      # maximum delay cap

[[mcp_servers]]
name = "filesystem"
transport = "stdio"
command = "/usr/local/bin/mcp-server-filesystem"
args = ["--root", "/home/user/projects"]

All fields except name and model are optional.

Parameters

reasoning_effort is an optional string. Axe passes it through unchanged without value validation. Empty or omitted values mean the key is not sent. Only OpenAI and Atlas Cloud send it as top-level reasoning_effort. Anthropic, MiniMax, Ollama, OpenCode, Gemini, Bedrock, and OpenRouter ignore it. Supported values depend on the model, for example low, none, high, or max.

OpenAI and Atlas Cloud send temperature when TOML explicitly sets it, including "temperature": 0. When TOML omits temperature, these providers omit the key. Other providers still omit zero temperatures. This changes behavior for OpenAI and Atlas Cloud agents that set temperature = 0.0.

Retry

Agents can retry on transient LLM provider errors — rate limits (429), server errors (5xx), and timeouts. Retry is opt-in and disabled by default.

FieldDefaultDescription
max_retries0Number of retry attempts after the initial request. 0 disables retry.
backoff"exponential"Strategy: "exponential" (with jitter), "linear", or "fixed"
initial_delay_ms500Base delay in milliseconds before the first retry
max_delay_ms30000Maximum delay cap in milliseconds

Only transient errors are retried. Authentication errors (401/403) and bad requests (400) are never retried. When --verbose is enabled, each retry attempt is logged to stderr. The --json envelope includes a retry_attempts field for observability.

Output Allowlist

Agents that use url_fetch or web_search can be restricted to specific hostnames with the allowed_hosts field:

allowed_hosts = ["api.example.com", "docs.example.com"]
BehaviorDetail
Empty or absentAll public hostnames allowed
Non-empty listOnly exact hostname matches permitted (case-insensitive, no wildcard subdomains)
Private IPsAlways blocked regardless of allowlist — loopback, link-local, RFC 1918, CGNAT, IPv6 private
RedirectsEach redirect destination is re-validated against the allowlist and private IP check
Sub-agentsInherit the parent's allowed_hosts unless the sub-agent TOML explicitly sets its own

Token Budget

Cap cumulative token usage (input + output, across all turns and sub-agent calls) for a single run:

[budget]
max_tokens = 50000   # 0 = unlimited (default)

Or override via flag:

axe run my-agent --max-tokens 10000

The flag takes precedence over TOML when set to a value greater than zero.

When the budget is exceeded, the current response is returned but no further tool calls execute. The process exits with code 4. Memory is not appended on a budget-exceeded run.

With --verbose, each turn logs cumulative usage to stderr. With --json, the output envelope includes budget_max_tokens, budget_used_tokens, and budget_exceeded fields (omitted when unlimited).

Response Format

Constrain LLM output to a specific format via the [params] section. Supported by OpenAI and Ollama providers; other providers ignore this setting.

# String shorthand
[params]
response_format = "json_object"

# Table form (required for json_schema)
[params.response_format]
type = "json_schema"
[params.response_format.schema]
name = "my_schema"
type = "object"
TypeDescription
textDefault free-form text output
json_objectValid JSON object (provider-enforced at decoding time)
json_schemaJSON matching the provided schema; requires [params.response_format.schema]

Tools

Agents can use built-in tools to interact with the filesystem and run commands. When tools are enabled, the agent enters a conversation loop — the LLM can make tool calls, receive results, and continue reasoning for up to max_turns turns (default: 50).

Built-in Tools

ToolDescription
list_directoryList contents of a directory relative to the working directory
read_fileRead file contents with line-numbered output and optional pagination (offset/limit)
write_fileCreate or overwrite a file, creating parent directories as needed
edit_fileFind and replace exact text in a file, with optional replace-all mode
run_commandExecute a shell command via sh -c and return combined output
url_fetchFetch URL content with HTML stripping and truncation
web_searchSearch the web and return results
call_agentDelegate a task to a sub-agent (controlled via sub_agents, not tools)

Enable tools by adding them to the agent's tools field:

tools = ["read_file", "list_directory", "run_command"]

The call_agent tool is not listed in tools — it is automatically available when sub_agents is configured and the depth limit has not been reached.

Path Security

All file tools (list_directory, read_file, write_file, edit_file) are sandboxed to the agent's working directory. Absolute paths, .. traversal, and symlink escapes are rejected.

Parallel Execution

When an LLM returns multiple tool calls in a single turn, they run concurrently by default. This applies to both built-in tools and sub-agent calls. Disable with parallel = false in [sub_agents_config].

MCP Tools

Agents can use tools from external MCP servers. Declare servers in the agent TOML with [[mcp_servers]]:

[[mcp_servers]]
name = "my-tools"
url = "https://my-mcp-server.example.com/sse"
transport = "sse"
headers = { Authorization = "Bearer ${MY_TOKEN}" }

At startup, axe connects to each declared server, discovers available tools via tools/list, and makes them available to the LLM alongside built-in tools.

FieldRequiredDescription
nameYesHuman-readable identifier for the server
urlYesMCP server endpoint URL
transportYes"sse" or "streamable-http"
headersNoHTTP headers; values support ${ENV_VAR} interpolation

MCP tools are controlled entirely by [[mcp_servers]] — they are not listed in the tools field. If an MCP tool has the same name as an enabled built-in tool, the built-in takes precedence.

Skills

Skills are reusable instruction sets that provide an agent with domain-specific knowledge and workflows. They are defined as SKILL.md files following the community SKILL.md format.

Skill Resolution

The skill field in an agent TOML is resolved in order:

  1. Absolute path — used as-is (e.g. /home/user/skills/SKILL.md)
  2. Relative to config dir — e.g. skills/code-review/SKILL.md resolves to $XDG_CONFIG_HOME/axe/skills/code-review/SKILL.md
  3. Bare name — e.g. code-review resolves to $XDG_CONFIG_HOME/axe/skills/code-review/SKILL.md

Script Paths

Skills often reference helper scripts. Since run_command executes in the agent's workdir (not the skill directory), script paths in SKILL.md must be absolute. Relative paths will fail because the scripts don't exist in the agent's working directory.

# Correct — absolute path
/home/user/.config/axe/skills/my-skill/scripts/fetch.sh <args>

# Wrong — relative path won't resolve from the agent's workdir
scripts/fetch.sh <args>

Directory Structure

$XDG_CONFIG_HOME/axe/
├── config.toml
├── agents/
│   └── my-agent.toml
└── skills/
    └── my-skill/
        ├── SKILL.md
        └── scripts/
            └── fetch.sh

Local Agent Directories

By default, agents are loaded from $XDG_CONFIG_HOME/axe/agents/. Axe also supports project-local agent directories for per-repo agent definitions.

Auto-Discovery

If <cwd>/axe/agents/ exists, axe searches it before the global config directory. A local agent with the same name as a global agent shadows the global one.

my-project/
└── axe/
    └── agents/
        └── my-agent.toml   ← found automatically

Explicit Override

Use --agents-dir to point to any directory:

axe run my-agent --agents-dir ./custom/agents

This flag is available on all commands: run, agents list, agents show, agents init, agents edit, and gc.

Resolution Order

  1. --agents-dir (if provided)
  2. <cwd>/axe/agents/ (auto-discovered)
  3. $XDG_CONFIG_HOME/axe/agents/ (global fallback)

The first directory containing a matching <name>.toml wins.

Smart Scaffolding

axe agents init <name> writes to <cwd>/axe/agents/ if that directory already exists, otherwise falls back to the global config directory.

Providers

ProviderAPI Key Env VarDefault Base URL
AnthropicANTHROPIC_API_KEYhttps://api.anthropic.com
Atlas CloudATLASCLOUD_API_KEYhttps://api.atlascloud.ai/v1
OpenAIOPENAI_API_KEYhttps://api.openai.com
Ollama(none required)http://localhost:11434
OpenCodeOPENCODE_API_KEYConfigurable
AWS Bedrock(uses AWS credentials)Region-based

AWS Bedrock Configuration:

  • Region: Set via AWS_REGION environment variable or [providers.bedrock] region = "us-east-1" in config.toml
  • Credentials: Uses environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN) or ~/.aws/credentials file (supports AWS_PROFILE and AWS_SHARED_CREDENTIALS_FILE)
  • Model IDs: Use full Bedrock model IDs (e.g., bedrock/anthropic.claude-3-5-sonnet-20241022-v2:0)

Base URLs can be overridden with AXE_<PROVIDER>_BASE_URL environment variables or in config.toml.

For Atlas Cloud, use model names such as atlascloud/qwen/qwen3.8-max in agent TOML.

License

Apache-2.0. See LICENSE.

Открыть репозиторий ↗