前言¶
DeepSeek Harness (DSH) 的 Web GUI 架构强调插件化与轻量化。对于开发者而言,一个可视化的交互对象不仅能作为状态监控的反馈,也能在长时间运行 Agent 任务时提供直观的陪伴感。totoro-pet 便是为此设计的 DSH 插件,它能在 Web 界面中提供一只常驻的 Q 版龙猫,通过互动养成与状态反馈,增强界面的生动性。
插件简介¶
totoro-pet 是一个 DeepSeek Harness Web GUI 桌宠插件。它提供了一只悬浮的 Q 版龙猫,支持喂食、抚摸、玩耍、睡觉等互动养成功能。该插件由 Lucasli2018 维护,采用 MIT 许可证。
核心功能¶
该插件主要包含以下功能模块:
- 四姿态 SVG 动画:支持待机呼吸眨眼、开心跳跃、睡觉 Zzz 上浮、进食咀嚼四种状态的平滑切换。
- 四种互动方式:提供喂食、抚摸、玩耍、睡觉四种核心交互,并伴随数值变化与气泡台词。
- 养成系统:包含饱食、心情、精力三个维度的状态管理,随时间线性衰减(睡眠状态下衰减减半),并具备经验值与等级提升机制。
- 龙猫台词库:内置五类口吻的台词库,支持断网时降级为本地台词。
- 个性化配置:支持拖拽换位、大小缩放(0.5×–2.0×)、不透明度调整(30%–100%)、闲置自动隐藏以及一键停用。
- 图鉴弹卡:展示四姿态的触发条件及龙猫小传。
- HTTP API:提供状态查询与交互接口。API 仅在回环地址 127.0.0.1 可达,请求体上限 64KB,返回统一错误码。
- 可靠持久化:状态落盘采用 tmp+rename 原子写操作,坏档可自动降级为默认值继续服务。
- 零构建:浏览器端采用单文件内嵌 SVG/CSS 的架构,无需打包工具或第三方运行时依赖。
安装与启用¶
安装过程仅需一步,无需额外配置。
- 在终端中执行以下命令将插件添加到 Web profile:
dsh plugin --profile web add totoro-pet
- 安装完成后,重启
dsh web服务,并在浏览器刷新 http://127.0.0.1:3080 页面。 - 刷新后,页面右下角将出现龙猫「绒绒」。
使用说明¶
基础的使用流程如下:
- 出现与交互:重启并刷新页面后,龙猫常驻右下角。鼠标悬停在其本体上,会浮现交互条(包含喂食、抚摸、玩耍、睡觉、图鉴、设置按钮)。
- 状态反馈:点击交互按钮,龙猫会触发对应动作(如进食咀嚼),并在顶部显示气泡台词与三维状态条(饱食/心情/精力)。
- 拖拽布局:按住龙猫本体,可将其拖拽到屏幕任意角落,位置会被记忆。
- API 操作:通过发送 HTTP 请求与插件交互。例如,查询状态时发送 GET 请求,执行互动时发送 POST 请求。
开发与调试¶
若需修改插件源码并实时生效,需要使用 HMR(热模块替换)功能。
- 启用热加载:在插件源码目录执行
npm run link(等同于dsh plugin --profile web add link:.)。首次执行后,需彻底退出并重启dsh服务。之后修改源码(如lib/client.js),保存约 1 秒后页面会自动更新,无需重启服务或刷新页面。 - 退出热加载:执行
npm run unlink(等同于dsh plugin --profile web remove totoro-pet),恢复为普通安装模式。
注意事项¶
- API 安全:HTTP API 仅允许回环地址 127.0.0.1 访问。
- 卸载与停用:执行
remove命令卸载插件时,需彻底退出并重启 dsh 服务才能清除残留引用。若只需暂时停用,可在 profile 的cordis.patch.yml中添加disabled: true,刷新页面即可生效,无需重启。 - 许可:遵循 MIT 许可证。
结语¶
totoro-pet 通过极简的架构与丰富的 SVG 动画,为 DSH Web GUI 增添了可视化的趣味性。它既可作为开发过程中的状态反馈组件,也可作为日常使用的桌宠。完整的文档与源码可参考项目目录页与 GitHub 仓库。