dsh-turn-reminder
DeepSeek Harness 的"用户参与点"通知插件(树外用户插件)。凡会话阻塞等待用户的时刻,都会提醒:页面在前台弹页内 toast,页面在后台发操作系统级浏览器通知(点击跳回页面;系统通道不可用时降级回 toast)。
覆盖的四类节点(Host 半边按会话统计,Client 半边轮询)
| 通道 | 触发源 | 说明 |
|---|---|---|
回合结束 turnEnd | agent/status 事件 running → idle | 一轮回复完毕等你输入;goal 阻塞、出错停止等都会终结回合,被本通道传递覆盖 |
审批 approval | approval/request waterfall(透传监听) | 工具审批、沙箱升级等;回合中途阻塞,不会触发回合结束,必须单独盯 |
提问 question | tools/pre-execute waterfall 过滤 ask_user_question(透传监听) | 模型主动问你问题;同样回合中途阻塞 |
计划审核 plan | tools/pre-execute waterfall 过滤 exit_plan_mode(透传监听) | 模型交出计划等你审核;审核面板在工具调用内部打开,同样回合中途阻塞——旧版误以为回合结束能传递覆盖它,已修正 |
提醒文本带细节:审批显示工具名 + 理由,提问显示第一个问题的文本,计划审核显示计划的第一个 markdown 标题(都截断 60 字符)。
使用
- 输入框工具行右侧有 🔔 控件;点一下授权系统通知(浏览器要求用户手势,权限按 origin 持久,只需一次)。
- 页内 toast 8 秒自动消失,点击立即关闭。
- 计数按会话隔离,多标签页各自只提醒自己的会话;子 agent 会话没有页面轮询,不会打扰。
构建与安装
npm install
npm run build # tsc(host 半边)+ tsdown(client 闭包工厂 bundle)
npm pack # 产出 dsh-turn-reminder-0.1.0.tgz
dsh plugin --profile web add dsh-turn-reminder-0.1.0.tgz装进内置 web profile 后,重启 dsh web 生效,对所有会话自动加载。
注意
- 计数只统计插件装载之后的事件;进程重启清零,首轮轮询只记基线,不为历史事件补弹提醒。
- 两个 waterfall 监听都是透传(记录后立即
next()),不改变审批/提问的决策结果。