方糕萌宠:随 DeepSeek Harness 会话状态变化的悬浮 SVG 伙伴

前言

在 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 + 插件管理器链接目录。

  1. 将 fanggao-pet 仓库 放到本机,得到 bundle 根目录的绝对路径。
  2. 在 Harness 插件管理器中执行安装本地 bundle:
    - 动作:install_bundle
    - 目标:上述目录的绝对路径
  3. 安装后插件立即激活,方糕默认出现在右下角。卸载或重装时,管理器会重新链接该 bundle。

package.json 中声明为 @local/fanggao-pet 1.0.0,MIT 许可;Client 依赖 @deepseek-ai/dsh-client-ui-layout,并设置 immediately: true 以便尽快注入。

典型用法

安装并打开任意会话后,无需额外配置即可观察状态:

  1. 发起一轮会触发 Agent 运行的对话,方糕应进入奔跑态。
  2. 运行结束且无错误时,应回到睡觉态。
  3. 若会话出现 lastAgentError、promptError、openError 或 openState === 'error',方糕切换为生气态。
  4. 将方糕拖到习惯的位置,刷新页面确认位置仍被记住。

想重置位置时,清除浏览器 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。

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

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

小夜