dsh-bloub-mood
动态心情图标 — 让 DeepSeek Harness (DSH) 的 favicon、侧边栏 logo 和首页标题随会话状态变成会动的 bloub 表情,形状 / 颜色 / 文字全部可在设置页自定义。
灵感来自 bloub(bloub, avatar SVG animé):一个可自定义形状/表情/颜色的 SVG 头像生成器(GitHub)。本插件把它的表情动画接到 DSH 的会话状态机上——你在标签页上扫一眼,就知道 agent 在干活、在等你、还是做完了。
效果预览
设置页 · 心情图标 / Mood(设置 → 心情图标):顶部 iOS 风格启停开关、实时大预览、五表情状态排、4 列网格选形状与颜色、4 个文字自定义输入框:

实际效果:侧边栏 logo 变成 ⚫ Yuuhann [工作台],首页标题与徽章也跟随自定义(示例:欢迎来到个人工作台 · My Lab):

换个造型:形状、颜色即时切换——同样是你熟悉的界面,但完全是你的风格(示例:圆形 · 蓝色):

状态 → 表情映射
| DSH 状态 | 触发条件 | bloub 表情 | 动画 |
|---|---|---|---|
| 执行中 | 会话 running |
专注 (attentif) | 眼睛转圈 |
| 等你输入 | pendingInteraction(提问/审批) |
好奇 (curieux) | 歪头看你 |
| 完成待读 | completed(回合结束未点开) |
得意 (fier) | 骄傲脸 |
| 空闲 | 以上都不是 | 平静 (neutre) | 呼吸 |
| 困倦(彩蛋) | 空闲超 10 分钟 | 困倦 (somnolent) | 打瞌睡 |
优先级:等你输入 > 执行中 > 完成待读 > 空闲。多个会话任一命中即触发。表情按状态自动切换,无需(也不能)手动选择。
安装
dsh plugin --profile web add dsh-bloub-mood
(npm 安装,秒级完成;也可用 GitHub 源:dsh plugin --profile web add github:Yuuhann1999/dsh-bloub-mood)
然后重启 dsh web,刷新页面,在 设置 → 心情图标 里挑一个喜欢的造型。已装 dsh-market 插件市场的,收录合并后在市场里搜 "bloub" 也能一键安装(带截图展示)。
版本
当前 1.0.0(npm)。升级:dsh plugin --profile web add dsh-bloub-mood@latest 后重启。
可配置项
| 配置 | 选项 | 默认 |
|---|---|---|
| 启用开关 | iOS 风格滑动开关,停用即完全恢复官方原样 | 启用 |
| 形状 | 圆形 / 卵石 / 圆角方 / 胶囊 / 三角 / 六边形 / 云朵 / 水滴(8 种) | 圆形 |
| 颜色 | 墨黑 / 棕 / 红 / 橙 / 琥珀 / 绿 / 青绿 / 蓝 / 紫 / 玫粉 / 灰 / 奶油(12 种) | 墨黑 |
| 主字标 | 侧边栏展开时的名字 | Yuuhann |
| 侧栏徽章 | 名字后的胶囊标签,留空隐藏 | 工作台 |
| 首页标题 | 输入框上方的大标题,留空保留官方"探索未至之境" | (空) |
| 首页徽章 | 标题旁的胶囊标签,留空隐藏 | 预览版 |
配置存于 localStorage,刷新与重启后保持。
特性
- favicon 动画:
<link rel=icon>指向内嵌 CSS 动画 SVG 的 data URL,标签页图标会动(Chrome/Edge/Firefox 支持 SVG favicon 动画) - 侧边栏 logo 动画:原生 FishLogo / BrandWordmark 被替换为同位动图(CSS 动画在
<img>中照常播放) - 首页文字自定义:标题与徽章直接替换文字,字体/字号/颜色沿用官方样式
- React 共存:内联 style 隐藏 + 孤儿清扫 + attribute 监听三重自愈,折叠/展开侧栏、路由切换均不丢效果、不重复注入
- 零网络请求:40 个动画 SVG(8 形状 × 5 表情)构建期内嵌,颜色运行时替换,单文件自包含
- 即插即用:纯客户端插件,无宿主侧行为,无 API key
换素材(开发者)
素材由 tools-gen-assets.mjs 从 bloub 网站程序化导出(jsdom 拦截导出 Blob,仅存在于 GitHub 仓库,npm 包内不需要):
node tools-gen-assets.mjs # 重新生成 assets/(8 形状 × 5 表情)
node build.mjs # 内嵌进 lib/client.js
改状态映射 / 空闲阈值 / 排版参数:编辑 client-template.js 后重新 build。发新版本:npm version patch → push → npm publish。
致谢
- bloub — 表情素材与灵感(jeremy-prt/bloub,MIT)
- dsh-web-attention-badge — 状态→favicon 机制的先例
- dsh-dream-skin — 设置页注入模式参考
License
MIT
No comments yet. Be the first to write one.