totoro-pet: DeepSeek Harness Web GUI 桌宠插件

前言

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 的架构,无需打包工具或第三方运行时依赖。

安装与启用

安装过程仅需一步,无需额外配置。

  1. 在终端中执行以下命令将插件添加到 Web profile:
    dsh plugin --profile web add totoro-pet
  1. 安装完成后,重启 dsh web 服务,并在浏览器刷新 http://127.0.0.1:3080 页面。
  2. 刷新后,页面右下角将出现龙猫「绒绒」。

使用说明

基础的使用流程如下:

  1. 出现与交互:重启并刷新页面后,龙猫常驻右下角。鼠标悬停在其本体上,会浮现交互条(包含喂食、抚摸、玩耍、睡觉、图鉴、设置按钮)。
  2. 状态反馈:点击交互按钮,龙猫会触发对应动作(如进食咀嚼),并在顶部显示气泡台词与三维状态条(饱食/心情/精力)。
  3. 拖拽布局:按住龙猫本体,可将其拖拽到屏幕任意角落,位置会被记忆。
  4. 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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