🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

任务完成提醒 jiachenleo9-create/dsh-completion-alert

DeepSeek 客户端
jiachenleo9-create34 天前有提交已提供中文文档扫描:含敏感能力兼容 / 相关生态

任务跑完时响铃并弹置顶卡片,点击即可回到会话

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/jiachenleo9-create/dsh-completion-alert.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
该类项目属生态应用(桌面端 / Web 外壳),不以 dsh plugin add 方式安装,请按仓库说明部署
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    lib/index.js:91
    return absolute !== undefined && existsSync(absolute) ? absolute : 'powershell.exe'
  • 读取本地文件
    lib/index.js:100
    if (existsSync(DING_PATH)) return DING_PATH
  • 写入本地文件
    lib/index.js:102
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:136
    writeFileSync(DING_PATH, Buffer.concat([header, samples]))
  • 读取本地文件
    lib/index.js:277
    if (!existsSync(CLAIM_PATH)) return undefined
  • 读取本地文件
    lib/index.js:278
    const raw = readFileSync(CLAIM_PATH, 'utf8')
  • 删除本地文件
    lib/index.js:279
    rmSync(CLAIM_PATH, { force: true })
  • 写入本地文件
    lib/index.js:317
    mkdirSync(DATA_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:318
    writeFileSync(PAYLOAD_PATH, JSON.stringify(payload), 'utf8')
  • 执行外部命令来自配置/变量
    lib/index.js:330
    popupChild = spawn(
  • 发起网络请求
    lib/client.js:67
    const request = fetch(`${PREFIX}/focus`, {
  • 发起网络请求
    lib/client.js:99
    fetch(`${PREFIX}/state`, { credentials: "same-origin", cache: "no-store" })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 任务完成响铃
  • 右下角置顶卡片
  • 点击还原主窗口

README

由 DeepSeek 最新模型翻译生成
dsh-completion-alert · DSH 任务完成提醒 给 DeepSeek Harness(DSH)用的小插件:任务跑完时,如果你没在看 DSH 窗口,它会「叮」一声,并在屏幕右下角弹出一张置顶小卡片;点一下卡片,DSH 主界面就回到最前,并自动切到刚完成的那次会话。 右下角置顶卡片 仓库地址(复制这一行即可安装):https://github.com/jiachenleo9-create/dsh-completion-alert 平台:仅 Windows(macOS 会在下文说明:能装上,但不会有提醒)。许可:MIT。无需编译,无需联网(提示音是插件自己合成的)。 它到底解决什么问题 DSH 跑长任务时,你通常会切去干别的事。任务结束时你既听不到、也看不到——这个插件补上这一环: | 什么时候提醒 | 提醒长什么样 | | 任务完成 | 「叮」+ 绿条卡片:任务已完成 + 会话标题 | | 出错 / 被阻断 / 达到输出上限 | 红条或琥珀条卡片,文案不同 | | 有工具在等你批准 | 蓝条卡片:需要你审批 + 是哪个工具、要执行什么(例如命令原文) | | Agent 提问后卡住 | 紫条卡片:需要你回答 + 问题原文 | 而且:你正在看 DSH 窗口时它完全不打扰你(浏览器端持续上报窗口焦点,前台时静默)。 安装 三种方式,任选一种。
展开完整文档(README 剩余 1 节)
dsh-completion-alert · DSH 任务完成提醒

给 DeepSeek Harness(DSH)用的小插件:任务跑完时,如果你没在看 DSH 窗口,它会「叮」一声,并在屏幕右下角弹出一张置顶小卡片;点一下卡片,DSH 主界面就回到最前,并自动切到刚完成的那次会话。

右下角置顶卡片

仓库地址(复制这一行即可安装):https://github.com/jiachenleo9-create/dsh-completion-alert

平台:仅 Windows(macOS 会在下文说明:能装上,但不会有提醒)。许可:MIT。无需编译,无需联网(提示音是插件自己合成的)。

它到底解决什么问题

DSH 跑长任务时,你通常会切去干别的事。任务结束时你既听不到、也看不到——这个插件补上这一环:

| 什么时候提醒 | 提醒长什么样 |
| 任务完成 | 「叮」+ 绿条卡片:任务已完成 + 会话标题 |
| 出错 / 被阻断 / 达到输出上限 | 红条或琥珀条卡片,文案不同 |
| 有工具在等你批准 | 蓝条卡片:需要你审批 + 是哪个工具、要执行什么(例如命令原文) |
| Agent 提问后卡住 | 紫条卡片:需要你回答 + 问题原文 |

而且:你正在看 DSH 窗口时它完全不打扰你(浏览器端持续上报窗口焦点,前台时静默)。

安装

三种方式,任选一种。方式一最简单。

方式一:在 DSH 里粘贴链接(推荐)

1. 打开 DeepSeek Harness;
2. 左侧点「插件」;
3. 右上角点「添加插件」;
4. 把下面这一行原样粘进去,安装:

https://github.com/jiachenleo9-create/dsh-completion-alert

5. 安装完成后重启一次 DeepSeek Harness;
6. 想确认成功:浏览器打开 http://127.0.0.1:19387/completion-alert/ping,看到 {"ok":true,...} 就对了。

方式二:下载 ZIP + 双击脚本(不会命令行也能用)

1. 打开仓库页面,点绿色 Code 按钮 → Download ZIP;
2. 解压到一个你不会删的文件夹(比如 D:\dsh-completion-alert);
3. 在该文件夹里按住 Shift + 右键 → 「在此处打开 PowerShell 窗口」,粘贴回车:

powershell -ExecutionPolicy Bypass -File .\install.ps1

4. 看到 Installed. 后重启 DeepSeek Harness。

脚本做的事:把插件放进 DSH 的 profile(plugins\ + node_modules\ 链接),并登记进插件清单——所以它也会出现在「插件」页的「已安装」分组里,可以随时开关。

方式三:命令行

git clone https://github.com/jiachenleo9-create/dsh-completion-alert.git
cd dsh-completion-alert
powershell -ExecutionPolicy Bypass -File .\install.ps1

卸载:install.ps1 -Uninstall,或在「插件」页里直接移除。

装上之后是什么样

- 任务完成 → 右下角弹卡片(9 秒后自动消失,点 ✕ 可立刻关掉);
- 审批 / 提问 → 卡片停留 20 秒(人可能不在机器前);
- 卡片不会抢走你的输入焦点(正在打字也不会被打断);
- 点卡片 → DSH 窗口被唤出(即使之前被关进托盘/最小化),并自动切到那次会话;
- DSH 正在前台时 → 不响、不弹。

状态色条:完成=绿、审批=蓝、提问=紫、出错/阻断=红、其它=琥珀。

配置(可选)

在 DSH profile 目录的 cordis.patch.yml 里按 id 覆盖;改完刷新页面或重启应用:

- id: completion-alert
name: 'dsh-completion-alert'
config:
enabled: true # 总开关 onlyWhenUnfocused: true # 只在主界面不在最前时提醒(核心行为) sound: true # 播放"叮" popup: true # 弹出右下角卡片 popupSeconds: 9 # 完成卡片自动关闭秒数(3–120) corner: br # 位置:br 右下 / bl 左下 / tr 右上 / tl 左上 notifyOnAbort: false # 用户手动停止的任务是否也提醒 approvalAlerts: true # 有工具等待批准时提醒(卡片写明审批内容) approvalSeconds: 20 # 审批卡片存活秒数 questionAlerts: true # Agent 提问并卡住时提醒 questionSeconds: 20 # 提问卡片存活秒数 minGapMs: 5000 # 两张卡片之间的最小间隔 debounceMs: 1200 # Agent 停止后的稳定等待,避免误报

只想要声音、不要卡片:popup: false, sound: true。不想被审批打断:approvalAlerts: false。

出问题了怎么办

| 现象 | 处理 |
| 完全没反应 | 打开 http://127.0.0.1:19387/completion-alert/ping。没有 ok 说明宿主端没装载:确认已重启 DSH,且插件出现在「插件」页 |
| ping 里 hasClientReport: false | 浏览器端没起来:刷新 DSH 页面 |
| 想立刻看效果 | curl http://127.0.0.1:19387/completion-alert/test(无视前台状态直接弹一张);?kind=approval / ?kind=question 预览另外两种样式 |
| 点了卡片窗口没出来 | 需要包含「隐藏窗口唤出」的版本:更新到最新代码(install.ps1 重跑一次)并重启 DSH |
| 想看日志 | 卡片会把过程写到 %TEMP%\dsh-completion-alert\card.log,关键行是 reveal ... visible=... raised=... |

已知限制

macOS / Linux 用户请注意

这个插件目前只在 Windows 上会提醒。 在 macOS(以及 Linux)上:

- 插件可以正常安装、正常加载,DSH 不会报错,http://127.0.0.1:19387/completion-alert/ping 也会返回 ok;
- 但到「弹卡片 + 响铃」这一步时会安静地跳过(宿主端日志里会写 implemented for Windows only; skipping),你收不到任何提醒。

原因是提醒的最后一层用了 Windows 原生能力:置顶卡片是 PowerShell + WinForms 窗口,窗口唤出用 Win32 API。核心逻辑(任务完成/审批/提问的判定、焦点门控、安装与加载)本身是跨平台的。

移植到 macOS 的工作量不大——只需重写「弹窗 + 发声」这一层(用一个等价的 JXA/Cocoa 脚本替换 assets/notify.ps1,宿主端加一个平台分支,约 300 行),其余代码原样复用。只是我手上没有 Mac,无法实测,所以暂未提供。有 Mac 环境的欢迎提 PR。

其它

- 卡片出现约有 1–2 秒延迟(PowerShell 进程启动 + C# 辅助类编译)。
- 点击后的会话定位依赖 DSH 页面存活;页面已关闭时只保留「唤起窗口」。
- 宿主端(lib/index.js)改动需要重启 DSH;浏览器端(lib/client.js)刷新页面即可。
- 不占用系统通知通道,因此不受 Windows「专注助手 / 通知设置」影响。

给开发者

无构建步骤:lib/index.js(宿主端)与 lib/client.js(浏览器端)都是手写 ESM,客户端半使用 DSH 的 window.__ModuleLoader__.load({ id, factory }) 懒加载 CJS 约定。

dsh-completion-alert/
├─ package.json # dsh.bundle + dsh.client 声明 ├─ cordis.patch.yml # bundle 层:插入 completion-alert 这一行 ├─ lib/index.js # 宿主端:agent/status、approval/asked、user-questions/request、 │ # 焦点状态、HTTP 路由、调度卡片 ├─ lib/client.js # 浏览器端:上报焦点、轮询「认领」、切会话 ├─ assets/notify.ps1 # 右下角置顶卡片(WinForms + Win32 唤出/置顶) ├─ docs/ # 截图 ├─ install.ps1 # 安装 / 卸载 ├─ LICENSE # MIT └─ README.md

用到的 DSH 接口(均来自官方包,未打补丁):

- 宿主:ctx.on('agent/status')、ctx.on('session/event') 的 approval/asked、ctx.waterfall('user-questions/request') 观察者、ctx.webServer.register();
- 浏览器:ctx.remote.$on('api-session/status')、ctx.get('uiWorkspace').openSession()、document.hasFocus() / visibilityState;
- 会话事件:turn/end(原因分类)、session/title、tool/call(审批内容摘要)。

参考与致谢

做之前先扫了一遍 DSH 插件生态,以下几点思路来自这些 MIT 项目的公开实现(代码为本仓库重写,未复制 GPL 项目):

- dsh-thinking-notifier——用 PowerShell 做真正的置顶无边框角标窗口;
- Favio8/dsh-plugins——宿主端 agent/status 判定任务结束 + 合成提示音 + 右下角卡片;
- Mvyvn/dsh-desktop-notify(GPL-3.0,仅参考设计)——「焦点时静音」的做法;
- TelosmaYLX/dsh-session-notify——turn/end 原因分类与失焦/聚焦分流。

许可

MIT,见 LICENSE。
预览分享卡片长什么样 ↓jiachenleo9-create/dsh-completion-alert
分享 · DeepSeek Harness Hub
jiachenleo9-create/dsh-completion-alert

任务跑完时响铃并弹置顶卡片,点击即可回到会话

这是你的仓库?认领条目

回到顶部