deepseek-harness-desktop/packages/dsh-pet

156Star5Fork6Issue0Watching

在 DSH Web 界面右下角放置一只鲸鱼娘宠物,根据会话活动切换动画、完成回合可喂食并积累亲密度。

机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科

此插件是大仓库 ningbainb/deepseek-harness-desktop 的子包,星数与活跃度统计的是整个仓库。

语言
TypeScript
License
BSD-3-Clause
分支
main
ai-agentai-coding-assistantcodexdeepseekdeepseek-harnessdesktop-appdshdsh-plugin

安装

$ dsh plugin --profile web add github:ningbainb/deepseek-harness-desktop/packages/dsh-pet

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 ningbainb/deepseek-harness-desktop/packages/dsh-pet:先查看仓库 https://github.com/ningbainb/deepseek-harness-desktop.git 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

在 DSH Web 界面右下角放一只鲸鱼娘陪伴你工作:模型思考时她在游动,完成回合可喂小鱼干让她长大,从「幼鲸」一路进阶到「深海羁绊」。

核心能力

  • 跟随会话活动自动切换动画:模型思考时她跑动、使用工具时她向右移动、整理回复时进入复盘、完成回合时跳起庆祝、失败时定格在失败动作
  • 完成回合亲密度自动 +1,4 级进阶:幼鲸(0 点)→ 伙伴(25 点)→ 挚友(50 点)→ 深海羁绊(80 点,100 点封顶)
  • 点击鲸鱼娘摸头,弹出短句反馈并 +1 亲密度(10 秒冷却)
  • 悬浮面板「喂食」消耗 1 条小鱼干并 +5 亲密度(30 秒冷却)
  • 拖动鲸鱼娘到任意位置,松手自动保存位置
  • 改名后召唤按钮自动同步为「召唤{新名字}」
  • 隐藏后输入区出现「召唤{名字}」按钮,一键回归

技术实现

  • 语言: TypeScript(ESM,浏览器半区 + 宿主半区单包)
  • 关键依赖: @deepseek-ai/cordis(cordis 插件框架)、@deepseek-ai/dsh-session(会话事件类型)、@deepseek-ai/dsh-host-webserver(HTTP 路由注册)、react/react-dom(鲸鱼娘浮层渲染)
  • 架构模式: 官方 cordis bundle 形态,dsh.bundle.patch 在 Web 插件清单中插入 pet 行;宿主半区注册服务并暴露 /api/pet/* JSON API + /pet/whale/* 素材路由,浏览器半区通过 fetch 轮询 + portal 渲染全局浮层
  • 入口文件: packages/dsh-pet/src/index.ts(宿主半区入口);浏览器半区入口 packages/dsh-pet/src/client/index.ts

适用场景

你希望 DSH 不只是冷冰冰的工具界面,而有一点点陪伴感。适合需要长时间盯着模型思考的工作场景(长生成、批量任务、多会话切换),既能看到当前进度(动画/气泡),又能在等待时玩一下喂食、攒亲密度、给宠物起个名字。

前置依赖与兼容性

依赖最低版本说明
DSH 版本0.1.0-rc.7+依赖 @deepseek-ai/* peer/dev 依赖 0.1.0-rc.7 系列
Node>=22.19.0包内 engines.node 声明 `^22.19.0
React^18.2.0peerDependencies 声明,宿主已自带
平台跨平台宿主半区使用 Node fspet.json 原子写入),浏览器半区走浏览器 Web 平台

安装方式

dsh plugin --profile web add github:ningbainb/deepseek-harness-desktop/packages/dsh-pet

配置项

配置类型说明默认值
启用宠物开关关闭后鲸鱼娘完全隐藏并停止轮询;可重新打开
显示宠物开关关闭后隐藏,可从输入区召唤按钮一键回归
大小(px)数字精灵单元高度,范围 32–512160
距右侧(px)数字视口右边缘的水平内缩距离24
距底部(px)数字视口底边的垂直内缩距离20
名字文本鲸鱼娘显示名,1–20 个字符鲸鱼娘

常见问题

Q: 鲸鱼娘会在所有界面出现吗?

A: 会出现。插件把浮层挂在 document.body 上,跳出新对话窗口或没有任何会话时也显示,不会因为会话切换而消失。

Q: 不点击宠物也会得到亲密度吗?

A: 会。模型每完成一个回合亲密度自动 +1,4 级进阶:幼鲸 → 伙伴 → 挚友 → 深海羁绊(100 点封顶)。

Q: 为什么点击宠物没有反应?

A: 10 秒内重复点击会被冷却拒绝,宠物会显示「摸过头啦,让鲸鱼娘歇口气~」。

Q: 喂食需要消耗什么?

A: 每次喂食消耗 1 条小鱼干,亲密度 +5;小鱼干每完成 3 个工作回合 +1 条,每 30 分钟闲置 +1 条,上限 20 条。

Q: 数据存在哪里?

A: 写入 $DSH_HOME/pet.json(默认 ~/.dsh/pet.json),原子写入,损坏文件下次启动会回落到默认状态。

Q: 看不到鲸鱼娘怎么办?

A: 首先在设置页「宠物」卡片确保「启用宠物」和「显示宠物」开关打开;其次在专业设置直接编辑 ~/.dsh/settings.yaml 加入 pet 命名空间;最后可重启 dsh web 重载插件。

Q: 拖动位置会被保存吗?

A: 会。松手后位置通过设置通道持久化,下次打开仍在原处。

Q: 能换名字吗?

A: 悬浮面板点「改名」输入 1–20 个字符的新名字,会同步到召唤按钮文案和持久化文件。

上手难度

入门 — 仅需一条安装命令即可在 Web 界面右下角看到鲸鱼娘;进阶用法(改名、设置布局、修改持久化)走设置页或编辑 ~/.dsh/pet.json,无需编程。

已知问题与限制

  • 浏览器半区使用 2 秒一次的轮询从宿主拉取状态;如果宿主进程刚启动或断连,鲸鱼娘会短暂显示「鲸鱼娘迷路了(连接失败)」,下次轮询恢复后会自愈
  • 宿主仅写出 5 个 API 端点和 2 个素材端点(spritesheet.webp + pet.json),自定义动效需替换 assets/whale/spritesheet.webp 后同步更新 pet.jsonframes 字段与 src/client/spritesheet.tsTRACKS 帧时长
  • 旧版 activity/status 事件作为兼容输入仍被监听,但 5 秒内重复的旧式 done 不会重复发放回合奖励(避免旧+新两路事件叠加双计)
  • 设置命名空间未在 dsh-host-apiproxyWEB_SETTINGS_NAMESPACES 白名单中时,设置页会显示「未暴露」提示;可手动编辑 ~/.dsh/settings.yaml 或找运维把 pet 加入白名单
  • 旧版资源经历 issue #48(用 session-scoped slot 挂载导致新对话界面看不到宠物),当前实现已切到 document.body 全局 React root

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/ningbainb/deepseek-harness-desktop/packages/dsh-pet)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录