feat(continuation): 增加只读长程任务受限续跑 - #1362
Conversation
Co-authored-by: TRAE CLI <traecli@bytedance.com>
Co-authored-by: TRAE CLI <traecli@bytedance.com>
|
自动评审初步意见(首审),最终以维护者审阅为准。 整体设计扎实:lease 状态机、TTL/次数上限、精确终态匹配(仅普通轮无业务 final 的 completed,或精确的 但真机验证发现 1 个需要先处理的问题: F1(建议合入前修):只读续跑轮挡不住 provider 内置的 WebSearch,"禁网 / 无外部副作用"的承诺与实际不符。 在真实 traex 0.204.1 上直连 app-server 验证(不是 fake fixture):对续跑轮按本 PR 的参数下发 现有的三道能力闸全部照不到它:
另外试过每轮 好在协议提供了可发现的接口: 其余为非阻断建议:
验证侧我本地复跑:tsc 0 错误、build 通过、13 个相关测试文件全部通过,并对沙箱降级/MCP 拒绝/资格限定/新输入取消四处做了变异验证均能转红;只读沙箱的参数形状、能力盘点响应形状、精确错误消息前缀均在真实 traex 0.204.1 上核对一致(fake fixture 与真机形状相符,唯独内置工具这一面是 fake 测不出来的)。 |
背景
长程任务在模型达到输出上限或未给出业务终态时可能提前停止,需要用户手动发送“继续”。本 PR 在已合入的失败可见性修复之上,增加一个默认关闭、显式启用且只允许只读任务使用的受限续跑机制。
改动
model output limit exceeded: max_output_tokens错误时续跑;不重试任意错误。botmux continuation start --readonly、await-user、cancel控制面及BOTMUX_READONLY_CONTINUATION_ENABLED=truekill switch。影响面
验证
upstream/master基线:60b460c1d8301717589c5cf927da410f041e2fb7。tsc --noEmit、git diff --check通过。bun run build的实际组成步骤全部通过:domain audit、图标生成、dist clean、TypeScript、scripts/test-mocks typecheck、runtime build id、scope copy、dashboard bundle、dist 与 embedded-assets audit。本机无 Bun,因此未执行 Bun 命令调度层本身。本 PR 未部署、未重启共享 BotMux。