前言¶
DeepSeek Harness(DSH)开发者在调试 Agent 时,往往需要在工具调用、审批等待、任务完成等关键节点获得直观反馈。传统的日志输出或 UI 提示不够直观,容易忽略中间状态。鲸鱼女孩桌宠通过程序化 SVG + CSS 动画,把 Agent 的运行状态映射为可见的拟人化行为,同时提供互动与成长机制,让观察与陪伴更自然。
插件定位¶
这是一个运行在 DSH Web GUI 右下角的桌宠插件,由 zyfgood 维护。它只读取会话事件,不修改会话与工作区文件,零素材、零运行时依赖。Agent 的状态会实时反映在鲸鱼女孩的行为上:任务运行时游泳、调用工具时吐带标签的泡泡、等待审批时贴着屏幕敲玻璃、完成时跳起来庆祝、失败时下沉并显示 > < 眼神、闲置超时主动讨活、夜间或长时间闲置戴睡帽睡觉。
核心能力¶
状态映射¶
| Agent 状态 | 鲸鱼女孩行为 |
|---|---|
| 任务运行中 | 游泳 |
| 模型输出中 | 陪它思考,头顶泡泡 |
| 调用工具 | 吐一个带友好标签的泡泡(敲命令 / 读文件 / 改文件 / …) |
| 请求批准 | 贴着屏幕敲玻璃 + 琥珀色脉冲 + 提醒气泡 |
| 任务完成 | 跳起来庆祝 + 开口汇报:”搞定!这一轮 X 分 Y 秒,跑了 N 个工具” |
| 任务失败 | 下沉,眼睛变 > < |
| 闲置超时 | 主动讨活:”我闲着呢,有活吗?” |
| 闲置更久 / 本地 00:00–06:00 | 戴睡帽睡觉(睡觉时仍有呼吸动画) |
互动方式¶
- 单击:戳戳(随机台词 + 吱吱声,经验 +1;★2+ 偶尔对你 wink)
- 双击:摸摸(好感 +2、经验 +2,浮出爱心;8 秒冷却;★1+ 害羞脸红)
- 拖拽:移动位置,自动记住(按右/下边距锚定);松手时惊慌扑腾一下
- 右键菜单:喂食 🍤 / 挠痒痒 😆 / 击掌 🙌 / 抱抱 🤗 / 贴贴 🫂 / 哄睡 😴 / 静音 / 回默认位置 / 隐藏(隐藏后右下角小 🐳 恢复)
- 悬停:成长卡片——等级、称号、经验条、星级亲昵徽章、好感进度、本轮/上轮统计
成长与换装¶
- 每完成一轮 +8 经验(失败也 +2);成功轮好感 +1;互动另有加成
- 等级 =
floor(sqrt(xp / 20)) + 1;称号从「初来乍到」到「家人」共 6 档(每 4 级一档,Lv21 满称号) - 好感每 60 点点亮一颗 ❤(最多 5 颗);台词库随星级混入更亲昵的句子
- 全部数据持久化在
~/.dsh/whale-girl/state.json
星级亲昵徽章与挂饰¶
好感每 60 点点亮一颗 ❤(最多 5 颗),每颗心的图案都不一样,越点越亲昵:
★1 小粉心 → ★2 双心相依 → ★3 心心相扣 → ★4 闪光心 → ★5 双心+小翅膀(家人)。桌宠本体也会随星级换装:★2 星星发夹、★4 暖色围巾、★5 小皇冠。
星级解锁的互动¶
| 星级 | 解锁 |
|---|---|
| ★0 | 戳戳、摸摸、喂食、哄睡 |
| ★1 | 挠痒痒(大笑打滚)、摸摸害羞表情、台词库扩充 |
| ★2 | 击掌(+1 经验)、闲置时偷看/wink |
| ★3 | 抱抱(好感 +2、经验 +2,8 秒冷却)、whale_say 的 kiss/hug |
| ★4 | 闲置小剧场加跳舞、whale_say 的 dance |
| ★5 | 贴贴(好感 +3,60 秒冷却)、皇冠挂饰、家人台词 |
成长规则是「零负反馈」:永不扣分、永不惩罚。
whale_say 工具¶
插件向 Agent 注册 whale_say 工具(配置可关),让鲸鱼女孩说一句话(或附 happy / sad / surprise / sleep 动作;★3 起再解锁 kiss / hug,★4 起 dance——星级不够会自动降级为 happy 并在结果里说明),作为给用户的轻量可见通知通道,适合任务阶段性进展播报、温馨提醒、小型庆祝。文本建议 ≤ 60 字,用用户的主要语言。若用户隐藏了桌宠或关了台词,工具结果会如实告知。
配置项¶
在 DSH Web GUI 的「设置 → 插件 → whale-girl」或使用 profile patch 配置:
| 字段 | 默认 | 说明 |
|---|---|---|
visible |
true |
启动时显示 |
size |
160 |
尺寸(80–320 px) |
bubbleScale |
1 |
气泡缩放(0.4–1.5) |
speechEnabled |
true |
台词气泡 |
soundsEnabled |
true |
合成音效(WebAudio 实时合成,零音频文件) |
petSayTool |
true |
向 Agent 提供 whale_say 工具 |
idleNagMinutes |
5 |
闲置几分钟后主动讨活 |
sleepAfterMinutes |
10 |
闲置几分钟后睡着 |
安装与启用¶
Git 渠道(仓库根目录即插件):
dsh plugin --profile web add "github:zyfgood/dsh-whale-girl#main&path:/"
桌面版用 desktop profile:
dsh plugin --profile desktop add "github:zyfgood/dsh-whale-girl#main&path:/"
npm 渠道(已发布):
dsh plugin --profile web add @zyfgood/dsh-whale-girl
本地开发(junction 链接,改 lib/client.js 保存即热更):
dsh plugin --profile desktop add /path/to/dsh-whale-girl
安装后打开(或刷新)DSH Web GUI 即可,无需重启 Host。卸载:
dsh plugin --profile desktop remove @zyfgood/dsh-whale-girl
典型用法¶
- 安装后打开 DSH Web GUI,右下角会出现鲸鱼女孩。
- 运行一个任务,观察她是否游泳、吐出带工具标签的泡泡、等待审批时敲玻璃、完成时跳起来庆祝。
- 右键点击她,可以喂食、挠痒痒、击掌、抱抱等,观察经验与好感的变化。
- 悬停查看成长卡片,了解当前等级、称号、星级亲昵徽章与好感进度。
- 如需让 Agent 借她说话,可在配置中保持
petSayTool: true,Agent 调用whale_say工具即可触发台词或动作。
适用场景与注意¶
- 适合希望在调试与运行过程中获得直观状态反馈的 DSH 开发者与使用者。
- 插件以当前 dsh 进程权限运行,安装前建议查看源码与许可证(MIT)。
- 数据持久化在
~/.dsh/whale-girl/state.json,与 DSH 配置目录同级。
小结¶
鲸鱼女孩桌宠通过程序化动画将 Agent 的运行状态具象化,同时提供可互动、可成长的陪伴体验。零素材、零运行时依赖,只读会话事件,适合在调试与日常使用中作为状态观察与情绪陪伴的辅助工具。