Axe CLI

Axe на Go: однозадачные ИИ-агенты описываются в TOML и запускаются из терминала, по каналу оболочки, из cron и хуков git, с памятью и подагентами

  • 898 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Широкий доступ

Почему такой уровень

  • Агент с инструментом `run_command` выполняет команды оболочки в рабочем каталоге, а `write_file` и `edit_file` меняют файлы
  • `url_fetch` и `web_search` ходят в сеть, а ключи провайдеров лежат в `config.toml` или переменных окружения
  • Запуск из cron и хуков git идет без вашего подтверждения каждого шага
Все причины и проверки

jrswab/axe

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/axe

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Агент с инструментом `run_command` выполняет команды оболочки в рабочем каталоге, а `write_file` и `edit_file` меняют файлы
  • `url_fetch` и `web_search` ходят в сеть, а ключи провайдеров лежат в `config.toml` или переменных окружения
  • Запуск из cron и хуков git идет без вашего подтверждения каждого шага

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Axe запускает ИИ-агентов как обычные команды Unix. Агент описывается в файле TOML: модель, системный промпт, файл навыка `SKILL.md`, файлы контекста, рабочий каталог, память и список подагентов. Команда `axe run имя-агента` исполняет его один раз и выводит результат. Входные данные подаются по каналу оболочки, например `git diff --cached | axe run pr-reviewer`, или флагом `-p`. Планировщика внутри нет: запуск по расписанию отдается cron, хукам git, CI и другим утилитам. Если агенту выданы инструменты, он входит в цикл вызовов до `max_turns` ходов, по умолчанию их 50. Доступны `list_directory`, `read_file`, `write_file`, `edit_file` внутри рабочего каталога, `run_command` через `sh -c`, `url_fetch` и `web_search`. Подагенты вызываются через `call_agent` с ограничением глубины и параллельным запуском. Внешние инструменты подключаются из MCP-серверов по SSE или streamable-HTTP. Память агента хранится как записи Markdown с отметкой времени, команда `axe gc` сжимает ее с помощью модели. Поддерживаются провайдеры Anthropic, OpenAI, Atlas Cloud, Ollama, OpenCode и AWS Bedrock. Бюджет токенов ограничивает запуск, вывод можно обернуть в JSON с метаданными, а `--dry-run` показывает собранный контекст без вызова модели.

Для кого. Для разработчиков и администраторов, которые хотят встроить небольших ИИ-агентов в конвейеры: ревью диффа, разбор логов, сообщения коммитов, задания по расписанию.

Подходит, если

  • Нужен агент, который проверяет `git diff` перед коммитом и запускается из хука git
  • Логи надо разбирать по расписанию из cron одним сфокусированным агентом
  • Задачу удобно раздать цепочке подагентов с ограничением глубины и параллельным запуском
  • Агентов нужно хранить в репозитории как файлы TOML под контролем версий
  • Нужна локальная модель через Ollama или запуск агента в усиленном Docker-контейнере

Не подходит, если

  • Нужен интерактивный чат с длинной сессией: Axe запускает агента один раз и не держит диалог
  • Нужен встроенный планировщик или оркестратор процессов: Axe только исполняет, расписание остается за cron
  • Вы собираете из исходников на Go старше 1.25: нужна эта версия или готовый бинарник

Пример запроса к агенту

Заведи агента `pr-reviewer` на Axe, чтобы `git diff --cached | axe run pr-reviewer` разбирал изменения перед коммитом и выводил замечания

Ограничения

  • Axe называет себя исполнителем, а не планировщиком: расписание, наблюдение за файлами и цепочки заданий нужно собирать из cron, хуков git и каналов оболочки.
  • Песочница путей действует на файловые инструменты, а `run_command` запускает команды через `sh -c` в рабочем каталоге агента. `url_fetch` и `web_search` можно ограничить списком `allowed_hosts`, частные адреса блокируются всегда.
  • Для `web_search` нужен ключ `TAVILY_API_KEY`, для каждого облачного провайдера свой ключ в переменной окружения или в `config.toml`.
  • Скрипты из `SKILL.md` вызываются по абсолютным путям: `run_command` работает в рабочем каталоге агента, и относительный путь к скрипту навыка не найдется.
  • Повторы при ответах 429 и 5xx по умолчанию выключены, ограничение запроса 120 секунд, а `response_format` учитывают только OpenAI и Ollama.

