DeepSeek Harness (DSH) 宠物插件介绍

DSH 生态秉承“一切皆插件”的理念,在开发 Web 界面时,开发者常需要背景装饰或交互反馈。下面介绍 dsh-ui-pet,一个为 DSH Web GUI 设计的 Canvas 精灵宠物插件。

它是什么

dsh-ui-pet 是一个基于 Canvas 的程序化绘图宠物,无需额外的素材文件。它作为 DSH 的 bundle 和 client plugin 存在,渲染在 shell.overlay 层,固定定位在视口右下角。由于设置了 pointer-events:none,它不会阻挡页面内容的点击操作,且层级低于其他覆盖层和对话框,完全作为背景装饰存在。

核心功能

  1. 程序化绘制:宠物完全由代码生成,无需加载图片资源,包含 DPR(设备像素比)感知渲染。
  2. 活动检测:通过 DOM 观察 data-* 钩子(如 data-composer-card 和 data-chat-flow)来检测状态。
  3. 交互反应:
    • 打字时:宠物向输入框倾斜,瞳孔聚焦,尾巴摆动加快,显示打字气泡。
    • 流式传输时:宠物切换为沉思姿态,头部微抬,显示忙碌气泡。
    • 空闲时:宠物呼吸、眨眼,眼睛跟随鼠标移动,头部随视线微调。
  4. 非阻塞设计:使用 pointer-events:none 属性,确保宠物不会影响用户与界面的交互。

安装与启用

该插件通过 DSH 的 CLI 进行安装和注册。

dsh plugin --profile web add @nkj/dsh-ui-pet

安装后,CLI 会自动将依赖声明合并到 dsh.profile.bundles,并在下次启动时提供 /plugins/@nkj/dsh-ui-pet/client.js。

典型用法

启动 Web profile 后,在浏览器中访问应用:

  1. 输入交互:在编辑器中打字,宠物会实时向输入框方向倾斜,并显示打字动画。
  2. 流式响应:发送消息后,当助手开始流式输出回复时,宠物会切换到工作姿态。
  3. 观察细节:移动鼠标,宠物的眼睛会追踪光标,头部随之转动,尾巴会自然摆动。

适用场景与注意

  • 目标版本:插件运行时兼容 DSH 0.1.1-rc.2(web profile)。
  • 性能与权限:插件仅运行在浏览器端进行展示,不会触及模型请求,也不会影响 KV 缓存。
  • 已知限制:
    • 渲染层级:由于 DSH 的源码限制,插件无法渲染在应用内容下方。它是通过半透明和角落定位来避免遮挡阅读区域。
    • 状态判断:忙碌状态检测基于 DOM 变动的启发式算法,短暂的非流式操作(如工具展开)可能会触发工作姿态。
    • 无类型支持:构建产物是独立的,不依赖 @deepseek-ai/* 内部包,但在 DSH 单体仓库内开发时需恢复类型定义。

这是一个轻量级的趣味插件,适合希望在不修改 DSH 核心源码的前提下,为 Web 界面增加拟人化细节的开发者。

插件目录页 | GitHub 仓库

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

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

小夜