前言¶
在 DeepSeek Harness(DSH)里长时间盯着 Web UI 对话时,流式输出往往只有文字在动,界面其余部分静止。若希望背景能反映当前模型是否在「干活」、吐字快还是慢,需要自己改前端或找装饰类方案。dsh-donkey-mill(仓库 lisusuba/Hardworking-donkey)是 maintainer lisusuba 发布的趣味换装类插件:把 Web UI 背景换成俯视「驴拉磨」,驴与磨盘的转速跟模型实时 token 吞吐联动;模型空闲时仍缓慢踱步,不会停死。包名 dsh-donkey-mill,npm 与 GitHub 均可安装,MIT 许可证,当前 package 版本 1.0.0。
这是什么¶
dsh-donkey-mill 定位是 DSH Web UI 背景插件:订阅宿主流式事件,估算平滑后的 tok/s,前端按该速率驱动 SVG 动画。仅面向 Web UI(platform: "web"),在 dsh 0.2.0-rc.2 上开发与验证。
社区目录归类为「趣味换装」;在 SkillHub 插件页 可查看条目(目录为独立生态站点,与 DeepSeek / 幻方无官方从属关系)。
两种呈现形态¶
插件支持两种形态,可在页面内即时切换:
- 文字(
text) — 中央大字「磨」,左侧「驴」沿圆轨公转,磨盘与公转同步自转;楷体优先,偏水墨静感。 - 动画(
animated,默认) — 俯视卡通驴拉磨:四蹄、尾巴、尘土与磨盘自转,随进度联动。
右下角有可折叠控制面板:切换形态、调节透明度、隐藏整个背景。设置写入浏览器 localStorage,刷新后保留,一般无需改宿主配置或重启。
可选在场景底部显示 N tok/s 读数(由 bundle 默认项 showReadout 控制,Web 端以面板与本地存储为准)。
安装与启用¶
推荐从 npm 安装预构建包(无需构建授权):
dsh plugin --profile web add dsh-donkey-mill
也可从 GitHub 安装到同一 profile:
dsh plugin --profile web add github:lisusuba/Hardworking-donkey
安装后可用下面命令确认 bundle 层已进入组合配置(应能看到 # == dsh-donkey-mill 相关层):
dsh --profile web --dump-config
在 Harness 设置 → 插件(Plugin Manager) 中确认 dsh-donkey-mill 已启用,刷新 Web 页面即可看到背景与控制面板。
本地开发目录安装示例:
dsh plugin --profile web add /path/to/Hardworking-donkey
卸载:
dsh plugin --profile web remove dsh-donkey-mill
配置说明¶
插件在宿主配置中的行 id 为 donkey-mill,包名为 dsh-donkey-mill。cordis.patch.yml 中的默认字段如下(宿主重启后默认值生效;日常调节以 Web 控制面板 + localStorage 为准):
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled |
boolean | true |
是否启用插件 |
mode |
animated | text |
animated |
渲染形态 |
size |
number (160–720) | 380 |
场景宽度(px) |
opacity |
number (0.05–1) | 0.55 |
整体不透明度 |
showReadout |
boolean | true |
是否显示底部 tok/s 读数 |
position |
字符串枚举 | bottom-right |
历史字段,已忽略(场景全屏居中) |
工作原理(便于排错)¶
宿主半边(index.js):
- 订阅
agent/assistant-stream; - 按 attempt 维护 EMA 平滑的 token 吞吐(综合
usage与text-delta/reasoning-delta/tool-call-delta估算); - 通过精确路由
GET /api/donkey-mill/rate返回{"rate": <tok/s>, "active": <bool>}。
Web 半边(client.js):
- 注册在
shell.overlay槽(order: -100,点击穿透); - 每 300ms 轮询速率接口,用
requestAnimationFrame写 SVG 属性; - 两种形态共用同一运动学:空闲保底角速度 + 按 tok/s 加速;
- 零运行时依赖,无需单独构建步骤。
主题色使用 DSH 主题令牌(--dsw-alias-*),亮/暗主题自动适配。
适用场景与注意¶
适合希望在 DSH Web 对话界面用轻量装饰反馈「模型是否在流式输出、大概多快」的开发者。不适合 CLI 或非 Web 场景:插件声明仅 Web,依赖 shell.overlay 与 webServer 路由。
安装插件前请自行阅读仓库源码与 MIT 许可证;插件在当前 dsh 进程权限下运行,与任意第三方 DSH 插件相同,应对来源与行为有基本信任。
仓库主要文件:index.js(宿主)、client.js(Web 客户端)、cordis.patch.yml(Loader patch)、locale/{en,zh}.json(显示名与描述)。
结尾¶
dsh-donkey-mill 把模型 live token 吞吐映射成「驴拉磨」转速,并提供文字/动画两种形态与右下角面板,属于 DSH「一切皆插件」思路下的纯装饰增强。条目与说明见 SkillHub 目录页,源码与 README 见 GitHub:lisusuba/Hardworking-donkey。