Repository navigation
Releases
Better Notice 4.6.5 — factory presets follow the current default
已发布到 npm — 一行命令装。
dsh plugin --profile <你的 profile> add @merusu/dsh-better-notice装完重启该 profile 的 GUI。
这一版改了什么
- 出厂预设跟着新版本走:某个存值如果仍然等于老版本出厂时的默认(闲置图标
💤、动效blink/none、motionTarget: 'glyph'、频率1、音效关),就当作"你没选过",自动换成当前默认。老用户升级后,闲置图标会从💤变成🧊。 - 真选过的不会被覆盖:用户自己动过的字段会记一个
choices标记,预设规则永远不碰它。设置页里关掉音效、选"不动/闪烁/仅图标"、把频率拉到 100%,改完刷新后都还是你选的值(上一版会被弹回默认)。 - 文档里的行号全部重对:
client.js的client.js:N与测试的test:N按新文件逐条重映射并核对;测试组从 63 增到 65。
4.6.4 只在本地存在,没有对外发布;这一版是 4.6.3 → 4.6.5。
装完怎么确认
window.__HOTLIST_VERSION__ // "4.6.5"
window.__HOTLIST__.settings.get().choices // {} 或你改过的字段打开设置 → 「热表」,随便关掉一个类别的音效,刷新页面,应该还是关的。
已知限制
- 顶栏位置还没实现(设置里是灰的)。
- 浮层探头动画还没接进插件(目前只有 tab 座位、侧栏图标、音效)。
- 素材是作者自己的角色图占位,可以在设置里换。
Better Notice 4.6.3 — on npm
Better Notice 4.6.3
已发布到 npm — 现在可以一行命令装。
dsh plugin --profile <你的 profile> add @merusu/dsh-better-notice装完重启该 profile 的 GUI(只改 client.js 的话刷新页面就够)。
这一版改了什么
- 删掉第 7 类「收藏」:类别从 7 变 6 ——
pinned / error / pending / completed / running / idle。旧数据里的categories.favorite读时丢弃,不报错。 - 旧默认顺序自动升级:只把「仍是旧默认值」的那一类换成新默认(
pinned 15 / error 10 / pending 10 / completed 20 / running 30 / idle 50),你手动改过的值原样保留。 - 「最近对话展示时间」补了单位(分钟):设置页范围收窄到
1–36,但通过 API 仍可写0–120(0= 不显示闲置)。 - README 改成中英双版本,并加了
AGENTS.md/llms.txt给 AI 读。
装完怎么确认
打开 GUI 控制台:
window.__HOTLIST_VERSION__ // "4.6.3"
Object.keys(window.__HOTLIST__) // ["version","settings","assets"]设置 → 「热表」,应该看到 6 张类别卡、全局区有「置顶最多显示」和「最近对话展示时间(分钟)」。
已知限制
- 顶栏那个位置还没实现(设置里是灰的)。
- 浮层探头动画还没接进插件(目前只有 tab 座位、侧栏图标、音效)。
- 素材是作者自己的角色图占位,可以在设置里换。
Better Notice 4.6.2 — on npm
Better Notice 4.6.2
已发布到 npm — 现在可以一行命令装。
dsh plugin --profile <你的 profile> add @merusu/dsh-better-notice装完重启该 profile 的 GUI(只改 client.js 的话刷新页面就够)。
这一版改了什么
- 删掉第 7 类「收藏」:类别从 7 变 6 ——
pinned / error / pending / completed / running / idle。旧数据里的categories.favorite读时丢弃,不报错。 - 旧默认顺序自动升级:只把「仍是旧默认值」的那一类换成新默认(
pinned 15 / error 10 / pending 10 / completed 20 / running 30 / idle 50),你手动改过的值原样保留。 - 「最近对话展示时间」补了单位(分钟):设置页范围收窄到
1–36,但通过 API 仍可写0–120(0= 不显示闲置)。 - README 改成中英双版本,并加了
AGENTS.md/llms.txt给 AI 读。
装完怎么确认
打开 GUI 控制台:
window.__HOTLIST_VERSION__ // "4.6.2"
Object.keys(window.__HOTLIST__) // ["version","settings","assets"]设置 → 「热表」,应该看到 6 张类别卡、全局区有「置顶最多显示」和「最近对话展示时间(分钟)」。
已知限制
- 顶栏那个位置还没实现(设置里是灰的)。
- 浮层探头动画还没接进插件(目前只有 tab 座位、侧栏图标、音效)。
- 素材是作者自己的角色图占位,可以在设置里换。
Better Notice v4.6.1
Better Notice 4.6.1
DeepSeek Harness Web 的插件:把会话状态统一成视觉与听觉提醒。
- 对话区 tab 行:每个热会话占一个座位,点一下直接切过去
- 左侧会话栏:每行标题前一枚状态图标(可带动效)
- 状态变化时:响一声 + 弹一张图(默认只有 error / pending / completed 会弹)
六类状态,一个会话只属于一类,优先级 error > pending > completed > running > pinned > idle。
安装
dsh plugin --profile <你的 profile> add @merusu/dsh-better-notice装完重启该 profile 的 GUI(只改 client.js 才可以只刷新页面)。确认成功:window.__HOTLIST_VERSION__ 返回 4.6.1,设置里出现「热表」导航。
这一版改了什么
- 删除第 7 类「收藏」,7 类 → 6 类(旧数据读时丢弃,不迁移、不报错)
- 老安装的旧默认顺序逐类自动升级,改过的值原样保留
- 「最近对话展示时间」补单位(分钟),设置 UI 收窄到 1–36,API 仍可写 0–120
- 内置素材只留会弹图的三个状态:
error/pending用红色 Meru,completed用蓝色 Lan;pinned/running/idle回落到自带 SVG 再回落 emoji —— 包体积从 1.6 MB 降到 700 KB - 内置音效两个 wav:
pending/error→attention.wav,completed→complete.wav
已知限制
文字动效只在左侧会话栏生效(tab 行座位的 label 由宿主渲染);顶栏位置尚未实现;.mp3/.wav 必须走插件自己注册的 /hotlist-sound 路由(宿主素材路由只认图片);静态路由不鉴权,只放公开素材。
完整文档见 README、ARCHITECTURE、EXTENDING。
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 端口绑定;换端口打开会看起来「设置丢了」。