前言¶
在 DeepSeek Harness(DSH)里长时间跑智能体会话时,界面往往只有日志与输入框,很难一眼看出「当前是否在跑」「是否已结束」「是否报错」。方糕萌宠(gavinff1990/fanggao-pet)是社区目录里归类为「趣味换装」的 UI 插件:在页面最上层挂一只方糕造型的小角色,用动画反映当前主视图会话的 SessionSnapshot,可拖拽并记住位置。下面介绍它是什么、如何安装,以及状态与排错要点。
这是什么¶
方糕萌宠是 DeepSeek Harness 的本地 bundle,包名为 @local/fanggao-pet,维护者为 gavinff1990。Host 半(index.js)只负责注册 bundle;Client 半(client.js)在 Web 端注入浮层、订阅会话快照并绘制 SVG。它不占用主布局,渲染在 shell.overlay 帧级浮层上,默认出现在页面右下角。
核心功能¶
三态动画¶
动画由当前主视图会话的 SessionSnapshot 实时驱动。Client 订阅 sessions.list,找到 retainedBy.mainView > 0 的会话,再经 sessions.binding(id).session 读取快照并切换形态:
| 状态 | 触发条件 | 表现 |
|---|---|---|
| 奔跑 | running === true |
上下弹跳、双腿交替、速度线 |
| 睡觉 | 空闲且无报错 | 横躺、闭眼、头顶 Z z z |
| 生气 | 存在 lastAgentError / promptError / openError,或 openState === 'error' |
竖眉、撇嘴、红脸、额头青筋脉冲 |
没有打开会话时,默认显示睡觉。
悬浮、拖拽与交互¶
- 浮层始终在最上层;除方糕本体(约 88×88 像素)外,区域为 click-through,不会挡住下方操作。
- 按住方糕可拖到任意位置;坐标写入
localStorage键fanggao-pet.position,刷新后保留。 - 实现为纯 SVG + CSS 动画,体小、缩放清晰。
自定义入口¶
在 client.js 顶部可改 COLORS,以及 runningPose / sleepingPose / angryPose。默认位置由 defaultPos() 控制;位置存储键为 STORE_KEY(默认 fanggao-pet.position)。修改 client.js 后,在插件管理器中重新安装同一 bundle 目录即可热加载。
安装与启用¶
本插件不是通过臆造的 dsh plugin add github:… 一行命令安装,而是本地 bundle + 插件管理器链接目录。
- 将 fanggao-pet 仓库 放到本机,得到 bundle 根目录的绝对路径。
- 在 Harness 插件管理器中执行安装本地 bundle:
- 动作:install_bundle
- 目标:上述目录的绝对路径 - 安装后插件立即激活,方糕默认出现在右下角。卸载或重装时,管理器会重新链接该 bundle。
package.json 中声明为 @local/fanggao-pet 1.0.0,MIT 许可;Client 依赖 @deepseek-ai/dsh-client-ui-layout,并设置 immediately: true 以便尽快注入。
典型用法¶
安装并打开任意会话后,无需额外配置即可观察状态:
- 发起一轮会触发 Agent 运行的对话,方糕应进入奔跑态。
- 运行结束且无错误时,应回到睡觉态。
- 若会话出现
lastAgentError、promptError、openError或openState === 'error',方糕切换为生气态。 - 将方糕拖到习惯的位置,刷新页面确认位置仍被记住。
想重置位置时,清除浏览器 localStorage 中的 fanggao-pet.position 后刷新。
适用场景与注意¶
适合希望在 DSH 主界面用轻量视觉反馈跟踪会话状态的开发者。它只读会话快照并绘制 overlay,不改变 Agent 逻辑。
安装前请自行阅读仓库源码与 LICENSE:插件与 Harness 客户端同进程运行,权限等同于当前 DSH Web 环境。社区目录 SkillHub 插件页 与 GitHub 均为社区维护入口,与 DeepSeek / 幻方无官方从属关系。
排错摘要:
- 看不到方糕:确认插件已启用且在主界面;需有打开的会话(overlay 条目随主视图会话存在)。
- 拖不动:指针须落在方糕本体上,而非透明浮层区域。
- 状态不变:确认当前存在主视图 retained 的会话;无会话时仅为睡觉态。
结尾¶
方糕萌宠把 SessionSnapshot 里的运行与错误信号转成三种 SVG 姿态,并支持可记忆的悬浮拖拽,适合作为 DSH「一切皆插件」生态里的趣味 UI 扩展。详情与预览图见 GitHub 仓库,目录介绍见 SkillHub:gavinff1990/fanggao-pet。