Axe CLI
Axe на Go: однозадачные ИИ-агенты описываются в TOML и запускаются из терминала, по каналу оболочки, из cron и хуков git, с памятью и подагентами
- 898 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Агент с инструментом `run_command` выполняет команды оболочки в рабочем каталоге, а `write_file` и `edit_file` меняют файлы
- `url_fetch` и `web_search` ходят в сеть, а ключи провайдеров лежат в `config.toml` или переменных окружения
- Запуск из cron и хуков git идет без вашего подтверждения каждого шага
Установка
В терминале, через 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` показывает собранный контекст: системный промпт, навык, файлы контекста и модель. Вызова провайдера при этом не происходит.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыДоска задач на Rust для терминала: каждая задача идет в своем git worktree и окне tmux, а Claude Code, Codex, Gemini CLI и другие агенты работают вместе
Десять принципов для CLI, которым пользуются агенты, и скилл, по которому агент строит и проверяет такие утилиты
CLI на Go, который настраивает уже установленные у вас ИИ-агенты: дает им общую память, рабочий процесс и детерминированные шаги, не подменяя сами агенты
Команда ИИ-агентов по одному запросу: планирует задачу, пишет код в параллельных ветках, тестирует, проверяет и открывает пull request
CLI для управления несколькими кодовыми агентами: общий конфиг, консоль сессий, локальная память и набор инженерных скиллов
Многоагентная обвязка с проверкой результата по артефактам: стоп-хуки, независимый судья и журнал событий для Claude Code, Codex, Cursor и других
Коротко о README
В репозитории код на Go, примеры агентов в `examples/` (ревьюер кода, генератор сообщений коммитов, краткое изложение текста), проверочные конфигурации агентов для GitHub Actions, `Dockerfile` с `docker-compose.yml`, настройки `goreleaser`, журнал изменений и правила участия. Основная страница описывает принципы, возможности, установку, быстрый старт, справочник команд и флагов, формат TOML, инструменты, навыки, провайдеры и коды выхода.