在标签页与任务栏显示未读回合数并播放提示音
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/gaolvsuan/dsh-badge.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 2 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 4 处,展示前 4 条)
- 执行外部命令固定命令index.js:118
const child = spawn( - 写入本地文件index.js:134
appendFileSync(config.debugLog, `helper-spawn badgeColor=${badgeColorOf(config)} pid=${child.pid}\n`) - 写入本地文件index.js:146
appendFileSync(config.debugLog, String(chunk)) - 写入本地文件index.js:286
appendFileSync(
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 的 ChatGPT 风格未读角标——标签页图标和任务栏按钮上显示红色计数,每完成一轮就响一声提示音。
README
由 DeepSeek 最新模型翻译生成dsh-badge
和 ChatGPT 标签页右上角那个红色数字角标同一个东西,搬到 DeepSeek Harness:回合结束时在标签页图标和 Windows 任务栏图标上叠加未读数,并播放提示音。
效果
- 标签页图标上出现角标,显示未读回合数(超过 99 显示 99+)
- 标题变成 (3) DeepSeek Harness
- Windows 上任务栏按钮同样挂上数字角标,窗口切回前台后清除
- 回合结束播放提示音,三种音色可选,错误回合可另配低音提示
- 标签页重新可见约 1.2 秒后自动清零
音效由 Web Audio 现场合成,插件不带任何音频文件;角标画在 canvas 上再替换 ,站点原图标保留为底图。
安装
从插件市场安装
在市场里搜索 dsh-badge 后安装,安装完成后按市场提示重启或等待热挂载。
从 npm 安装
dsh plugin --profile desktop add dsh-badge
dsh plugin add 只跑 pnpm,不会改 dsh.profile.bundles,装完还要在 profile 的 package.json 里把 dsh-badge 加进那个数组,否则插件不会加载。
展开完整文档(README 剩余 1 节)
dsh-badge
和 ChatGPT 标签页右上角那个红色数字角标同一个东西,搬到 DeepSeek Harness:回合结束时在标签页图标和 Windows 任务栏图标上叠加未读数,并播放提示音。
效果
- 标签页图标上出现角标,显示未读回合数(超过 99 显示 99+)
- 标题变成 (3) DeepSeek Harness
- Windows 上任务栏按钮同样挂上数字角标,窗口切回前台后清除
- 回合结束播放提示音,三种音色可选,错误回合可另配低音提示
- 标签页重新可见约 1.2 秒后自动清零
音效由 Web Audio 现场合成,插件不带任何音频文件;角标画在 canvas 上再替换 ,站点原图标保留为底图。
安装
从插件市场安装
在市场里搜索 dsh-badge 后安装,安装完成后按市场提示重启或等待热挂载。
从 npm 安装
dsh plugin --profile desktop add dsh-badge
dsh plugin add 只跑 pnpm,不会改 dsh.profile.bundles,装完还要在 profile 的 package.json 里把 dsh-badge 加进那个数组,否则插件不会加载。
手工安装(本地开发)
把本仓库放到任意目录,然后在 profile 的 package.json 里加两处:
{
"dependencies": {
"dsh-badge": "file:../dsh-badge"
},
"dsh": {
"profile": {
"bundles": [
// ...原有内容 "dsh-badge" ] } } }
再在 profile 目录执行 pnpm install。bundles 里少写这一行,插件不会加载。
配置
在 profile 的 cordis.patch.yml 里覆盖默认值(id 与 name 两项都要写,id 对应 cordis.patch.yml 里插入时用的 badge):
- id: badge
name: dsh-badge
config:
volume: 0.6
soundPreset: beep
minTurnDurationMs: 5000
| 配置项 | 默认值 | 说明 |
| enabled | true | 总开关 |
| badge | true | 是否绘制图标角标 |
| titlePrefix | true | 是否在标题前加 (N) |
| sound | true | 是否播放提示音 |
| soundPreset | chime | chime 两音铃声,beep 单声方波,rise 三音上行 |
| soundUrl | '' | 自定义音频地址,设置后替代内置音 |
| volume | 0.5 | 音量,0 到 1,走幂曲线而非线性 |
| minTurnDurationMs | 3000 | 短于该时长的回合不计角标、不响 |
| clearOnFocus | true | 标签页重新可见时清零 |
| badgeColor | #f5455c | 角标圆点颜色,十六进制 |
| badgePosition | br | 角标位置,br 右下角,tr 右上角 |
| errorSound | false | 回合失败时播放低音提示 |
| desktopBadge | true | Windows 专用:是否在任务栏按钮上画数字角标 |
| desktopBadgeWindow | DeepSeek Harness | 承载任务栏按钮的进程名 |
| desktopBadgeClearOnFocus | true | 窗口切回前台时清除任务栏角标 |
| debugLog | '' | 填一个文件路径,插件每次加载时向该文件追加一行,用来区分「没挂载」和「浏览器没画出来」 |
设置页
设置 → 插件管理 → 打开 dsh-badge 这个组合包,配置表单就在页面里:
- 颜色:六个预设色块,外加一个取色器
- 位置:右下角 / 右上角二选一
- 提示音:两音铃声 / 单声方波 / 三音上行,点哪个当场响哪个,旁边还有「试听当前音色」
- 音量:0–100% 滑杆
- 最短回合时长:数字输入
改完立刻生效,停手后自动写入 Host 设置文档,没有保存按钮。底部只显示「已自动保存」或「保存中…」,写入失败时出现「重试保存」。
实现上,表单注册进 plugins.bundle.config 槽,键是包名 dsh-badge。社区组合包不能用 plugins.item,那个槽只列官方插件。表单只在 Host 提供对应设置命名空间时才注册,所以没装这个插件的部署看不到它。
控件是自己画的:DSH 共享的 SettingsValueField 只渲染文本框,没有开关、下拉和取色器,所以这里保留 SettingsFormModel 负责暂存与提交,界面用原生控件自己拼。布尔类配置仍走配置文件。
可编辑字段声明为 volatile():Host 只为含 volatile 字段的条目提供设置命名空间。这类字段在宿主侧是带 get() 的引用对象,且不会序列化进浏览器 bundle,所以客户端从 settings scope 的 getSnapshot().value 读实时值并订阅后续变化。
手动验证
浏览器开发者工具控制台里:
__DSH_BADGE__.test(3) // 角标显示 3 并响一声
__DSH_BADGE__.clear() // 清零
__DSH_BADGE__.sound() // 只试听音效
__DSH_BADGE__.config // 当前生效的配置
__DSH_BADGE__.lastChime() // 上一声用的音量、音色和增益
__DSH_BADGE__.diag // 设置表单的注册状态 demo/index.html 是独立演示页,直接双击打开即可。它加载仓库里真实的 client.js,只把 DSH 的 sessions 服务换成假数据,用来单独验证角标和音效。
带上 ?auto=1 时,演示页会自动跑一遍「开始回合 → 结束回合」,把结果写进 ,可以用无头浏览器抓取:
chrome --headless=new --disable-gpu --virtual-time-budget=4000 \
--dump-dom "file:///…/demo/index.html?auto=1"
桌面端任务栏角标
Electron 的 setOverlayIcon 在这里用不了:插件跑在 DSH 的宿主进程里,带任务栏按钮的窗口属于另一个进程。Windows 允许任何进程通过 ITaskbarList3 给指定 HWND 画覆盖图标,所以宿主侧会拉起 taskbar.ps1,用管道喂它事件:
宿主 index.js ──stdin: add / tick / color / quit──▶ taskbar.ps1 ──ITaskbarList3──▶ 任务栏按钮
- 助手自己维护计数、画图标、判断前台窗口,add 加一,tick 检查窗口是否刚切回前台并清除
- 图标用 System.Drawing 现画:32×32 圆底白字,超过 99 显示 99
- 颜色跟随 badgeColor:启动时用 -BadgeColor 传进去,改设置时宿主每 800 毫秒读一次 volatile 引用,发现变了就发 color #rrggbb 让助手立刻重画,不需要重启
- 子代理的回合不计入任务栏角标,和标签页保持一致
- 助手带 -ParentPid 启动,父进程消失后自行退出并清掉角标,不留孤儿
不想装进配置档也能单独看效果:
npm run demo:taskbar
它会拉起助手,把计数推到 1、2、3,停两秒再清掉。
开发
npm run check # 语法检查
npm test # 单元测试(node --test,用 DOM 桩驱动真实 client.js)
仓库没有构建步骤:client.js 手写成 window.__ModuleLoader__.load({ id, factory }) 要求的形状,改完直接生效。
把仓库以目录链接的方式装进配置档时,Node 会按仓库真实路径解析依赖,@deepseek-ai/schemastery 会找不到。在仓库里建一个 node_modules/@deepseek-ai/schemastery 指向配置档中的同名包即可(node_modules/ 已加入 .gitignore)。
Windows 上用 PowerShell 读写含中文的文件要注意编码:Get-Content 对无 BOM 的 UTF-8 文件按本地代码页解码,会把中文写坏。改这类文件请用编辑器。
已知限制
- 任务栏角标只在 Windows 上可用,依赖一个常驻的 PowerShell 助手进程;macOS 和 Linux 上只剩标签页角标、标题前缀和音效。
- 助手按进程名找窗口。DSH 换名字或同机跑多个实例时,需要用 desktopBadgeWindow 指定,或者关掉 desktopBadge。
- 浏览器要求页面发生过一次点击或按键后才允许播放声音,插件在首次交互时解锁音频。
- 计数是全局未读回合数,不按会话分别统计。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
gaolvsuan/dsh-badge
在标签页与任务栏显示未读回合数并播放提示音
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,487已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,894已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,379已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 5,084已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,778已汉化DSH
71.1
这是你的仓库?认领条目