OriginRouter CLI退出状态

退出状态与错误恢复

大多数 CLI 命令使用 0 表示成功,使用 1 表示一般失败。协作命令提供更细的稳定退出状态。错误正文用于人类阅读,自动化应优先检查退出状态与 JSON 字段。

通用行为

状态含义
0命令按请求完成。仍需检查 JSON 中的业务状态是否是脚本需要的状态
1一般错误、网络错误、无效状态或不属于协作专用分类的失败
子进程状态originrouter run -- <command> 传播子进程退出状态
143智能体工作区终端界面收到 SIGTERM 后退出

HTTP 状态码不等同于进程退出状态。认证和服务错误通常会被归类为可读标题、技术细节和 Next: 恢复动作,然后以 1 退出。

协作退出状态

状态含义建议动作
2参数、用法、草稿或输入无效修正命令,检查 originrouter --help
3本地后台服务或 Local API 不可用service status,必要时 service restart
4登录、设备信任、E2EE、身份或工作区权限问题login status,检查可信设备和权限配置
5运行环境、模型服务、模型、路由或能力不可用在目标设备运行 doctor 并修复路由
6一次运行进入 failedcollaboration doctor <run-id>,修复后 retry
7预算耗尽、预算超限或策略阻止检查这次运行、设备和智能体预算或组织策略
8配置或规划需要确认,但当前是非交互流程查看这次运行后执行 confirm;只有明确希望自动接受两道启动确认时才使用 --yes
10设备离线、中继服务超时、连接中断或 Local API 响应不完整先查询实际运行状态,再决定是否重新创建

状态 10 特别表示“请求结果不确定”的可能性。后台服务持有的运行可能仍在继续,先使用 show 或 doctor 查询同一运行 ID。

JSON 自动化

if output=$(originrouter collaboration show "$run_id" --json); then
  state=$(printf '%s' "$output" | jq -r '.state')
else
  status=$?
  printf 'originrouter failed with status %s\n' "$status" >&2
  exit "$status"
fi

对于创建命令,应保存首次返回的运行 ID。网络中断后使用该 ID 查询;未经确认不应再次创建,以避免产生重复运行。

恢复顺序

  1. 读取完整错误,包括 Impact、Action 和 Diagnostic code。
  2. 如果支持,重新运行只读命令并加 --json。
  3. 检查 login status、service status 和 doctor。
  4. 对已有协作使用 collaboration doctor <run-id>。
  5. 仅在确认原请求未被接受后,重新执行创建或写操作。

常见认证错误已经映射到具体恢复方式,例如重新登录、更新旧版 CLI、撤销不用的设备或等待密钥轮换限制重置。

这个页面对您有帮助吗?