🌐 English · Español · Français · Deutsch · 中文 (简体) · Русский · 한국어 · 日本語
Попробуйте прямо сейчас! Прочитайте README и посмотрите, сколько времени у вас уйдёт на то, чтобы запустить AgentiLoop. Если столкнётесь с проблемами, дайте нам знать. Мы будем очень рады вашим отзывам.
Бонус: есть и версия на Go: AgentiLoopGo → https://github.com/AgentiLoop/AgentiLoopGo
Попробуйте обе и расскажите нам, какая справляется лучше: Rust или Go? 🦀 vs 🐹
Нравится проект? Помогите AgentiLoop оставаться быстрым и кроссплатформенным. Поддержите нас на GitHub Sponsors → AgentiLoop. Уровни поддержки и бонусы описаны в руководстве для спонсоров.
AgentiLoop — это ИИ-агент для программирования, который работает в вашем терминале, в духе Claude Code. Вы описываете, что хотите, обычным языком. Агент читает ваши файлы, редактирует код и выполняет команды, чтобы добиться результата, и спрашивает вашего разрешения, прежде чем что-либо изменить.
Он написан на Rust и работает на macOS, Linux и Windows. Он поддерживает Claude (Anthropic), OpenAI, локальные модели через Ollama или LM Studio, а также oMLX на Apple Silicon.
Создано с помощью AgentiLoop Agent! Это наше детище. Готовые сборки для macOS, Linux и Windows доступны на странице Releases, либо вы можете скомпилировать программу из исходников с помощью Rust.
Ничего не нужно настраивать вручную. При первом запуске agentiloop встроенный мастер настройки стартует сам. Он спросит, какого провайдера вы хотите (Claude, OpenAI, Ollama / LM Studio или oMLX), примет ваш API-ключ (ввод скрыт), проверит, что ключ работает, даст выбрать модель и сохранит всё в ~/.agentiloop. Около минуты, никаких файлов конфигурации, никаких строк export.
Запустить его снова можно в любой момент командой agentiloop --setup (добавьте --tui для полноэкранной версии или введите /setup внутри сеанса). agentiloop --reset забывает всё и начинает с чистого листа. Никогда раньше не устанавливали программу для командной строки? Следуйте разделу Впервые здесь? ниже, шаг за шагом.
Без Rust, без Go, без компиляции. Вы скачиваете один файл, указываете API-ключ и начинаете общаться. Выполняйте шаги по порядку.
Сначала выясните, какой файл вам нужен:
| Ваш компьютер | Файл для загрузки |
|---|---|
| Mac с Apple Silicon (M1, M2, M3, M4…) | agentiloop-macos-arm64.tar.gz |
| Mac с процессором Intel | agentiloop-macos-x86_64.tar.gz |
| Linux, 64-битный ПК | agentiloop-linux-x86_64.tar.gz |
| Linux на ARM (Raspberry Pi 4/5, ARM-серверы) | agentiloop-linux-arm64.tar.gz |
| Windows 10/11 | agentiloop-windows-x86_64.zip |
Не уверены? На Mac или Linux выполните uname -m. arm64 или aarch64 означает arm64, а x86_64 — x86_64.
macOS и Linux. Откройте Терминал и вставьте эти строки. В примере используется файл для Apple Silicon, поэтому, если у вас другой, замените macos-arm64 в первых трёх строках:
curl -LO https://github.com/AgentiLoop/AgentiLoopCLI/releases/download/v0.0.7/agentiloop-macos-arm64.tar.gz
tar xzf agentiloop-macos-arm64.tar.gz
mkdir -p ~/.local/bin && mv agentiloop-macos-arm64/agentiloop ~/.local/bin/Так программа окажется в ~/.local/bin — папке в вашем домашнем каталоге. Мастер настройки на шаге 3 предложит указать терминалу искать её там.
Windows. Откройте PowerShell (меню «Пуск» → введите "PowerShell") и вставьте:
Invoke-WebRequest https://github.com/AgentiLoop/AgentiLoopCLI/releases/download/v0.0.7/agentiloop-windows-x86_64.zip -OutFile agentiloop.zip
Expand-Archive agentiloop.zip -DestinationPath $HOME\agentiloop -Force
$p = [Environment]::GetEnvironmentVariable("Path", "User")
[Environment]::SetEnvironmentVariable("Path", "$p;$HOME\agentiloop\agentiloop-windows-x86_64", "User")Последние две строки добавляют AgentiLoop в ваш PATH. Закройте PowerShell и откройте новое окно, чтобы изменение вступило в силу.
AgentiLoop — это агент. «Мозг» — это ИИ-модель, к которой вы его подключаете. Выберите одну:
| Вариант | Где получить | Стоимость |
|---|---|---|
| Claude (рекомендуется) | console.anthropic.com → Create Key. Ключ начинается с sk-ant- |
Оплата по факту использования |
| OpenAI | platform.openai.com/api-keys. Ключ начинается с sk- |
Оплата по факту использования |
| Ollama (работает на вашем собственном компьютере) | Установите с ollama.com, затем выполните ollama pull qwen2.5-coder |
Бесплатно, ключ не нужен |
Сохраните ключ в надёжном месте. Он понадобится вам на следующем шаге.
Вам не нужно редактировать файлы или вводить команды export. В AgentiLoop встроен мастер настройки, который задаст несколько вопросов и сохранит ключ за вас.
Поскольку ~/.local/bin ещё нет в вашем PATH, в этот единственный раз запустите программу по полному пути (в Windows шаг 1 уже настроил PATH, так что просто введите agentiloop):
~/.local/bin/agentiloopВ первый раз, когда ключ ещё не настроен, мастер запускается сам. Это занимает около минуты, и он спрашивает пять вещей:
- Какого провайдера — Claude, OpenAI, локальный OpenAI-совместимый сервер (Ollama, LM Studio, …) или oMLX. Введите номер.
- Ваш API-ключ — ввод скрыт, на экране ничего не отображается. Локальным серверам ключ обычно не нужен; для oMLX на том же Mac мастер берёт ключ из собственных настроек oMLX, так что даже не спрашивает.
- Проверка соединения — мастер сразу обращается к провайдеру. Если ключ неверный, он сообщит об этом и предложит попробовать ещё раз; ничего не сохраняется, пока соединение не заработает.
- Какую модель — выберите одну из списка, который вернул провайдер, или нажмите Enter для модели по умолчанию. Позже её можно в любой момент сменить командой
/model. - Где хранить ключ — нажмите Enter для варианта по умолчанию,
~/.agentiloop/env, приватного файла, который читает только AgentiLoop. (Остальные варианты — для тех, кому ключ нужен ещё и в оболочке или в Связке ключей macOS — описаны в разделе Продвинутый вариант: задать ключ вручную в «Быстром старте».)
В конце мастер заметит, что ~/.local/bin нет в вашем PATH, и предложит добавить его. Нажмите Enter (да). Затем он выводит All set и переводит вас к строке ввода. Вот полный прогон в обычном терминале с выбором Claude и значениями по умолчанию (ваш список моделей будет отличаться):
$ ~/.local/bin/agentiloop
Welcome to AgentiLoop! Let's set things up (about a minute).
Settings are kept in /Users/you/.agentiloop. Run `agentiloop --setup` or `/setup` to redo this, `agentiloop --reset` to start over.
Which model provider do you want to use?
1 Claude (Anthropic) — API key from console.anthropic.com
2 OpenAI — API key from platform.openai.com
3 Ollama, LM Studio or another OpenAI-compatible server (local, usually no key)
4 oMLX (local Apple Silicon server; reads ~/.omlx/settings.json)
Provider [1-4, default 1]: 1
Anthropic API key (starts with sk-ant-, input hidden):
Checking the connection…
Connected (8 model(s) available).
Pick a model (change it any time with /model):
1 claude-sonnet-5 (default)
2 claude-…
3 claude-…
…
Model [1-8, an id, or Enter for claude-sonnet-5]:
Where should the credential be saved?
1 /Users/you/.agentiloop/env (recommended; only agentiloop reads it, file mode 600)
2 Also add it to /Users/you/.zshrc so other tools in your terminal see it
3 macOS Keychain, with a line in /Users/you/.zshrc that reads it (nothing stored in plain text)
Save to [1-3, default 1]:
saved to /Users/you/.agentiloop/env
`/Users/you/.local/bin` is not on your PATH, so `agentiloop` only works with its full path.
Add it to PATH in /Users/you/.zshrc? [Y/n]
updated /Users/you/.zshrc (between `# >>> agentiloop >>>` and `# <<< agentiloop <<<`); it applies to new terminals
All set: anthropic / claude-sonnet-5. Type a request at the prompt, /help for commands, /exit to leave.
Можно начать общение прямо здесь или ввести /exit и перейти к шагу 4. С этого момента простой agentiloop запускается сразу со строки ввода.
Для Claude можно вставить либо обычный API-ключ (sk-ant-api…), либо токен Claude Code (sk-ant-oat01-…, который выдаёт claude setup-token); AgentiLoop сам определит, какой из них вы используете. Если вы выбрали вариант 3 (Ollama, LM Studio, …), мастер также спросит URL сервера и предложит http://localhost:11434/v1 по умолчанию, так что для локальной Ollama достаточно нажать Enter.
Тот же мастер, на весь экран. Мастер работает в том интерфейсе, которым вы пользуетесь. Запустите его с --tui, и те же вопросы появятся внутри полноэкранного интерфейса; по завершении вы уже находитесь у строки ввода:
Запустить заново или переделать можно в любой момент:
agentiloop --setup # мастер в обычном терминале
agentiloop --setup --tui # мастер внутри полноэкранного TUI (как на скриншоте)
/setup # из открытой сессии (REPL или TUI)
agentiloop --reset # забыть всё и начать с чистого листа🔒 Храните ключ в секрете.
~/.agentiloop/envможет прочитать только вы. Не вставляйте ключ в чаты и не добавляйте его в git. На Mac вариант 3 в вопросе «Where should the credential be saved?» сохраняет ключ в Связке ключей, так что он никогда не лежит на диске в открытом виде.
Предпочитаете управлять ключом сами через переменные среды? Это тоже возможно, но это продвинутый путь; см. Продвинутый вариант: задать ключ вручную в разделе «Быстрый старт».
Откройте новое окно терминала, чтобы оно подхватило изменение PATH, сделанное мастером (Windows: новое окно PowerShell). Затем:
agentiloop --versionВы должны увидеть agentiloop 0.0.7. Теперь запустите программу без параметров:
agentiloopОна должна сразу перейти к строке ввода. Если вместо этого снова запускается мастер, ключ не сохранился: пройдите шаг 3 ещё раз.
Перейдите в папку проекта и запустите полноэкранный интерфейс:
Начните с новой пустой тестовой папки, чтобы спокойно всё попробовать. Для настоящего проекта вместо этого перейдите в его папку с помощью cd (например, cd ~/code/my-app).
mkdir -p ~/agentiloop-test
cd ~/agentiloop-test
agentiloop --tuiИспользуете Ollama? Мастер уже запомнил сервер и выбранную вами модель. Чтобы переключиться на другую скачанную модель, введите /model внутри сеанса.
Теперь просто опишите обычными словами, что вы хотите, и нажмите Enter. Несколько хороших запросов для начала:
объясни, что делает этот проект
перечисли файлы в src и скажи, какой из них точка входа
найди комментарии TODO и кратко опиши их
добавь флаг --verbose в парсер командной строки
запусти тесты и исправь всё, что не проходит
создай README.md для этого проекта
Прежде чем изменить файл или выполнить команду, агент спрашивает вас. Нажмите y — «да», n — «нет», a — всегда разрешать этот инструмент в текущем сеансе, или Esc, чтобы пропустить шаг. Нажмите Ctrl-C, чтобы выйти. В следующий раз простая команда agentiloop запустится так же и продолжит ваш последний разговор.
Нужен всего один ответ без чата? Передайте вопрос в качестве аргумента:
agentiloop "explain what this project does"Агент работает с десятью встроенными инструментами. Вам не нужно вызывать их самостоятельно. Вы описываете цель, а агент сам выбирает инструмент:
| Инструмент | Что делает | Спрашивает заранее? |
|---|---|---|
read_file |
Читает файл (с номерами строк) | Нет |
list_dir |
Выводит список файлов в папке | Нет |
glob |
Находит файлы по шаблону имени (*.rs, src/**/*.go) |
Нет |
grep |
Ищет внутри файлов по регулярному выражению | Нет |
web_fetch |
Загружает веб-страницу или ответ API как обычный текст | Да |
todo_write |
Ведёт собственный чек-лист модели для многошаговых задач | Нет |
write_file |
Создаёт новый файл или перезаписывает существующий | Да |
edit_file |
Изменяет точный фрагмент текста в файле | Да |
bash |
Выполняет команду оболочки, например тесты, сборку или git (sh -c на Mac/Linux, cmd /C в Windows) |
Да |
task |
Запускает суб-агента с пустым разговором для самостоятельной задачи (изучение, поиск) и возвращает только его ответ. У него те же инструменты и те же вопросы; собственных суб-агентов он запускать не может | Нет (его собственные вызовы инструментов спрашивают как обычно) |
Нужно больше инструментов, например веб-поиск, базы данных или GitHub? Добавьте MCP-серверы; см. Добавление инструментов через MCP.
agentiloop --help выводит все параметры:
$ agentiloop --help
AgentiLoop — a cross-platform agentic coding loop for your terminal
Usage: agentiloop [OPTIONS] [PROMPT]...
Arguments:
[PROMPT]... One-shot prompt. If omitted, starts an interactive REPL. A lone `-` in it is replaced by what is piped on stdin: `git diff | agentiloop "review this" -`
Options:
-p, --provider <PROVIDER> Model backend: `anthropic`, `openai` (OpenAI-compatible: OpenAI, Ollama, LM Studio, Groq, OpenRouter, … via OPENAI_BASE_URL), `omlx` (local oMLX server, http://localhost:8000/v1), or `codex` (ChatGPT plan via `codex login`). Defaults to the last one used, then auto-detected from which credentials are set [env: AGENTILOOP_PROVIDER=]
-m, --model <MODEL> Model id to use. Defaults to the last model used with this provider (~/.agentiloop/settings.json), then the provider's default [env: AGENTILOOP_MODEL=]
--yes Skip all permission prompts (dangerous; intended for CI). Never remembered [env: AGENTILOOP_YES=]
--max-turns <MAX_TURNS> Max provider round-trips per prompt [default: last used, then 50]
--max-retries <N> Retries of a provider call that fails transiently (rate limit, overloaded, 5xx, dropped connection) before the error is reported; 0 = never retry [env: AGENTILOOP_MAX_RETRIES=] [default: 3]
--compact-at <COMPACT_AT> Summarize the conversation once a request reaches this many input tokens (0 = never) [default: last used, then 80% of the model's context window] [env: AGENTILOOP_COMPACT_AT=]
-C, --cwd <CWD> Working directory the agent operates in (defaults to cwd)
-r, --resume <RESUME> Resume a saved session by id (see /sessions)
-c, --continue Resume the most recent session for this working directory (the default for interactive launches; kept for scripts)
--new Start a new session instead of continuing the last one in this directory
--tui Full-screen terminal UI (ratatui) instead of the line REPL. Remembered [env: AGENTILOOP_TUI=]
--no-tui Use the line REPL even if the TUI was used last time
--no-mcp Don't start MCP servers from ~/.agentiloop/mcp.json / ./.mcp.json [env: AGENTILOOP_NO_MCP=]
--setup Run the first-time setup wizard (provider, key, model). Runs by itself on a machine with no credentials and no ~/.agentiloop
--reset Back to brand new: delete ~/.agentiloop (settings, env, history, sessions, mcp.json), the agentiloop block in your shell profile and Keychain items the wizard created. Asks first unless --yes
--allow-tool <NAME> Run this tool without asking (repeatable or comma-separated; `mcp_*` matches a prefix)
--deny-tool <NAME> Never run this tool; the model is told it was denied (same name rules). Beats --allow-tool and --yes
--plan Plan mode: tools that change something (write_file, edit_file, bash, task, mutating MCP tools) are switched off and the model is asked for a plan instead. Toggle with /plan [env: AGENTILOOP_PLAN=]
--append-system-prompt <TEXT> Extra text added to the end of the system prompt for this run (never saved) [env: AGENTILOOP_APPEND_SYSTEM_PROMPT=]
--json One-shot only: print the answer as one JSON object on stdout (result, is_error, session_id, provider, model, usage) instead of streaming text. Tool activity still goes to stderr
--stream-json One-shot only: print every event as one JSON object per line on stdout as it happens (text_delta, text, tool_call, tool_result, turn, compacted, retry, done), then the same result object as --json with "type": "result". Nothing else is printed
-h, --help Print help
-V, --version Print version
Внутри сеанса введите /help, чтобы увидеть команды чата (/model, /sessions, /resume, /clear, /compact, /mcp, /exit). Полный справочник — в разделах Все параметры и Команды в чате.
| Вы видите | Решение |
|---|---|
command not found: agentiloop |
~/.local/bin нет в вашем PATH. Сначала откройте новое окно терминала; если это не помогло, выполните ~/.local/bin/agentiloop --setup и ответьте «да», когда мастер предложит добавить папку в PATH. В Windows откройте новое окно PowerShell |
Error: no provider credentials found |
Ключ не сохранён. Выполните agentiloop --setup (шаг 3), затем проверьте результат по шагу 4 |
| macOS: "agentiloop" cannot be opened / unidentified developer | Так бывает, если вы скачали файл через браузер, а не через curl. Выполните xattr -d com.apple.quarantine ~/.local/bin/agentiloop |
| Windows: Windows protected your PC | Нажмите More info → Run anyway |
401 / invalid x-api-key / ошибка аутентификации |
Ключ неверный или был вставлен с пробелами либо кавычками. Скопируйте его ещё раз и выполните agentiloop --setup, чтобы ввести заново |
| Ollama: model not found | Выполните ollama list и передайте точное имя через -m |
| Программа продолжает использовать старую модель или провайдера | Она запоминает ваш последний выбор. Передайте -p / -m, чтобы изменить его, или выполните agentiloop --reset, чтобы начать с чистого листа |
Всё ещё не получается? Создайте issue и вставьте команду и текст ошибки. Мы поможем.
Три шага: установите, подключите модель, запустите.
Загрузка: скачайте архив для вашей платформы со страницы Releases, распакуйте его и поместите agentiloop (agentiloop.exe в Windows) в PATH.
Или соберите сами: если у вас ещё нет Rust, установите его с rustup.rs. Затем:
git clone https://github.com/AgentiLoop/AgentiLoopCLI.git
cd AgentiLoopCLI
cargo install --path crates/agentiloop-cliЭта команда соберёт программу и добавит команду agentiloop в ваш PATH, в ~/.cargo/bin.
Не хотите устанавливать? Всё в этом README работает и прямо из папки репозитория. Везде, где вы видите
agentiloop <options>, вводите вместо этогоcargo run -- <options>. Всё, что идёт после--, передаётся AgentiLoop.
AgentiLoop нужна модель, с которой можно общаться. Для этого не нужно задавать никаких переменных среды: просто запустите agentiloop, и встроенный мастер настройки задаст несколько вопросов и сохранит всё за вас. Пошаговое руководство с полным прогоном — выше, в разделе 3. Запустите мастер настройки.
Продвинутый вариант: задать ключ вручную (пропустите, если мастер у вас сработал)
Если вы предпочитаете управлять ключом сами или запускаете AgentiLoop в скрипте или CI, где некому отвечать мастеру, задайте одну из этих переменных среды, и AgentiLoop использует её без вопросов:
| Я хочу использовать… | Что задать |
|---|---|
| Claude (Anthropic) | export ANTHROPIC_API_KEY=sk-ant-... |
| OpenAI | export OPENAI_API_KEY=sk-... |
| Ollama, LM Studio или любой OpenAI-совместимый сервер | export OPENAI_BASE_URL=http://localhost:11434/v1 (адрес вашего сервера; для локальных серверов ключ не нужен) |
| oMLX (локальные модели на Apple Silicon) | Обычно ничего. Запустите oMLX, затем запустите AgentiLoop с -p omlx |
Подробнее про oMLX. Когда oMLX работает на том же Mac, AgentiLoop считывает порт сервера и API-ключ из собственного файла настроек oMLX (~/.omlx/settings.json). Если oMLX работает на другой машине или вы хотите переопределить эти настройки:
export OMLX_BASE_URL=http://192.168.1.50:7777/v1 # адрес сервера oMLX (или OMLX_PORT=7777 для localhost)
export OMLX_API_KEY=... # API-ключ из настроек oMLXЕсли в oMLX отключена проверка API-ключа, ключ не нужен.
export действует только в той вкладке терминала, где вы его ввели. Чтобы настройка сохранилась навсегда, эту строку нужно добавить в профиль оболочки (~/.zshrc на macOS) — именно это и делает за вас вариант мастера «Also add it to ~/.zshrc». Аналогично, вариант мастера «macOS Keychain» — это автоматическая версия вот этого:
# один раз: сохраните ключ в Связке ключей
security add-generic-password -a "$USER" -s ANTHROPIC_API_KEY -w "sk-ant-..."
# в ~/.zshrc: загружать его в каждом новом терминале
export ANTHROPIC_API_KEY="$(security find-generic-password -a "$USER" -s ANTHROPIC_API_KEY -w 2>/dev/null)"Перейдите в проект, над которым хотите работать, и запустите AgentiLoop:
cd ~/my-project
agentiloop --tui--tui открывает полноэкранный интерфейс — мы рекомендуем именно его. Введите, что вы хотите, например «найди, где загружается файл конфигурации, и добавь флаг --verbose», и нажмите Enter.
Вы увидите ответы агента, каждый инструмент, который он использует (🔧), и каждый результат (✓ или ✖). Поле внизу показывает, чем агент занят прямо сейчас, например ✻ Thinking... 12s. Прежде чем записать файл или выполнить команду, он спрашивает вас:
- y: да, на этот раз
- n: нет
- a: всегда разрешать этот инструмент до конца сеанса
- Esc: пропустить этот шаг, но продолжить работу
| Режим | Команда | Для чего подходит |
|---|---|---|
| TUI (полный экран) | agentiloop --tui |
Повседневная работа: прокручиваемая история, статус в реальном времени, кликабельные ссылки |
| Чат (построчно) | agentiloop |
Простые терминалы или если вы предпочитаете обычный текст |
| Разовый запрос | agentiloop "explain this project" |
Один вопрос: программа отвечает и завершает работу. Удобно в скриптах |
Клавиши в TUI: Enter — отправить · ↑ / ↓ — листать предыдущие запросы · PgUp / PgDn или колесо мыши — прокрутка · Ctrl-F — показать или скрыть панель изменённых файлов (колесо над ней прокручивает панель; перетащите её левый край, чтобы изменить ширину) · Esc — остановить текущий запрос (сессия сохраняется) · Ctrl-U — очистить строку · Ctrl-C — выход.
Напишите @ и путь в любом месте запроса, и AgentiLoop приложит этот файл к тому, что получает модель: объясни @src/main.rs отправит вашу фразу плюс текст файла с номерами строк. Папка (@src) прикладывает свой список. Пути относительны папки проекта (или абсолютные, или ~/…); слово, которое ничего не называет, остаётся как есть, так что адреса e-mail в безопасности. Файлы обрезаются на 64 КБ, папки — на 200 записях, а строка 📎 показывает, что было приложено. Работает в TUI, в чате и в разовых запросах.
Начните строку с !, и AgentiLoop выполнит её как команду оболочки, а не отправит модели: !git status, !cargo test, !ls src. Вывод виден сразу и добавляется в разговор, так что можно продолжить словами «исправь эти упавшие тесты» — модель их уже видит. Команда выполняется в папке проекта с той же оболочкой, таймаутом 120 с и лимитом вывода 30 КБ, что и инструмент bash модели. Работает в TUI и в чате.
Начните строку с # , и AgentiLoop сохранит остальное как заметку в AGENTS.md проекта, а не отправит модели: # запускать cargo fmt перед каждым коммитом, # клиент API лежит в src/net. Заметка добавляется пунктом списка под заголовком ## Notes (если файла нет, он создаётся из шаблона /init; существующий CLAUDE.md используется вместо него). Поскольку AGENTS.md попадает в системный промпт, модель следует заметке со следующего запроса и во всех последующих сессиях. Работает в TUI и в чате.
Параметры нужно ввести всего один раз. AgentiLoop сохраняет то, как вы его запустили, поэтому в следующий раз простая команда agentiloop запустится точно так же:
agentiloop -p anthropic --tui # первый раз: выберите провайдера и TUI
agentiloop # дальше: тот же провайдер, та же модель, TUI и ваш последний разговорЧто запоминается:
- Провайдер (
-p) и TUI вкл./выкл. (--tui/--no-tui) - Модель: последняя использованная, отдельно для каждого провайдера. При возврате к провайдеру возвращается и его модель.
- Лимиты:
--max-turnsи--compact-at - Ваш разговор: программа продолжает последний разговор в текущей папке, если в нём использовался тот же провайдер. Прежние сообщения снова отображаются на экране, так что вы можете прокрутить назад и увидеть, на чём остановились
Чтобы что-то изменить, передайте новый параметр. Он применяется сразу и запоминается на будущее:
agentiloop -p omlx # переключиться на oMLX (его последняя модель тоже вернётся)
agentiloop -m <model> # сменить модель
agentiloop --no-tui # вернуться к построчному чату
agentiloop --new # начать новый разговор (старый останется сохранённым)Некоторые вещи намеренно никогда не запоминаются:
--yes: пропуск запросов разрешения каждый раз должен быть осознанным выбором--no-mcp,-Cи разовые запросы- API-ключи: они хранятся в
~/.agentiloop/env(его записывает мастер) или в окружении вашей оболочки, но никогда вsettings.json
Чтобы сбросить всё, выполните agentiloop --reset.
Каждый параметр можно также задать через переменную среды, указанную во втором столбце. Параметр, введённый вручную, всегда важнее запомненного значения.
| Параметр | Переменная среды | Что делает |
|---|---|---|
-p, --provider <name> |
AGENTILOOP_PROVIDER |
anthropic, openai или omlx. Если вы его не укажете, AgentiLoop использует последний или определит его по вашим ключам (сначала Anthropic, затем OpenAI, затем oMLX) |
-m, --model <id> |
AGENTILOOP_MODEL |
Какую модель использовать |
--tui / --no-tui |
AGENTILOOP_TUI |
Включить / выключить полноэкранный интерфейс |
--new |
Начать новый разговор вместо продолжения | |
-c, --continue |
Продолжить последний разговор здесь (уже по умолчанию) | |
-r, --resume <id> |
Снова открыть конкретный разговор (id можно найти с помощью /sessions) |
|
-C, --cwd <folder> |
Работать в другой папке, а не в той, где вы находитесь | |
--yes |
AGENTILOOP_YES |
Не спрашивать перед запуском инструментов. |
--allow-tool <name> |
Запускает этот инструмент без вопросов; повторяйте параметр или используйте запятые. mcp_* совпадает по префиксу. Удобно для CI без --yes |
|
--deny-tool <name> |
Никогда не запускает этот инструмент: модели сообщается об отказе. Приоритетнее --allow-tool и --yes |
|
--plan |
AGENTILOOP_PLAN |
Режим плана: запуск с выключенными инструментами, которые что-то меняют (write_file, edit_file, bash, task, MCP-инструменты не только для чтения). Модель читает и ищет, а затем отвечает нумерованным планом вместо выполнения работы. /plan выключает (или включает) его во время сессии |
--no-mcp |
AGENTILOOP_NO_MCP |
Не запускать MCP-серверы (см. ниже) |
--append-system-prompt <text> |
AGENTILOOP_APPEND_SYSTEM_PROMPT |
Дополнительный текст в конце системного промпта для этого запуска (не сохраняется) |
--json |
С разовым запросом: выводит ответ одним JSON-объектом (result, is_error, session_id, provider, model, usage) в stdout. Работа инструментов остаётся в stderr |
|
--stream-json |
С разовым запросом: печатает каждое событие по мере появления как один JSON-объект на строку в stdout (text_delta, text, tool_call, tool_result, turn, compacted, retry, done), затем тот же объект результата, что и --json, с "type": "result". Больше ничего не печатается. Для редакторов и скриптов, которым нужен прогресс |
|
--setup |
Снова запустить мастер первоначальной настройки (провайдер, ключ, модель). Вместе с --tui он запускается внутри полноэкранного интерфейса |
|
--reset |
Как с нуля: удаляет ~/.agentiloop, блок agentiloop в профиле оболочки и записи Связки ключей, созданные мастером (в Windows — заданные им пользовательские переменные окружения). Написанные вручную строки export только комментируются, и только с вашего согласия. Добавьте --yes, чтобы пропустить вопросы |
|
--max-turns <n> |
Максимальное число шагов агента на один запрос (по умолчанию 50) | |
--max-retries <n> |
AGENTILOOP_MAX_RETRIES |
Сколько раз запрос, упавший по временной причине (лимит запросов, перегрузка, ошибка сервера, оборванное соединение), отправляется заново, прежде чем вы увидите ошибку: через 1 с, 2 с, 4 с… (по умолчанию 3, 0 = никогда). Строка ⟳ retry 1/3 показывает каждую попытку. Не повторяется, если ответ уже начал приходить |
--compact-at <tokens> |
AGENTILOOP_COMPACT_AT |
Когда сжимать длинный разговор в краткое изложение (по умолчанию 150000, 0 = никогда) |
-h / -V |
Справка / версия |
Несколько примеров:
agentiloop -p openai -m gpt-4o-mini "summarize this repo" # один вопрос с конкретной моделью
agentiloop -C ../other-repo --tui # работа над другим проектом
agentiloop --yes "run the tests and fix any failures" # без присмотра, без запросовКакая модель используется? Побеждает первый подходящий вариант:
-mв командной строке- модель разговора, который вы продолжаете
- последняя модель, которую вы использовали с этим провайдером
- модель провайдера по умолчанию:
claude-sonnet-5для Anthropic,gpt-4o-miniдля OpenAI или первая модель, которую предлагает oMLX
Вводите их в строке запроса, в TUI или в чате:
| Команда | Что делает |
|---|---|
!<команда> |
Выполняет команду оболочки прямо здесь и добавляет вывод в разговор (см. Запуск команды оболочки через !) |
# <заметка> |
Сохраняет заметку в AGENTS.md этого проекта под ## Notes (см. Запомнить что-то через #) |
/model |
Показывает доступные модели. /model 3 или /model <id> переключает модель (и запоминает выбор) |
/sessions |
Выводит список сохранённых разговоров, начиная с самых новых |
/resume <n or id> |
Снова открывает один из них |
/clear |
Очищает разговор и начинает новый |
/undo |
Отменяет изменения файлов, сделанные агентом по вашему последнему запросу (изменения через bash не отменяются) |
/rewind [n] |
Показывает список ваших запросов или возвращает к моменту перед запросом n: изменения файлов, сделанные агентом начиная с этого запроса, отменяются, а разговор обрезается в этом месте (изменения через bash не отменяются) |
/todos |
Показывает текущий чек-лист задач модели |
/diff |
Показывает, что изменилось в рабочем дереве git (статус и diff, обрезается на 200 строках) |
/commands |
Свои команды: каждый файл .agentiloop/commands/<name>.md (проект) или ~/.agentiloop/commands/<name>.md становится /<name> и отправляет текст файла как запрос ($ARGUMENTS заменяется введённым после команды, $1–$9 — отдельными словами). Показывает список |
/hooks |
Показывает хуки, загруженные из .agentiloop/hooks.json (см. Хуки) |
/plan [on|off] |
Включает или выключает режим плана (без аргумента — переключает). Пока он включён, инструменты, которые что-то меняют, отказываются работать, а модель отвечает планом; TUI показывает PLAN в строке состояния |
/init |
Создаёт черновик AGENTS.md для текущего проекта (никогда не перезаписывает) |
/export [file] |
Сохраняет разговор в файл Markdown (/export notes.md или имя по умолчанию в папке проекта) |
/compact |
Сразу сжимает разговор в краткое изложение, чтобы освободить место |
/usage |
Показывает токены, израсходованные с запуска, и заполненность контекста |
/status |
Где вы находитесь: папка, провайдер, модель и её лимиты, сессия, режим плана, инструменты (и сколько из них от MCP), хуки, файлы инструкций, настройки и расход токенов |
/mcp |
Показывает подключённые MCP-серверы и их инструменты |
/help |
Выводит список этих команд |
/exit |
Выход |
Модели могут прочитать за раз лишь ограниченный объём текста. Когда разговор становится большим (по умолчанию — когда запрос достигает 150 000 токенов), AgentiLoop просит модель кратко изложить всё сказанное и продолжает работу на основе этого изложения. Когда это происходит, вы увидите пометку 📦. /compact делает это по запросу, а --compact-at 0 отключает эту функцию.
Кэширование промпта (Anthropic). Запросы к Anthropic помечают системный промпт, инструменты и последнее сообщение как кэшируемые, поэтому следующий запрос в том же разговоре переиспользует большую часть промпта вместо повторной оплаты (кэшированная часть стоит примерно десятую часть, а ответ начинается раньше). Настраивать ничего не нужно. /usage показывает, сколько токенов прочитано из кэша и записано в него, а --json сообщает их как cache_read_tokens и cache_write_tokens.
Положите в проект файл AGENTS.md (или CLAUDE.md), и AgentiLoop прочитает его при запуске и будет ему следовать: команды сборки, стиль кода, чего избегать. Поиск идёт в текущей папке, затем в родительских — до корня проекта (папки с .git). Личный ~/.agentiloop/AGENTS.md действует во всех проектах; файл проекта идёт после него и имеет приоритет. Файлы обрезаются на 32 КБ. Строка instructions: <путь> показывает, какие файлы загружены. Строка, состоящая только из @путь (например, @docs/style.md), заменяется текстом этого файла (путь считается от упоминающего файла). Импорты могут вкладываться на три уровня; отсутствующие файлы, циклы и строки внутри блоков кода остаются как есть.
Хук — это shell-команда, которую AgentiLoop запускает за вас в определённый момент: перед запуском инструмента (PreToolUse), после него (PostToolUse) или когда агент завершил запрос (Stop). Положите их в .agentiloop/hooks.json в проекте или в ~/.agentiloop/hooks.json для всех проектов (загружаются оба):
{
"hooks": {
"PreToolUse": [{ "matcher": "bash", "command": "sh .agentiloop/check-command.sh" }],
"PostToolUse": [{ "matcher": "write_file,edit_file", "command": "cargo fmt" }],
"Stop": [{ "command": "osascript -e 'display notification \"done\" with title \"AgentiLoop\"'" }]
}
}matcherзадаёт, к каким инструментам применяется хук, по тем же правилам, что и--allow-tool(имена, префиксыmcp_*,*). Опустите его, чтобы применить ко всем. ХукиStopего игнорируют.- Команда запускается через
sh -c(cmd /Cв Windows) в папке проекта. На stdin она получает один JSON-объект:event,cwd,toolиinput;PostToolUseдобавляетoutputиis_error,Stop—stop_reason. Переменные окруженияAGENTILOOP_HOOK_EVENTиAGENTILOOP_TOOLтоже заданы. - Код выхода 2 говорит с моделью. Хук
PreToolUse, завершившийся с кодом 2, блокирует вызов, а то, что он вывел в stderr, отправляется модели как ошибка. У хукаPostToolUseс кодом 2 stderr добавляется к результату инструмента. Любой другой код игнорируется (ненулевой пишется в лог). Хук убивается через 60 секунд. /hooksпоказывает, что загружено. Сломанный файл сообщается при запуске и пропускается.
Например, этот хук PreToolUse не даёт bash выполнить git push:
#!/bin/sh
# .agentiloop/check-command.sh — stdin — это JSON вызова
if grep -q 'git push' ; then echo "git push из агента запрещён" >&2; exit 2; fiСерверы MCP дают агенту дополнительные инструменты, например доступ к базам данных, веб-поиск или ваши собственные скрипты. Перечислите их в JSON-файле:
~/.agentiloop/mcp.json: доступны во всех проектах.mcp.jsonв папке проекта: только в этом проекте. Если одно и то же имя есть в обоих файлах, приоритет у этого файла.
Формат тот же, что используют Claude Code, Claude Desktop и Agent!, так что вы можете скопировать существующие конфигурации:
{ "mcpServers": {
"Local": { "command": "my-mcp-server", "args": ["--flag"], "env": { "API_KEY": "${MY_KEY}" } },
"Remote": { "url": "https://example.com/mcp", "headers": { "Authorization": "Bearer ${TOKEN}" } }
} }Как это работает:
- Два вида серверов. Сервер с
command— это локальная программа, которую AgentiLoop запускает за вас. К серверу сurlпрограмма обращается по HTTP. Работают и новые серверы "Streamable HTTP", и старые "SSE"; URL, оканчивающийся на/sse(или"transport": "sse"), выбирает старый вариант. - Имена инструментов. Каждый инструмент сервера виден агенту как
mcp_<server>_<tool>, напримерmcp_Local_search. - Секреты.
${VAR}(или${VAR:-default}) подставляется из ваших переменных среды, так что ключи не нужно хранить в файле. - Разрешения. MCP-инструменты запрашивают разрешение, как и любые другие, если только сервер не пометил инструмент как доступный только для чтения.
- Промпты. Сохранённые промпты сервера становятся слеш-командами
/mcp__<сервер>__<промпт>, например/mcp__Local__summarize какой-то текст. Слова после команды по порядку заполняют аргументы промпта (илиимя=значение); текст, который вернул сервер, отправляется как ваш запрос./mcpпоказывает их список. - Отключение серверов. Добавьте
"disabled": true, чтобы пропустить один сервер, или запустите программу с--no-mcp, чтобы пропустить их все. - Безопасность. Обычный
http://разрешён только для localhost; удалённым серверам нуженhttps://.
Введите /mcp, чтобы увидеть, какие серверы подключены, их инструменты и возможные ошибки.
Всё хранится в ~/.agentiloop/. Задайте AGENTILOOP_HOME, чтобы использовать другую папку, например отдельный тестовый профиль.
| Файл | Что в нём |
|---|---|
settings.json |
Запомненные провайдер, модели и параметры, а также то, что мастер записал в другие места |
env |
Ваш ключ, записанный мастером (KEY=value, режим файла 600). Загружается при запуске; export в оболочке имеет приоритет |
sessions/ |
Ваши разговоры, по одному файлу на каждый |
mcp.json |
Ваши MCP-серверы |
hooks.json |
Хуки для всех проектов (к ним добавляется .agentiloop/hooks.json проекта) |
history.txt |
Запросы, которые вы вводили (для ↑ / ↓) |
Они вам понадобятся редко:
| Переменная | Назначение |
|---|---|
ANTHROPIC_BASE_URL |
Отправлять запросы Anthropic через прокси или совместимый сервер |
ANTHROPIC_OAUTH_TOKEN |
Альтернатива ANTHROPIC_API_KEY для токена Claude Code |
OMLX_BASE_URL, OMLX_PORT, OMLX_API_KEY |
Адрес и ключ сервера oMLX. Они переопределяют ~/.omlx/settings.json, который читается по умолчанию (порт 8000, если ни то, ни другое не задано) |
RUST_LOG=debug |
Показывать отладочные логи, включая расход токенов на каждый запрос |
cargo build --release # → target/release/agentiloop
cargo test --workspace # работает офлайн, API-ключи не нужныТесты не обращаются к сети. Цикл агента работает с заранее запрограммированной фиктивной моделью, а потоковые парсеры — с локальным тестовым сервером. MCP-клиент тестируется со встроенным примером сервера по всем трём типам подключения (stdio, HTTP, SSE). Вы можете сами запустить этот сервер, чтобы попробовать MCP вручную:
cargo run -p agentiloop-mcp --example mcp-example-server -- --http 8791 # или --sse 8792, или --stdioПроект разделён на пять крейтов, и каждый из них опирается на предыдущие:
| Крейт | Что в нём |
|---|---|
agentiloop-core |
Сердце проекта: цикл агента, сообщения, интерфейсы инструментов и провайдеров, разрешения, сеансы, сжатие разговоров |
agentiloop-provider |
Общается с моделями: Anthropic, OpenAI-совместимые серверы, oMLX |
agentiloop-tools |
Встроенные инструменты: read_file, write_file, edit_file, list_dir, glob, grep, web_fetch, todo_write, bash |
agentiloop-mcp |
MCP-клиент, перенесённый из AgentMCP на Swift из Agent! |
agentiloop-cli |
Программа agentiloop: параметры, чат, TUI, настройки |
Мы стараемся свести зависимости к минимуму: 18 внешних крейтов, и каждый крейт подключает только те, что ему действительно нужны.
| Крейты | Для чего |
|---|---|
tokio, futures, async-trait |
Параллельное выполнение задач |
serde, serde_json |
Чтение и запись JSON |
reqwest |
HTTP-запросы к моделям и MCP-серверам |
anyhow, thiserror |
Обработка ошибок |
tracing, tracing-subscriber |
Логирование |
dirs |
Поиск вашей домашней папки |
clap |
Параметры командной строки |
rustyline |
Построчный чат |
ratatui, unicode-width, textwrap |
TUI |
pulldown-cmark, syntect |
Markdown и подсветка кода |
- Потоковые ответы
- OpenAI-совместимые провайдеры
- Сжатие длинных разговоров
- Сохранённые разговоры
- Полноэкранный TUI
- MCP-клиент
- Хуки
- Что дальше?
PolyForm Noncommercial 1.0.0. Вы можете использовать, изменять и распространять это программное обеспечение в личных и некоммерческих целях. Коммерческое использование, включая создание или продажу коммерческих версий, остаётся за AgentiLoop. Чтобы получить коммерческую лицензию, свяжитесь с AgentiLoop.
AgentiLoop: agentiloop.ai
Copyright © 2026 AgentiLoop.ai, a Logos InkPen LLC company. All rights reserved.

