Deepy:DeepSeek Harness 的像素鲸鱼伴侣

前言

在 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 秒触发一次巡航。巡航分五步执行:

  1. 转身:侧身展示,使用挤压与翻转过渡,非硬切
  2. 前进:平滑滑行至巡航路径上的随机点,每次巡航位置不同
  3. 入水:水面浮现深蓝色像素水堆,随后爆裂成飞溅效果
  4. 下潜:鲸鱼以头朝下姿态潜入 composer 边缘下方
  5. 上浮:返回过程耗时与出航相同(各 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
羽毛球分组比赛记分
小程序二维码

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

小夜