dsh-client-ui-pet:DeepSeek Harness Web UI 的桌宠插件

前言

DeepSeek Harness (DSH) 是一个基于插件架构的智能体开发环境。在长时间调试或运行 Agent 时,缺乏可视化的状态反馈会降低工作体验。dsh-client-ui-pet 是该系统的客户端宠物插件,在界面右下角注入一只可拖拽的桌宠。它参考 Codex Pets 的设计,通过状态跟随和轻养成系统,为开发者提供陪伴式交互体验。

核心功能

Codex 式状态陪伴

插件通过 MutationObserver 监听 Harness Web UI 的 DOM 变化,感知真实活动信号,并切换宠物动作:

  • typing:在输入框 [data-composer-seat] 或 textarea 中输入时,宠物注视键盘。
  • thinking:出现 [data-state="running"] 或停止生成按钮时,进入思考状态。
  • working:检测到 [data-streaming] 时,处于忙碌状态。
  • done:生成结束,触发庆祝动画,心情 +2,亲密度 +1。
  • error:检测到 [data-error],进入担心状态,心情 -3。
  • sleep:空闲超过设定时间进入睡眠,出现 Zzz 粒子;任何活动或互动会唤醒宠物。

轻养成系统

宠物拥有独立的数据存储:

  • 心情:0-100 分,随时间缓慢衰减,互动可恢复。低于 30 时会主动求关注。
  • 亲密度:0-100 分,只增不减,记录共同工作的羁绊。
  • 互动统计:记录抚摸、喂食、玩耍的次数。
  • 数据存储:所有养成数据仅保存在浏览器的 localStorage 中。

用户自定义界面

点击宠物工具栏的齿轮按钮可打开设置面板,包含 5 个页签:

  1. 宠物:选择内置或自定义宠物,支持四角定位、复位或隐藏。
  2. 外观:设置昵称、调整体型,通过颜色选择器更换颜色(部分模式不支持)。
  3. 行为:控制状态跟随、气泡台词、粒子特效及自动睡觉开关(1/3/5/10 分钟可选)。
  4. 养成:查看心情与亲密度进度条及互动统计,支持重置数据。
  5. 工作室:导入/导出自定义宠物定义 JSON。

宠物支持直接拖拽,并提供 WCAG 2.2 兼容的替代操作(四角按钮、键盘 Enter/Space 抚摸)。

JPG 主图宠物(Raster 模式)

不希望使用手绘 SVG?插件支持将 JPG/PNG/WebP 作为宠物主图。引擎会为图片叠加状态动画(呼吸、点头、弹跳等),气泡、粒子与养成系统通用。

  • 限制:JPG 主图不支持换色,其余外观选项可用。
  • 来源:支持 Base64、HTTP/HTTPS URL 或同源路径 / 开头的文件。
  • 制作:使用 make-raster-pet.py 脚本抠图、压缩并生成定义。

开发者完全自定义:dshPetDefinition

通过 dshPetDefinition JSON 对象,开发者可以完全自定义宠物的动作、行为与表现。定义支持 SVG 绘图、CSS 关键帧动画、状态机配置以及自定义触发器。内置触发器包括 activity:typing、activity:done、interaction:pet 等,也可通过 window.dshPet.trigger("your:custom-trigger") 触发。

安装与启用

该插件为标准 dsh.client 双面包(Host 半侧为空 Loader,Browser 半侧注入 UI)。

方法 A:profile bundle(推荐)

编辑 <DSH_HOME>/profiles/web/package.json,添加依赖和 bundle 配置:

{
  "dependencies": {
    "dsh-client-ui-pet": "file:D:/Softwares/CodeSoftWares/Agents/dsh-client-ui-pet"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-client-ui-pet"
      ]
    }
  }
}

安装依赖后,重启 DeepSeek Harness Web(已打开的页面刷新即可)。

方法 B:手动插入 Loader 行

  1. 将插件目录复制到 <DSH_HOME>/profiles/web/node_modules/dsh-client-ui-pet。
  2. 编辑 <DSH_HOME>/profiles/web/cordis.patch.yml:
- insert:
    - id: ui-pet
      name: 'dsh-client-ui-pet'
      config:
        enabled: true
  1. 刷新 Harness Web 页面。

验证:右下角出现 DeepSeek 鲸鱼娘,点击可抚摸,悬停出现工具栏,齿轮打开设置面板。

典型用法

  1. 拖拽与互动:按住宠物可拖拽至屏幕任意位置。点击抚摸、喂食或玩耍按钮进行互动。
  2. 自定义宠物:在设置面板的“工作室”页签中,粘贴 JSON 定义并导入自定义宠物。
  3. Raster 宠物:将图片放入 assets/<宠物id>/ 目录,使用脚本生成定义并内嵌,或通过 URL 引用。

注意事项

  • 隐私安全:纯浏览器端插件,不读取 API Key,不修改模型输入,不上传任何数据。所有数据仅保存在本地 localStorage。
  • JPG 限制:JPG 格式的主图不支持换色功能。
  • Host 更新:若 Host 半侧代码更新,需重启 Harness Web 才能使新配置生效。

总结

dsh-client-ui-pet 为 DeepSeek Harness 提供了可视化的状态反馈与陪伴功能。它不依赖后端数据,完全在浏览器本地运行,支持高度的自定义开发。无论是使用内置的鲸鱼娘,还是通过开发者 API 制作专属宠物,都能增强在 DSH 环境下的工作体验。

插件目录页 | GitHub 仓库

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

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

小夜