Справочник

CLI reference

Режимы запуска SOBA, top-level флаги, provider subcommands и проверочные команды.

Эта страница перечисляет CLI-поверхность SOBA Agent v0.6.x, которая доступна из консоли.


1. Режимы запуска

КомандаНазначение
soba "prompt"One-shot задача с сохранением сессии
sobaИнтерактивный TUI, если процесс запущен в TTY
soba -iЯвно интерактивный TUI
soba -cПродолжить последнюю сессию
soba -rВыбрать сессию через интерактивный selector
soba -s <id> "prompt"Продолжить конкретную сессию
soba --no-session "prompt"Выполнить без сохранения session history

2. Top-level флаги

Session и режимы

ФлагКороткоОписание
--interactive-iЗапустить TUI
--continue-cПродолжить последнюю сессию
--resume-rВыбрать сессию
--session <id>-sОткрыть конкретную сессию
--no-sessionНе сохранять историю на диск

Provider и модель

ФлагКороткоОписание
--model <id>-mПереопределить модель на один запуск; provider/model явно выбирает provider
--api-key <key>-kПереопределить API key на один запуск
--base-url <url>Переопределить OpenAI-compatible base URL

Model ID без квалификатора остаётся на настроенном default provider. Значение openrouter/deepseek/deepseek-v4-flash явно выбирает openrouter и передаёт ему model ID deepseek/deepseek-v4-flash.

Лимиты

ФлагОписание
--budget <n>Ограничить token budget задачи
--max-output-tokens <n>Лимит выходных токенов ответа
--max-tokens <n>Устаревший alias для --max-output-tokens
--max-completion-tokens <n>Лимит reasoning/completion токенов
--context-window <n>Переопределить context window модели
--max-agent-iterations <n>Аварийный лимит model/tool loop iterations
--max-stalled-iterations <n>Итерации без прогресса до stall recovery
--max-run-minutes <n>Максимальная длительность одной задачи
--bash-max-timeout-seconds <n>Верхняя граница timeout для одного вызова bash tool в секундах; по умолчанию 300

Интерфейс и поведение

ФлагОписание
--lang <en|ru|zh>Язык интерфейса
--theme <name>Тема TUI
--no-colorОтключить ANSI-цвета
--no-streamОтключить streaming
--streamВключить streaming явно
--debugЗаписывать loop decisions в session JSONL
--no-auto-compactОтключить proactive compaction

Sound

ФлагОписание
--sound-enabledВключить sound notifications
--no-soundОтключить sound notifications
--sound-volume <0..1>Громкость
--sound-repeatПовторять звук до следующего события/смены состояния

Информация

ФлагКороткоОписание
--help-hПоказать справку
--version-vПоказать версию

3. Proof-команды

