Echolot
Командная строка и CI

echolot agent

Запустите встроенного агента на задачу без приложения, с файлом политики вместо одобрений — для скриптов и CI.

echolot agent даёт задачу встроенному агенту — тому же, что и Ассистент, — и позволяет ему работать с инструментами рабочего пространства, пока он не закончит. Одобрять некому, поэтому всё, что ему можно, решает политика. Используйте его в CI («проверь каждый запрос и сообщи, что не проходит») или в скриптах.

echolot agent [<options>] <task>

<task> — то, что агент должен сделать, обычными словами.

Запуск задачи

export ANTHROPIC_API_KEY=…
echolot agent "Check every request of the Catalog folder and report what fails" -w Alpenglow.echolot

Ответ модели идёт в стандартный вывод по мере написания. В конце в стандартный поток ошибок выводится сводка:

Agent finished: 9 tool calls, 18234 in, 1210 out.

-v дополнительно печатает в стандартный поток ошибок каждый вызов инструмента и его результат (→ send_request …, ← send_request ok in 82 ms). --json вместо этого печатает весь сеанс как JSON: каждое сообщение, вызов инструмента и результат, расход токенов и чем всё закончилось.

Провайдеры и модели

--providerКлюч изМодель
anthropic (по умолчанию)ANTHROPIC_API_KEYclaude-opus-5-5, если --model не говорит иного.
openaiOPENAI_API_KEY--model обязателен.
geminiGEMINI_API_KEY--model обязателен.
openai-compatibleOPENAI_API_KEY, если задан; не нужен--model обязателен. Для Ollama, LM Studio, OpenRouter и других серверов с API OpenAI. --base-url — это сервер; по умолчанию Ollama на этом Mac (http://127.0.0.1:11434/v1).

--key-env называет другую переменную окружения для ключа. Храните ключи в секретах вашего CI или получайте их при запуске команды:

op run --env-file agent-keys.env -- echolot agent "Save every product as CSV" \
  -w Alpenglow.echolot --provider openai --model gpt-5.5 --policy-file ci-policy.toml --json

Бесплатный прогон на вашем Mac:

echolot agent "List the requests that have no checks" -w Alpenglow.echolot \
  --provider openai-compatible --model qwen3:4b

Политики

Инструменты агента — это инструменты MCP-сервера Echolot, с той же защитой: секретные значения никогда не доходят до модели, и всё, что видит модель, проходит через то же вычищение. Что можно каждому виду действий, определяет политика:

--policyЧто выполняется
standard (по умолчанию)Чтение и безопасные отправки (например, GET). Прочие отправки, новые хосты и изменения рабочего пространства отклоняются.
readonlyТолько чтение.
permissiveОтправки и изменения рабочего пространства. Удаление, неизвестные рабочему пространству хосты и отправки в защищённые окружения отклоняются.

Когда человека нет, «спросить» означает «отказать».

Файл политики смягчает или ужесточает базовую политику для каждого вида действий. Он принимает те же правила, что и раздел [agents] рабочего пространства, с обрамляющим [agents] или без него:

# ci-policy.toml: разрешить агенту отправлять что угодно на хосты рабочего пространства, но не менять само рабочее пространство
[rules]
unsafe-send = "allow"
workspace-write = "refuse"
destructive = "refuse"
ДействиеЧто охватывает
readЧтение запросов, ответов, окружений и остального.
safe-sendОтправку запросов, которые ничего не меняют, например GET.
unsafe-sendОтправку запросов, которые могут что-то изменить, например POST или DELETE.
protected-sendОтправку в защищённое окружение.
new-hostОтправку на хост, неизвестный рабочему пространству.
workspace-writeСоздание и изменение запросов, папок, окружений и других файлов.
destructiveУдаление.

Каждое принимает allow, ask или refuse. protected-send и new-host можно ужесточить, но нельзя разрешить безоговорочно.

Файл политики считается вашим, поэтому он может смягчать политику. Собственные правила [agents] рабочего пространства только ужесточают её, если вы не передали --trust-workspace-policy.

Лимиты

--max-steps останавливает прогон после стольких ходов модели (по умолчанию 30). --token-budget останавливает его, когда израсходовано столько токенов. Прогон, остановленный лимитом, завершается с кодом 1.

Параметры

ПараметрЗначение
-w, --workspace <folder>Папка рабочего пространства. По умолчанию — текущая папка.
--env <env>Окружение, которое используют вызовы, не назвавшие своего: имя его файла без .toml.
--provider <provider>anthropic, openai, gemini или openai-compatible. По умолчанию anthropic.
--model <model>Модель; обязательна для каждого провайдера, кроме anthropic.
--base-url <url>URL провайдера, для серверов openai-compatible. По умолчанию — Ollama.
--key-env <name>Переменная окружения с API-ключом, если это не обычная переменная провайдера.
--policy <policy>Базовая политика: standard, readonly или permissive. По умолчанию standard.
--policy-file <file>Файл TOML с правилами для каждого действия (allow, ask, refuse), как раздел [agents] рабочего пространства.
--trust-workspace-policyПозволить правилам [agents] рабочего пространства не только ужесточать политику, но и смягчать её.
--toolsets <list>Группы инструментов для предложения, через запятую, или all: requests (всегда), flows, workspace, environments, specs, mocks, mcp-servers, history, flow-editing. По умолчанию all.
--max-steps <n>Сколько ходов модели, прежде чем прогон остановится. По умолчанию 30.
--token-budget <n>Сколько токенов прогон может израсходовать, прежде чем остановится.
--jsonНапечатать весь сеанс как JSON вместо стенограммы.
-v, --verboseПечатать каждый вызов инструмента и его результат в стандартный поток ошибок.

Наборы инструментов описаны на странице echolot mcp.

Коды выхода

КодКогда
0Модель выполнила задачу.
1Прогон не удался, модель отказалась либо достигнут лимит шагов, бюджет токенов или лимит вывода.
64Неверный параметр, неизвестный провайдер или политика, отсутствующий --model, нет API-ключа или неизвестное окружение.

Данные вашего рабочего пространства уходят провайдеру модели, которого вы выберете. Если они должны остаться на вашем Mac, используйте openai-compatible с сервером на нём.

На этой странице