MichengAI/dsh-im-connect
MichengAI/dsh-im-connect把微信、企业微信、钉钉、飞书、Lark、QQ、Telegram 接到本机 DeepSeek Harness,每个 IM 聊天对应一条独立工作区频道。
不用盯着屏幕也能知道 DeepSeek Harness 什么时候需要你 中文 · English
DSH 跑一个任务经常要几分钟到几十分钟。人在切窗口、在开会、在写别的东西的时候,最怕的不是慢,而是它已经停下来等你处理了,而你不知道——审批卡在弹窗里、提问悬着没人答,整条链就这么停着。
这个插件把「该你了」变成声音:每类事件一个不同的音色,或者直接念出卡住的原因。你可以去干别的,听到了再回来。
推荐 npm(预构建、免构建授权):
dsh plugin --profile web add @machine-126/dsh-alert-sound把web换成你自己的 profile 名——桌面版通常是 `desktop`。装之前可以用dsh plugin --profile list确认。
也可以从 GitHub 装(纯 JS、无构建):
dsh plugin --profile web add github:Machine-126/dsh-alert-sound或从本地目录装(路径必须是绝对路径,会装成 link: 链接):
dsh plugin --profile web add D:\path\to\dsh-alert-sound装完重启 dsh(桌面版里新装的插件要重启应用才会加载),然后打开 设置 → 提醒音 就能调了。
自己改代码的话:全部逻辑在 lib/client.js,没有构建步骤,改完刷新页面即可(npm publish 前 prepublishOnly 会跑 node --check)。
类型 · 什么时候响 · 默认音色 · 色点 需要审批 · Agent 要执行敏感操作,等你点「允许」 · 警醒(方波三连) · 琥珀 需要回答 · Agent 问了你一个问题,等你回复 · 轻点(双短音) · 紫 输出完成 · 一轮回答结束 · 叮咚(上行双音) · 绿 发生错误 · 这一轮出错了 · 低沉(下行锯齿) · 红 卡住(实验性) · 打开「停滞检测」后,长时间没进展 · 低沉 · 橙
判定来源:会话状态里的running与挂起交互类型(uiSession.sessionStatus),以及会话快照的lastAgentError。
第 5 类默认关闭:只有把「停滞检测」打开,它才会触发。判定依据是会话的更新时间,可靠性待改进。
可选音色:叮咚 / 低沉 / 轻点 / 警醒 / 语音 / 自定义 / 静音。
关于「语音」这一档:审批与提问会念出挂起交互的详情(工具名、原因、问题文本);「输出完成」的正文需要同时打开「朗读输出」,否则只念类型名。正文上限 400 字。
选项 · 说明 · 默认 总音量 · 0–200% · 70% 提醒范围 · 所有会话 / 仅当前会话 · 所有会话 重复提醒 · 关 / 10 / 20 / 30 秒(直到处理为止) · 20 秒 系统通知 · 浏览器系统通知(后台也能看到) · 关 朗读输出 · 「输出完成」是否念出最后一条回复(音色需为「语音」) · 关 停滞检测 · 实验性;开启后才有第 5 类「卡住」 · 关 悬浮提示 · 屏幕顶部浮条,3.6 秒后消失 · 关 语音语速 · 慢 / 标准 / 快 · 标准 勿扰时段 · 起止整点,期间完全不响 · 关 界面语言 · 自动 / 中文 / English · 自动
底部还有 「恢复默认设置」(带二次确认)。
DSH 版本 · 表现 0.2.1-rc.2 · ✅ 全部功能(当前实机验证的版本) 0.2.0-rc.2 · ✅ 全部功能 更早版本 · ⚠️ 只能收到「完成 / 错误」,审批与提问不响
需要浏览器支持 Web Audio(提示音);语音朗读用浏览器的语音合成,缺失时自动降级为提示音。
装了但一点声音都没有? 浏览器要求先有用户手势才能播放音频——点一下页面任意位置再试。然后确认:该类的音色不是「静音」、总音量不是 0、「勿扰时段」没开着。
只有尾音,开头被吞了? 0.3.13 起已在每次播放前做 200ms 预热来唤醒音频设备。若仍然出现,麻烦提 issue 并附上浏览器版本。
审批 / 提问不响,但完成会响? 说明 DSH 版本偏旧:审批与提问的检测依赖 uiSession.sessionStatus,需要 DSH ≥ 0.2.0-rc.2。
语音念了「输出完成」,但没有正文? 「语音」音色 + 「朗读输出」开关两个都要开,而且只有「输出完成」会念正文。另外,后台会话(已不在主区域显示的那一个)读不到正文——插件要等该会话的对话视图被打开才拿得到文本,这时会退回念固定短语。
悬浮提示从来没出现过? 它默认是关的,去设置里打开「悬浮提示」。
装上之后界面白屏? 极端情况下插件与宿主版本不匹配会导致前端起不来。回滚:
dsh plugin --profile <你的profile> remove @machine-126/dsh-alert-sound所有处理都在浏览器内完成:不发起任何网络请求,不用 analytics / telemetry。只在内存里读四样东西——会话运行状态与挂起交互(含工具名 / 原因 / 问题文本)、会话列表的 updatedAt 与 retainedBy(判定「当前会话」)、会话快照的 lastAgentError(判定「失败」),以及仅在「朗读输出」打开时最后一条助手回复的正文。
以上不保存、不外发;唯一持久化的是你自己的设置(localStorage 的 dsh-alert-sound.v1,自定义音色另存 dsh-alert-sound.custom.v1)。
思路与形态上参考了这些项目,代码为独立实现,未复用其中任何代码:
running 与挂起交互推导审批 / 提问 / 完成):dsh-session-notification(BSD-3-Clause)docs/user/develop/basic/publish.md,以及 dsh-plugin-tts、dsh-status-rotator、dsh-web-ui-notify音色为原创设计(波形与频率自定)。发布时请保留本致谢。
需求与验收由 @Machine-126 提出并测试;代码开发全程由 DeepSeek Harness(AI 编程代理)驱动完成。
单人维护的个人项目,回复可能不及时;发现 bug 或想提功能,欢迎开 issue。
MIT