前言¶
在 DeepSeek Harness 的 Web UI 中,当会话处于空闲、思考或等待状态时,界面往往只有静态提示。对于习惯通过视觉反馈感知状态的智能体开发者,这种静默会降低掌控感。Deepy(dsh-deepy-pet)是一个 Web UI 客户端插件,在 composer 顶部边缘放置一只像素风格的蓝鲸,通过状态动画和 30 秒巡航行为,提供持续的视觉反馈。
插件简介¶
Deepy 是 ChenWeiqi12345 维护的趣味换装类插件,名称为 “Deepy”。它不持有会话状态,而是读取 conversation slot 已暴露的 useSession、useSessionStatus 和 useChat 等标准 props,根据当前会话状态改变表情与行为。鲸鱼保持参考轮廓:紧凑头部、长身、分叉尾鳍、双目与腮红,通过这些特征表达不同状态。
核心功能¶
状态映射¶
Deepy 对应以下会话状态:
- Idle:已完成会话且无待办工作
- Thinking:助手正在推理或调用工具
- Writing:助手正在流式输出回答文本
- Error:最近一轮失败或提示失败
- Done:刚完成一轮成功交互
- Playful:被点击,或随机空闲情绪
- Waiting:等待用户审批或回答问题
- Expecting:用户在 composer 中输入,鲸鱼停止巡航并注视
- Daze:随机空闲情绪
- Sleeping:两分钟无活动或随机小睡
- Cruising:30 秒巡航(见下文)
30 秒巡航机制¶
当没有会话工作或审批需要显示状态动画时,每 30 秒触发一次巡航。巡航分五步执行:
- 转身:侧身展示,使用挤压与翻转过渡,非硬切
- 前进:平滑滑行至巡航路径上的随机点,每次巡航位置不同
- 入水:水面浮现深蓝色像素水堆,随后爆裂成飞溅效果
- 下潜:鲸鱼以头朝下姿态潜入 composer 边缘下方
- 上浮:返回过程耗时与出航相同(各 6 秒),头肩先出水面,伴随第二次水爆,无透明度渐变
巡航期间若检测到会话工作或用户输入,巡航会被推迟,以确保状态动画可读。
打字优先¶
一旦 composer 草稿变为非空文本,Deepy 立即取消巡航并切换到 expectant 表情。最后一次编辑后保持注视几秒,再回到当前会话状态。
名字与提示¶
在设置中打开「⚙ → Your name / Deepy’s name」可分别重命名用户与鲸鱼,名字保存在本地。任务完成后,Deepy 在气泡中显示完成语句,例如:”{pet} has finished helping {user}!”。失败、等待、打字、逗弄、发呆、睡眠、巡航和上浮等行为各有对应的随机语句,语句使用当前设置中的名字。
交互控制¶
- 拖拽:左右拖动鲸鱼调整位置,巡航过程中拖拽可停止出航
- 点击 / 触摸:触发 playful 状态
- ⚙:打开设置面板,可修改用户名、鲸鱼名、尺寸与位置
- 方向键:微调位置
- + / -:调整尺寸
- R:在鲸鱼获得焦点时重置尺寸与位置(保留名字)
位置、尺寸与名字保存在浏览器的 deepy-pet.settings.v1 本地存储中,刷新后恢复。重置操作保留名字。
安装与启用¶
Deepy 是纯 ESM 与 canvas 代码,无需构建步骤。要求 DeepSeek Harness >= 0.2.0 < 0.3.0 并启用 Web UI(dsh web 或桌面应用)。
从 GitHub 安装:
dsh plugin --profile web add github:ChenWeiqi12345/dsh-deepy-pet
桌面应用:打开「Settings → Plugins → Install」,粘贴仓库 URL。
从本地检出安装(开发时有用):
git clone https://github.com/ChenWeiqi12345/dsh-deepy-pet.git
dsh plugin --profile web add link:/absolute/path/to/dsh-deepy-pet
从 tarball 安装:
pnpm pack
dsh plugin --profile web add ./dsh-deepy-pet-1.0.0.tgz
安装后刷新 Web UI 页面。移除命令:
dsh plugin --profile web remove dsh-deepy-pet
技术实现¶
Deepy 注册到 conversation.input.dock,顺序为 30,位于 composer 上方。它读取 slot 的标准 props:useSession、useSessionStatus、useChat 以及所有者提供的输入快照。仅使用 useChat 区分流式推理块与流式回答文本。输入草稿加短空闲窗口用于检测打字,草稿非空则取消巡航并显示 expectant 表情。
巡航分为 React 管理的 perch 位置与一个命令式 requestAnimationFrame 层。第二个 requestAnimationFrame 循环绘制前/侧身转身、下潜、水下返回与上浮。两个循环均不重新渲染会话。
鲸鱼由像素遮罩绘制,水平挤压加 CSS 翻转过渡实现转身,CSS 像素飞溅层独立于移动画布绘制下潜与上浮的水线。UI 使用 --dsw-* 主题令牌,艺术保持皇家蓝调色。画布透明,无卡片或面板背景,融入深色 composer 区域。
隐私与许可¶
插件不发起网络请求,无遥测,无宿主服务。仅读取会话状态,该状态由 conversation slot 已暴露。许可证为 MIT。
适用场景与注意¶
适合需要在会话运行中获得持续视觉反馈的开发者,例如长时间推理、流式生成、等待审批等场景。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
总结¶
Deepy 通过像素鲸鱼与 30 秒巡航机制,在 DeepSeek Harness 的 Web UI 中提供非侵入式的状态可视化与交互。安装命令与配置路径均来自官方 README,功能与实现细节以源码为准。
- 目录页:https://www.skillhub.cn/plugins/ChenWeiqi12345/dsh-deepy-pet
- GitHub:https://github.com/ChenWeiqi12345/dsh-deepy-pet