task-verification.md 2.32 KB

微信任务完成度验证

检查助手在微信里回复「已处理」的任务,是否真的完成了,还是卡住了/失败了。

典型场景

用户问:「他回复了要处理,但下一步结果你检查一下是不是真的处理完成了,还是卡住了。」

验证步骤

1. 确定账号和对话对象

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. 读取最近对话

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 响应、配置文件状态)
  • 如果没完成,根因是什么
  • 下一步建议