dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
🔔 macOS sound + system notification whenever a DeepSeek Harness (dsh) agent needs your reply, answer, or approval — click the notification to jump to the session's browser tab. 后台任务守卫 / 升级递进提醒 / 设置页卡片配置。
Agent 需要你时,让 macOS 发出声音。
当 DeepSeek Harness(dsh)里的 agent 等待你回复 / 向你提问 / 请求审批时,播放系统提示音并弹出 macOS 系统通知;安装 terminal-notifier 后,点击通知直接跳转到该会话的浏览器标签页。
Agent 需要人的时刻有三种:回合结束等你回复、ask_user_question 提问、危险操作等审批。你一旦切去干别的事,就会让它白等几分钟甚至几小时。这个插件把「它需要你」变成听得见、看得见、点得到的信号。
reply — 根 agent 回合结束转为 idle(默认 Glass)question — ask_user_question / exit_plan_mode 提问工具触发(默认 Funk)approval — 审批请求弹出(默认 Sosumi)~/.dsh/settings.yaml系统通知横幅——agent 回合结束等待你回复时:
┌────────────────────────────────────────────┐
│ DeepSeek Harness 现在 │
│ 等待你的回复 · 修复登录页面的样式问题 │
└────────────────────────────────────────────┘
点击横幅(需已安装 terminal-notifier)即激活浏览器,并切换到标题为「修复登录页面的样式问题 — DeepSeek Harness」的标签页。
升级提醒——5 分钟后仍无人理会,第 2 次提醒(音量自动 +0.5):
等待你的回复(第2次提醒) · 修复登录页面的样式问题
服务器日志——插件挂载时:
[attention-chime] active v0.2.3 (enabled=true, reply=Glass, question=Funk, approval=Sosumi, escalate=3x every 300000ms +0.5/repeat, guard=on, jump=Google Chrome, foreground=off)
[attention-chime] terminal-notifier found: /opt/homebrew/bin/terminal-notifier
点击跳转日志——/tmp/dsh-attention-chime-jump.log:
2026-09-08 15:32:10 clicked
先试听提示音(无需安装插件):
afplay /System/Library/Sounds/Glass.aiff # reply(回复等待)
afplay /System/Library/Sounds/Funk.aiff # question(提问等待)
afplay /System/Library/Sounds/Sosumi.aiff # approval(审批等待)
afplay、osascript 与 /System/Library/Sounds 系统声音)terminal-notifier(启用「点击通知跳转」):brew install terminal-notifier
安装后首次使用:在 系统设置 → 通知 中允许 terminal-notifier 发通知;首次点击通知跳转时,macOS 会询问「terminal-notifier 想要控制 Google Chrome」,选择允许(一次性授权)。未安装 terminal-notifier 时自动回退为普通系统横幅(不可点击),其余功能不受影响。
dsh plugin --profile web add github:YuChuanhui3/dsh-plugin-attention-chime
或从 git 地址安装:
dsh plugin --profile web add git+https://github.com/YuChuanhui3/dsh-plugin-attention-chime.git
然后重启 dsh web(新增 bundle 层需要重启;之后的配置改动都无需重启)。
卸载:
dsh plugin --profile web remove dsh-plugin-attention-chime
安装即带默认值(见 cordis.patch.yml)。覆盖方式二选一:
~/.dsh/settings.yaml,重启保留。cordis.patch.yml 里按 id 寻址(注意:补丁会整行替换 config,不做合并):- id: attention-chime
config:
alerts:
reply: { enabled: true, sound: 'Hero', volume: 1.5 }
question: { enabled: true, sound: 'Funk', volume: 1 }
approval: { enabled: true, sound: 'Sosumi', volume: 1 }
# ...其余字段需完整给出,见下表
| 字段 | 默认 | 说明 |
|---|---|---|
enabled | true | 总开关 |
idleGraceMs | 1200 | 回合结束后等待这么久仍 idle 才提醒(过滤连续回合) |
minGapMs | 1500 | 两次提醒的最小间隔(防连环轰炸) |
notificationTitle | DeepSeek Harness | 系统通知标题 |
backgroundGuard | true | 有后台 job / 运行中子代理时不发「等待回复」提醒 |
jump.enabled | true | 点击通知跳转会话标签页(需 terminal-notifier) |
jump.browser | Google Chrome | 浏览器应用名(Safari / Microsoft Edge / Arc / Brave Browser…) |
escalate.enabled | true | 升级提醒开关 |
escalate.intervalMs | 300000 | 重复提醒间隔(5 分钟) |
escalate.max | 3 | 最多重复次数 |
escalate.volumeStep | 0.5 | 每次重复的音量增量 |
escalate.maxVolume | 3 | 音量上限 |
escalate.sound | '' | 升级专用提示音(空 = 沿用原提示音) |
foreground.enabled | false | 提醒时把应用切到前台 |
foreground.app | Google Chrome | 要前置的应用 |
alerts.reply/question/approval | 见上 | 每类 {enabled, sound, volume} |
提示音为 /System/Library/Sounds/ 下的系统声音:Basso, Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink。音量为 afplay -v 值(1 = 正常,0.5 = 一半,0 = 静音)。
全本地运行,零外部服务:插件不发起任何网络请求、无遥测、不收集数据。只调用本机系统命令:afplay(提示音)、osascript(通知与跳转)、terminal-notifier(可点击通知,可选)、command -v(探测)。
使用的 macOS 权限(均为系统标准授权流程):
| 权限 | 用途 | 何时询问 |
|---|---|---|
| 通知 | 展示系统通知横幅 | 首次发送通知后,在系统设置 → 通知中允许 terminal-notifier |
| 自动化 | 点击通知时控制浏览器激活并切换标签页 | 首次点击通知时 macOS 弹窗「terminal-notifier 想要控制 Google Chrome」,允许一次即可 |
写入的文件(全部在 /tmp,重启系统即清空;不含会话内容,仅会话标题用于标签页匹配):
/tmp/dsh-attention-chime-jump.scpt 与 /tmp/dsh-attention-chime-jump.sh — 跳转脚本与点击包装器/tmp/dsh-attention-chime-jump.log — 点击日志/tmp/attention-chime-mounted.json — 挂载诊断标记兼容性(dshTarget):面向 dsh 0.1.2-rc 系列(在 0.1.2-rc.1 上开发验证;依赖 settings.installSection API,不兼容更早的 0.1.0 / 0.1.1 系列)。声明官方 dsh.bundle manifest(Distribution: Bundle)。仅支持 macOS。
已知限制:标签页匹配采用「标题包含会话名」策略,多个会话标题高度相似时可能聚焦到错误标签页;非 macOS 系统上提示音与跳转不可用。
agent/status(idle + 宽限期后提醒)、agent/disposed、tools/pre-execute(提问工具,waterfall 透传)、tools/result(提问结束清除状态)、approval/request(审批 waterfall,settle 后清除)会话名 — DeepSeek Harness),terminal-notifier 以 -execute 挂一个单词包装脚本触发它——对参数拆分/引号问题免疫jobs.list(agent) 中存在 running/stopping,或 agents 中存在归属于该 agent 的 running 子代理,即视为忙碌apply(ctx) 函数形式attentionChime:status() 返回运行快照,test(kind) 立即试听某类提醒git clone git@github.com:YuChuanhui3/dsh-plugin-attention-chime.git
dsh plugin --profile web add ./dsh-plugin-attention-chime # 在 clone 的父目录执行
# 重启 dsh web;之后改 client.js 只需刷新浏览器,改 index.js 需重启
注意:开发安装(link 方式)要求插件目录位于 profile 的 node_modules 解析树内(dsh plugin add 的路径安装会正确处理)。
MIT © 2026 YCH