# 微信任务完成度验证 检查助手在微信里回复「已处理」的任务,是否真的完成了,还是卡住了/失败了。 ## 典型场景 用户问:「他回复了要处理,但下一步结果你检查一下是不是真的处理完成了,还是卡住了。」 ## 验证步骤 ### 1. 确定账号和对话对象 ```python import config, wechat_db config.ACCOUNTS = config.discover_accounts() config.set_current_account_id('653cdc2320abb089e149a3f7a7683fcf') # 小伙子账号 # 从 rcontact 查找对方 wxid rows = wechat_db.query( "SELECT username, nickname, alias FROM rcontact " "WHERE nickname LIKE '%火星人%' OR username = 'yibooo' LIMIT 10" ) ``` ### 2. 读取最近对话 ```python SELECT msgId, type, isSend, content, createTime FROM message WHERE talker = 'yibooo' AND type = 1 ORDER BY createTime DESC LIMIT 50 ``` `isSend=0` 是对方发来的;`isSend=1` 是助手(小伙子)发的。 ### 3. 区分三种状态 | 状态 | 消息特征 | 下一步 | |---|---|---| | **已完成** | 助手发了结果报告,后续无失败/重试 | 抽查实际系统状态确认 | | **卡住了** | 助手说「在处理」「搞完给你报告」,但后面没有成功报告 | 检查实际配置/数据库/API | | **已失败** | 助手明确说失败原因(如 `empty_draft`、403、timeout) | 分析根因,决定重试或人工介入 | ### 4. 交叉验证 根据消息里提到的任务,检查实际系统状态: - 改 API key → 检查 `.bashrc`、`.profile`、`config.yaml` 的 `custom_providers` 是否写了完整 key,并直接调一次 API 测试 - 写飞书表 → 检查对应表是否真的有记录 - 改代码 → 检查 git diff 或服务是否重启 - 建 cron job → 检查 `cronjob list` 和实际运行日志 ## 常见卡住根因 - 配置被截断/省略(如 `sk-95e...348a` 而不是完整 key) - 助手调了 API 但返回失败,没有重试 - 环境变量或权限问题导致任务未真正执行 - 系统对 secrets 做 masking,写入时完整 key 被替换 - 任务依赖 Plan Agent 但任务没通过 Sprint 审核 ## 输出结论 不要只回报「他说处理了」。要给出: - 他实际做了什么 - 结果是什么(成功/失败/卡住) - 证据(消息原文、API 响应、配置文件状态) - 如果没完成,根因是什么 - 下一步建议