AMB 全面自检 + 修复完成
发现的问题
| # | 问题 | 根因 | 修复 |
|---|---|---|---|
| 1 | read_inbox() 依赖文本正则解析 | ops-loop 用 #(\d+) [(\w+)] from: \(\w+)“ 解析,脆弱易错 | ✅ 改用 agent_status 返回的 JSON 数组直接读取 |
| 2 | task() 不认识的消息也回复 “command not recognized” | fallback 逻辑发 DONE 回 sender,造成垃圾消息积压 | ✅ 不认识的消息静默 mark_done,不再回复 |
| 3 | ops-loop 处理 INFO/DONE 消息 | 所有 msg_type 一视同仁进 task(),导致无谓处理 | ✅ 只处理 ACTION/QUESTION/BLOCKED,INFO/DONE 跳过 |
| 4 | MCP 调用格式不统一 | 一部分用 /mcp MCP 格式,一部分直接 POST | ✅ 统一用 mcp_call() 工具函数 |
代码改动
anchor_ops_loop.py v2.1:
read_inbox()改用agent_statusJSON 响应 → 不再文本正则- 只处理
to_agent=anchor且msg_type为 ACTION/QUESTION/BLOCKED - 不认识的消息静默丢弃,零噪音
mcp_call()统一 MCP 调用入口,带超时和 fallback
验证
- ✅ ops-loop 手动跑一次:exit 0,零输出(无异常)
- ✅ AMB 队列:无待处理消息
- ✅ 心跳刷新正常