- •
parseExecArgs → applyExecMode 预设填充
- • registry 分层:core + escalate + specialist + MCP + plugins
- • prompt 三来源:inline /
--file / stdin(stream-json)
- •
--list-tools 在此短路,永不联网
- •
OnPermissionRequest / OnAskUser 不注册
- • 权限按模式自动裁决:unsafe 全允许 / auto 按 sandbox
- • ask_user 降级为"用最佳假设继续"
- •
OnPermission 仅记录事件,不阻塞
- •
maxTurns 默认 12,可 --max-turns
- • 每轮:partitionTools → 压缩 → 流式 → 判定分支
- • 分支 A 仅文本 → 完成门控;分支 B 执行工具
- • 达上限 →
finalAnswerAfterMaxTurns 强制收尾
- • 断连退避重连;上下文超限 → 压缩后重试本轮
- • 空轮 / 重复失败 guard 防止 runaway
- •
--self-correct:LSP + 测试验证 + 验收核对
- • 每个 mutating 工具前写 checkpoint 供
/rewind
- •
execEventWriter 三格式:text / json / stream-json
- • 事件:runStart → text/toolCall/toolResult/usage → final/done
- • stream-json 逐段发;json 收尾;text 累积
- • stdout 载数据,stderr 载告警/通知(严格分离)
- •
0 成功;2 用法错误
- •
3 provider 错误;4 incomplete(未完成)
- •
130 被信号中断(Ctrl+C / SIGTERM)
- • incomplete 不算成功:便于 cron / CI 消费者识别