参考

CLI 参考

SOBA 的启动模式、顶层标志、provider 子命令和检查命令。

本页列出可以在控制台中使用的 SOBA Agent v0.6.x CLI。


1. 启动模式

命令作用
soba "prompt"执行一次性任务,并保存会话
soba当进程运行在 TTY 中时,进入交互式 TUI
soba -i显式进入交互式 TUI
soba -c继续最近的会话
soba -r通过交互式选择器选择会话
soba -s <id> "prompt"继续指定会话
soba --no-session "prompt"执行时不保存会话历史

2. 顶层标志

会话和模式

标志简写说明
--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>限制回答的输出 token
--max-tokens <n>--max-output-tokens 的 deprecated alias
--max-completion-tokens <n>限制 reasoning/completion token
--reasoning-effort <level>请求 defaultnoneminimallowmediumhighxhighmax
--reasoning-budget <n>请求正整数 reasoning budget
--reasoning-enabled启用 toggle-based reasoning control
--no-reasoning在模型支持时关闭 reasoning
--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>单次 bash tool 调用的最大 timeout,单位是秒;默认 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-enabled启用声音通知
--no-sound关闭声音通知
--sound-volume <0..1>音量
--sound-repeat重复播放声音,直到下一个事件或状态变化

信息

标志简写说明
--help-h显示帮助
--version-v显示版本

3. Proof 命令

Agent accepted finish 后,proof bundles 会保存到 .soba/evidence/*.soba-proof.json。 当前 proof bundles 包含紧凑 evidence index、finish claims、changed files、checks、commands、permission receipts、risks 和 review actions。 Permission receipts 会记录每个已执行 tool call 的 trust level、approval kind、approval value、decision、reason,以及 SOBA 能够建议 least-privilege rewrite 时的更安全替代方案;auto 表示 SOBA trust policy 无需提示即可允许该调用。 新 receipts 还包含 proofIdrunId 和 SHA-256 integrity.digestsoba verify 会检查 schema 与 content integrity、supported claim 引用、命令 outcomes、mutation 顺序、diff 完整性、permissions 和 secret redaction。

命令作用
soba prove显示最新 proof 的紧凑 已验证 / 需要注意 verdict
soba prove --last显式显示最新 proof bundle
soba prove --verbose显示 contract-level IDs、digests、commands 和 evidence references
soba prove --format markdown以 Markdown 渲染最新 proof
soba prove --format json以 JSON 输出最新 proof,并包含 proofPath
soba prove <path>显示指定的 .soba-proof.json 文件
soba verify运行严格 policy validation,并显示紧凑结果
soba verify --verbose显示所有 validation counts 和 issues
soba verify --format json以 JSON 输出校验问题
soba verify <path>校验指定的 .soba-proof.json 文件
soba explain-claim 1解释界面显示的第一项声明,无需复制内部 ID
soba explain-claim <claim> --verbose显示声明的完整 evidence references
soba explain-claim <claim> --proof <path>展开指定 .soba-proof.json 文件中的某个 claim

soba provesoba verifysoba explain-claim 不启动 agent runtime,也不需要 provider credentials。 Human output 默认保持紧凑。--verbose 会恢复技术细节,而 JSON schemas 和 exit codes 对自动化保持不变。

soba verify 使用稳定的 policy exits:0 verified、1 invalid、2 partially verified、3 unverified、4 blocked。JSON 输出包含 acceptedoutcomereasonexitCode。没有 integrity metadata 的 legacy receipts 仍可读取,但会降级为 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 file 数量、估算 token usage、capsule source provenance、stale capsules、缺失 source、指向项目外部的 source,以及损坏的 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以 JSON 输出 stale/broken memory receipts,便于 CI 或脚本使用
soba memory verify用紧凑的 CI-friendly 报告校验 Project Memory 健康状态
soba memory explain <query>解释相关 memory capsules、source receipts 和 doctor issues
soba memory explain <query> --format json以 JSON 输出解释,便于脚本使用

只有状态为 healthy 时 exit code 才是 0。Stale 或 broken memory 会返回 1,并把报告写入 stderr。 对于 soba memory stale,只有没有 stale 或 broken capsules 且没有 memory doctor issues 时 exit code 才是 0。 对于 soba memory verify,只有 verification report 为 verified: true 时 exit code 才是 0。 对于 soba memory explain,只有找到至少一个可安全使用的 capsule 时 exit code 才是 0;stale、broken 或没有匹配时返回 1

soba memory doctorsoba memory stalesoba memory verifysoba memory explain 不启动 agent runtime,也不需要 provider credentials。


5. Provider 子命令

Provider registry 通过 soba provider 子路由管理。

命令作用
soba provider helpProvider CLI 帮助
soba provider list列出 built-in 和 custom providers
soba provider show <id>显示 provider definition
soba provider use <id>将 provider 设为 active
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>保存 API key 的环境变量;空值表示 keyless provider
--adapter <openai|openai-responses|anthropic>Adapter id。仅对实现 Responses API 的 endpoint 使用 openai-responses
--metadata-profile <profile>Discovery profile:autogeneric_openaiopenroutervllmollamalmstudiollamacppnone
--default-model <id>默认模型
--model <spec>Model spec;该标志可以重复
--from-file <path>从 JSON 加载 provider definition
--set-active添加后立即切换到这个 provider

--model 格式:

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

keyless 本地 provider 示例:

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

8192,2048 是本地模型更温和的起步值:前者是 context window,后者是最大输出 token。像 128000,8192 这样的大值会明显占用内存,也可能让笔记本变得很慢。

Limits 可以省略。例如,--model local-code="Local Code" --metadata-profile vllm 可以在 endpoint 提供 metadata 时让 SOBA 填充 context/output。若 metadata 不存在,SOBA 会使用保守的推定值并用 ~ 标记;server catalogue 不完整时请显式传入数字。

结构化 reasoning capabilities 和 provider-specific wire transport 通过 --from-file 加载的完整 JSON definition 声明。SOBA 不会仅因为模型名称看起来熟悉,就向未知 endpoint 发送 reasoning fields。


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 "Answer with one word: ok"

在仓库中开发时:

soba -i --lang zh --theme graphite

6. TUI 中的 direct shell

在交互模式中,可以直接运行 shell 命令:

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

! 会立即执行命令。!! 会执行命令,但不会把输出写入 transcript。若希望代理看到并分析输出,请用普通 prompt 让它运行命令,这样会使用 bash tool。

下一步

本頁目錄