Proof bundles сохраняются в .soba/evidence/*.soba-proof.json после accepted finish агента. Текущие proof bundles включают компактный evidence index, finish claims, измененные файлы, checks, commands, permission receipts, risks и review actions. Permission receipts записывают trust level, approval kind, approval value, decision, reason и более безопасные альтернативы, когда SOBA может предложить least-privilege rewrite; auto означает, что trust policy SOBA разрешила вызов без запроса подтверждения. Новые receipts также содержат proofId, runId и SHA-256 integrity.digest. soba verify проверяет schema и content integrity, ссылки supported claims, outcomes команд, порядок mutations, полноту diff, permissions и redaction секретов.

КомандаНазначение
soba proveПоказать последний proof bundle для текущего проекта
soba prove --lastЯвно показать последний proof bundle
soba prove --format markdownВывести последний proof как Markdown
soba prove --format jsonВывести последний proof как JSON с proofPath
soba prove <path>Показать конкретный .soba-proof.json файл
soba verifyПроверить структуру и внутренние ссылки последнего proof bundle
soba verify --format jsonВывести найденные ошибки проверки как JSON
soba verify <path>Проверить конкретный .soba-proof.json файл
soba explain-claim <claim>Объяснить claim из последнего proof с раскрытыми ссылками на evidence
soba explain-claim <claim> --proof <path>Объяснить claim из конкретного .soba-proof.json файла

soba prove, soba verify и soba explain-claim не запускают agent runtime и не требуют credentials провайдера.

У soba verify стабильные policy exits: 0 verified, 1 invalid, 2 partially verified, 3 unverified и 4 blocked. JSON содержит accepted, outcome, reason и exitCode. Legacy receipts без integrity metadata остаются читаемыми, но понижаются до partially_verified с reason legacy_unsealed_proof и exit code 2.


4. Project Memory команды

Project Memory хранится в .soba/memory/. soba memory doctor проверяет persisted knowledge files и memory capsules без запуска agent runtime. Команда показывает количество knowledge files, оценку token usage, provenance источников capsules, stale capsules, отсутствующие источники, ссылки за пределы проекта и битые capsule files.

КомандаНазначение
soba memory doctorПроверить здоровье Project Memory текущего проекта
soba memory doctor --format jsonВывести отчёт как JSON для CI или скриптов
soba memory doctor --format markdownВывести отчёт как Markdown
soba memory staleПоказать только stale или broken memory capsules и связанные issues
soba memory stale --format jsonВывести stale/broken memory receipts как JSON для CI или скриптов
soba memory verifyПроверить Project Memory компактным CI-friendly отчётом
soba memory explain <query>Объяснить релевантные memory capsules, source receipts и doctor issues
soba memory explain <query> --format jsonВывести объяснение как JSON для скриптов

Exit code равен 0 только для состояния healthy. Stale или broken memory возвращает 1 и пишет отчёт в stderr. Для soba memory stale exit code равен 0 только если нет stale или broken capsules и нет memory doctor issues. Для soba memory verify exit code равен 0 только если verification report содержит verified: true. Для soba memory explain exit code равен 0 только если найдена хотя бы одна capsule, которую безопасно использовать; stale, broken или отсутствующие matches возвращают 1.

soba memory doctor, soba memory stale, soba memory verify и soba memory explain не запускают agent runtime и не требуют credentials провайдера.


5. Provider subcommands

Provider registry управляется через sub-route soba provider.

КомандаНазначение
soba provider helpСправка по provider CLI
soba provider listСписок built-in и custom providers
soba provider show <id>Показать provider definition
soba provider use <id>Сделать provider активным
soba provider add <id> ...Добавить custom provider
soba provider remove <id>Удалить custom provider

soba provider add

Поддержанные флаги:

ФлагОписание
--name <name>Человекочитаемое имя
--base-url <url>OpenAI-compatible base URL
--api-key-env <VAR>Env var с API key; пустое значение = keyless provider
--adapter <openai|anthropic>Adapter id; runtime path ориентирован на OpenAI-compatible API
--default-model <id>Default model
--model <spec>Model spec; флаг можно повторять
--from-file <path>Загрузить provider definition из JSON
--set-activeСразу переключиться на добавленный provider

Формат --model:

id=name,contextWindow,maxOutput[,supportsStreaming[,supportsThinking]]

Пример keyless local provider:

soba provider add ollama \
  --base-url http://localhost:11434/v1 \
  --model llama3.1="Llama 3.1",8192,2048 \
  --set-active

8192,2048 — бережные стартовые значения для локальной модели: сначала контекстное окно, затем максимум выходных токенов. Большие значения вроде 128000,8192 могут резко нагрузить память и сильно замедлить ноутбук.


5. Практические команды проверки

soba --version
soba --help
soba prove --last
soba verify --last
soba explain-claim claim_1 --last
soba provider list
soba --no-session --max-agent-iterations 1 "Ответь одним словом: ok"

Для разработки в репозитории:

soba -i --lang ru --theme graphite

6. Direct shell в TUI

В интерактивном режиме shell-команды можно запускать напрямую:

!git status --short
!bun test
!!bun run build

! выполняет команду сразу, !! выполняет команду без вывода в transcript. Если нужно, чтобы агент увидел и проанализировал output, попросите его выполнить команду через обычный prompt — тогда будет использован bash tool.

Что дальше

On this page