Repository navigation
Better Notice v4.5.0
Better Notice v4.5.0
首个公开发布版。DSH(DeepSeek Harness)Web UI 的插件:把会话状态统一成视觉与听觉的提醒——对话区 tab 座位、左侧会话栏状态图标、每个状态的提示音、弹出图像。
它做什么
七类状态,三个显示面:
| 类别 | 什么时候出现 | 座位 | 侧栏图标 | 弹出图 | 音效 |
|---|---|---|---|---|---|
📌 pinned |
你在设置里钉住的会话 | ✅ | ✅ | — | — |
⛔ error |
Agent 报了错,10 分钟过期 | ✅ | ✅ | ✅ | 🔈 |
🔐 pending |
等你审批 / 回答 / 过方案 | ✅ | ✅ | ✅ | 🔈 |
✅ completed |
看到它跑完,7 分钟内 | ✅ | ✅ | ✅ | 🔈 |
⏳ running |
正在干活(含子代理在跑) | ✅ | ✅ | — | — |
💤 idle |
空闲,且在「最近对话展示时间」内 | ✅ | ✅ | — | — |
⭐ favorite |
预留 | — | — | — | — |
判定优先级固定 pinned > pending > error > completed > running > idle,展示顺序由每类的 order 决定。
安装
需要 Node 22+ 与一个跑得起来的 DSH Web profile(本版在 DSH 0.2.2-rc.1 上核对)。
git clone https://github.com/MeruSu/better-notice.git C:\src\better-notice
dsh plugin --profile <profile> add C:/src/better-notice
dsh --profile <profile> # 必须重启:bundle patch 与 host 路由只在启动时读装完自检(浏览器控制台):
window.__HOTLIST_VERSION__ // '4.5.0'
typeof window.__HOTLIST__ // 'object'
await fetch('/hotlist-sound/attention.wav').then(r => [r.status, r.headers.get('content-type')])
// [200, 'audio/wav']页面顶部不应出现 Failed to load plugins。设置入口:账号菜单 →「设置」→ 左导航「热表」。
尚未发布到 npm,所以现在只能用上面的目录方式安装;等发布后 dsh plugin --profile <profile> add @merusu/dsh-better-notice 才成立。
本版变更
- 包名
@local/dsh-hotlist→@merusu/dsh-better-notice,package.json的version与VERSION对齐到4.5.0。 - 设置页删掉「浮层尺寸」那一栏;字段与取中值的算法保留,可经 API 改。
- 内置音效从 21 条 mp3(每类 7 条随机)换成两个 wav 一对一映射:
pending/error→attention.wav,completed→complete.wav。 - 随仓库附
tools/meru-tts/:生成这两条提示音用的 TTS 小工具(不参与插件运行)。 - 文档重写:README 面向使用者,CONTRIBUTING 说明开发与提交约定(含「宿主会调用的回调必须传函数」这条踩过的坑),ARCHITECTURE / TESTING / EXTENDING 同步。
验证情况
node --check client.js/index.js/test/classify.test.mjs→ exit 0node test/classify.test.mjs→PASS — 58 groups- 静态闸门(未声明常量 / 已删字段 / 模块形状)→ clean
- 全新 profile 从零安装:
dsh plugin --profile meru-clean add <目录>一次成功;启动后window.__HOTLIST_VERSION__ = "4.5.0"、无横幅、设置页 7 卡 14 行齐全、/hotlist-sound/attention.wav→ 200audio/wav53804B、/hotlist-sound/../package.json→ 404 - 真机界面(tab 座位、侧栏图标、设置页、音效播放)在开发期反复验证过;本版改动只涉及删一行 UI、换音效映射与改名
已知限制
完整清单见 README「已知限制」。最值得先知道的三条:
Alt+1..9直跳未实现(网页端裸 Alt+数字被宿主白名单拒,dsh-session-hotkeys又在 capture 阶段抢键)。提供Alt+Shift+[/]循环与Alt+Shift+S手动弹浮层。- 「刚完成」只保留 7 分钟(可调 1–1440),且只覆盖 agent 级错误;工具执行失败不算错误。
- 设置存在 localStorage,与 GUI 端口绑定;换端口打开会看起来「设置丢了」。