# 视觉模式医疗助理审核接入 已修改两目录 `wechat_bot.py`、`gui_runtime.py`,新增同一份 `test_visual_review_assistant.py`。备份在 `visual-before/source` 和 `visual-before/protocol`;最终散列见 `visual-files.json`,对应差异见 `visual-*.diff`。 实现: - 仅配置启用后,从视觉机器人实际窗口 PID 只读核验登录账号;从不使用消息浏览器所选账号。缺少原生接口、数据库或精确会话证据时保留审核。 - 审核状态先持久化,再注册同账号、同会话提醒;助理联系人按精确会话排除自动答复。通知由共享协调器异步发送,不通过视觉搜索或键盘发送提醒。 - 轮询按账号和会话 ID 核对人工回复,完成后仅移除原审核任务、丢弃未发送档案交换并记录“已审核”;不放行或补发旧稿。发送未知、正在发送或失败证据仍受保护。 - 新客户消息仍受未完成审核约束。人工完成后的会话只跳过全局审核模式,每条新回复仍重新检查选择性规则和模型风控。迟到同步的手机回复不会覆盖时间在其后的客户新问题。 - 旧稿记录持久化,后续原会话通过既有身份和焦点验证后,仅精确相同的原稿可清除;人工修改的草稿保留。记录在首次确认后一次性消费,避免影响未来同文字的人工草稿。 - 自动发送前登记尝试指纹;确认后仅使用实际数据库服务器消息编号补充凭证。本地审核发送关闭提醒但不视作手机人工回复。 - 在线/离线显式取消和转人工在队列落盘成功后取消对应提醒。共享存储取消失败会明确写日志,不宣称提醒取消成功。没有增加失败取消自动重试队列。 - 用户停止会关闭协调器;每轮审核核验最多 8 个任务并设置时间预算,不移动窗口、不处理验证码、不操作人工输入框。 验证:CPython 3.12.14,全部使用临时目录、合成消息、模拟通知和桌面操作。 | 范围 | 结果 | | --- | --- | | C:/wechat_rpa 最终视觉/审核/监听/发送锁回归 | 82 项通过 | | C:/kefu/wechat_rpa 同组回归 | 68 项通过,14 项协议专属测试按既有设计跳过 | | C:/wechat_rpa 额外审核策略回归 | 38 项通过 | | 新增视觉审核测试 | 30 项,含真实共享协调器与临时 SQLite 联动 | 日志:`visual-final-tests-0.log`、`visual-final-tests-1.log`、`visual-policy-regression.log`。 未发送真实消息、未修改真实设置/队列、未启动或重启监听、未关闭或安装用户应用。 兼容回归补充:两目录取消任务路径增加 assistant_review_id 存在性保护,未使用助理审核的旧任务不读取辅助路径。`ManualPendingCancellationTest` 与新增视觉测试共 33 项在两目录分别全部通过;日志 `visual-cancel-compatibility-0.log`、`visual-cancel-compatibility-1.log`。最终 hash 已重新更新。 最终冻结复核:取消和转人工均已增加 assistant_review_id guard。生产取消/转人工/新视觉测试共 41 项通过;源目录 37 项通过、4 项协议专属跳过。日志 `visual-final-cancel-handoff-0.log`、`visual-final-cancel-handoff-1.log`,manifest 已重新核验。