Как отключить. Удалите бинарник `axe` и каталог настроек, путь к которому выводит `axe config path`. Память агентов лежит в `~/.local/share/axe`, ее тоже можно стереть. Хуки и задачи cron, которые вызывали `axe run`, убираются вручную.

Частые вопросы

Чем Axe отличается от чат-агента вроде Claude Code?

Он не держит длинную сессию с общим контекстом. Каждый агент узкий, описан в TOML и запускается как команда, получает данные из stdin и возвращает результат, а склеиваются агенты средствами оболочки.

Как ограничить расходы на запуск?

Задайте `[budget] max_tokens` в TOML или флаг `--max-tokens`: он считает входные и выходные токены за все ходы и подагентов. При превышении возвращается текущий ответ, новые вызовы инструментов не выполняются, код выхода равен 4.

Как подключить внешние инструменты?

В TOML добавляется блок `[[mcp_servers]]` с именем, адресом, транспортом `sse` или `streamable-http` и заголовками, значения которых подставляются из переменных окружения вида `${MY_TOKEN}`. При старте Axe запрашивает у сервера `tools/list` и отдает инструменты модели.

Как работает память агента?

Каждый запуск при включенной памяти дописывает запись Markdown с временем, а следующие читают последние `last_n` записей, по умолчанию десять. Команда `axe gc имя-агента` сжимает записи моделью, предупреждение появляется при превышении `max_entries`.

Можно ли запускать Axe в контейнере?

Да, в репозитории есть `Dockerfile` и `docker-compose.yml`. Контейнер работает от пользователя с UID 10001, с файловой системой только для чтения и без привилегий, а сеть он при этом не ограничивает. Для работы с Ollama рядом поднимается отдельный сервис.

Что показывает флаг `--dry-run`?

`axe run имя --dry-run` показывает собранный контекст: системный промпт, навык, файлы контекста и модель. Вызова провайдера при этом не происходит.

Обсуждение

Вопросов и отзывов пока нет.

Доска задач на Rust для терминала: каждая задача идет в своем git worktree и окне tmux, а Claude Code, Codex, Gemini CLI и другие агенты работают вместе

CLIШирокий доступ1,7 тыс.Звезды репозитория

Десять принципов для CLI, которым пользуются агенты, и скилл, по которому агент строит и проверяет такие утилиты

СкиллМинимальный доступ2,2 тыс.Звезды репозитория

CLI на Go, который настраивает уже установленные у вас ИИ-агенты: дает им общую память, рабочий процесс и детерминированные шаги, не подменяя сами агенты

CLIРасширенный доступ7,9 тыс.Звезды репозитория

Команда ИИ-агентов по одному запросу: планирует задачу, пишет код в параллельных ветках, тестирует, проверяет и открывает пull request

ВоркфлоуШирокий доступ1 тыс.Звезды репозитория

CLI для управления несколькими кодовыми агентами: общий конфиг, консоль сессий, локальная память и набор инженерных скиллов

CLIШирокий доступ1,7 тыс.Звезды репозитория

Многоагентная обвязка с проверкой результата по артефактам: стоп-хуки, независимый судья и журнал событий для Claude Code, Codex, Cursor и других

CLIШирокий доступ1,4 тыс.Звезды репозитория

Коротко о README

В репозитории код на Go, примеры агентов в `examples/` (ревьюер кода, генератор сообщений коммитов, краткое изложение текста), проверочные конфигурации агентов для GitHub Actions, `Dockerfile` с `docker-compose.yml`, настройки `goreleaser`, журнал изменений и правила участия. Основная страница описывает принципы, возможности, установку, быстрый старт, справочник команд и флагов, формат TOML, инструменты, навыки, провайдеры и коды выхода.

Бейдж для README

Сообщить о проблеме

Foxx AIAxe
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.