前言¶
AI 在长任务中最常见的浪费是空跑:同一个探针脚本换个名字反复跑,失败的命令原样重试,一两个小时里一次文件都没改。插件通过钩子监控这些行为,命中后强制 AI 对照最初目标进行自我审查,决定是继续、换方法还是汇报。
安装¶
DeepSeek Harness¶
插件页支持直接粘贴 Git 仓库地址安装。本仓库同时是一个 cordis bundle,通过 tools/result / session/event 事件观察行为节奏,经 agent.inject() 注入提醒,无需 Python。
ZCode¶
需要系统可用 python 命令(3.8+)。若可执行名不同,修改 hooks/hooks.json 中的 4 处 python 即可。
核心功能¶
触发检测¶
插件注册四个会话钩子,不拦截任何工具调用,仅观察:
1. 完全相同命令重复:最近 5 条命令中有 3 条原样相同。
2. 相似命令:归一化后最近 5 条中有 3 条相同(抹去文件名序号)。
3. 超长零产出:会话持续超过 25 分钟且无文件修改。
4. 调用密集零产出:自上次提醒以来 30 次调用期间无文件修改。
5. 失败循环:工具连续失败 3 次。
本地时钟锚点¶
AI 估不准耗时。空闲运行期间,钩子注入真实本地时间,要求 AI 凡是涉及耗时预估和汇报都以真实时钟为准。间隔从 5 分钟起步并逐次倍增(5→10→20→40,封顶 60)。
独立审查者¶
空跑提醒触发时,用独立上下文调一次 LLM 审查者。输出严格 JSON 判定(on-track / drifting / stuck)。DSH 端默认开启(复用会话 llm 服务),ZCode 端默认关闭(需配置 llm_api_key)。
第三通道¶
将审查整体搬出宿主,由独立进程轮询。默认关闭,因为它消耗用户自己的 API 额度。仅在升级阶梯末档(同一会话第 3 次提醒仍未改善)且显式配置后投递。
斜杠命令¶
/lookup-review—— 手动触发一次完整的「抬头」自我审查。/lookup-status—— 查看插件对当前会话的监控统计与判定。/lookup-config—— 查看 / 修改阈值配置。/lookup-watch—— 管理第三通道的独立审查 watcher。
配置与文件¶
配置文件路径:~/.zcode/ai-look-up. 或 <项目>/.zcode/ai-look-up.。
配置项优先级:内置默认 ← 项目配置 ← 环境变量。
双端差异¶
| 能力 | ZCode (Python) | DeepSeek Harness (JS) |
|---|---|---|
| 触发检测 | ✅ | ✅ |
| 本地时钟锚点 | ✅ | ✅ |
| 独立审查者 | 需配 key (默认关) | 复用会话 (默认开) |
| 第三通道 | ✅ | ✅ |
| 状态存储 | 落盘 | 内存 (重启即丢) |
| LLM 配置 | 生效 | 不读取 (模型跟随会话) |
注意事项¶
- Python 要求:ZCode 端必须安装 Python 3.8+;DSH 端无需 Python。
- API 配置:
llm_api_key/llm_api_base/llm_model/llm_timeout_sec只在 ZCode 端生效。 - 第三通道:默认关闭,显式开启会消耗用户 API 额度。
- 状态持久化:DSH 端状态在内存,宿主重启即丢失。