模型驱动的桌面宠物,派生自 PC2005-cloud/dsh-pet(MIT):独立置顶小窗跟随会话状态,与 Web 界面竞速应答审批与提问,维护每宠独立的好感账本,经 pet_say/pet_do 工具或自主内心戏说话,并可用自备的 BreezeBlue API Key 通过 BreezeBlue 把台词读出来。它使用独立的 /whale598 路由与 ~/.dsh/whale598 数据目录,是独立于 dsh-pet 的另一只桌宠,不替代上游。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-agentic-pet
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:beyondgjc/dsh-agentic-pet
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
description: "dsh 桌面宠物:经由 web 组合层伺服宠物页面、由进程内 dsh 事件驱动、可从桌面应答审批与提问的 agentic 宠物插件。" kind: "package-bundle"
dsh-agentic-pet
English | 中文
简介
dsh-agentic-pet 是 DeepSeek Harness 生态的桌面宠物插件:宠物以透明置顶窗常驻桌面,跟随 agent 会话状态(idle / thinking / working / error),与 web 界面竞速应答审批与提问(先答者赢),维护每宠独立的触摸好感账本,并向模型暴露表达工具(pet_say、pet_do、pet_digest、pet_interactions、pet_state)——模型可以借宠物说话、做动作、感知被触摸。说话内容可通过 BreezeBlue TTS 朗读——carrier 侧合成每条 /say 文本,语音就绪后与气泡同时下发;合成失败或超时静默降级为只显示(桌面设置页可配)。多只宠物实现可以并存:目录注册表(~/.dsh/pet-http.d/)发现全部在线宠物,状态、交互、账本按宠路由。
宠物本身是零 DSH 知识的纯显示端。理解运行时的一切——事件收敛、交互瀑布、多宠路由、模型工具——都在插件的 driver 里,宠物只实现一个小型本地 HTTP 控制接口。任何讲同一 HTTP 契约的宠物实现都能被采纳,插件零改动。
仓库结构
| 路径 | 内容 |
|---|---|
src/ |
插件(Cordis bundle):/pet 路由、事件 driver、注册表、PetService 接缝、模型工具、设置页路由 |
client/ |
桌面侧边栏设置页(client 半边) |
carrier/ |
随包分发的 Electron 载体构建产物(lib/、dist-renderer/) |
carrier-src/ |
载体源码(自开发上游镜像;素材在 dsh-pet-assets) |
vendor/typert-plugin/ |
打包配置使用的 typert 装饰器插件(vendored) |
tests/ |
Vitest 用例(注册表路由与 /status 字段矩阵的纯函数覆盖) |
安装
在 DeepSeek Harness 桌面端插件页安装,或:
dsh plugin --profile <name> add dsh-agentic-pet
动画素材以独立包 dsh-agentic-pet-assets 分发,作为依赖自动带入。
开发
日常迭代在本仓库内完成:改 src/ → 本地构建(tsc + tsdown,工具链与私有包依赖的准备见文档)→ 部署到桌面 profile 的 vendor 目录 → 重启 DeepSeek Harness。完整手册(含工具链准备、部署/验证/清理命令与已知坑)见 docs/DEV-DEPLOY.md。
历史上的构建在 dsh monorepo workspace 内进行(被打包的 @deepseek-ai/dsh-* 依赖未发布 npm),经 scripts\sync-from-monorepo.cmd 镜像进本仓库——monorepo 侧副本已停在 0.2.1-rc.3,该链路已过期,仅留档;直接运行会用旧代码覆盖本仓库。
测试:node_modules/.bin/vitest run(vitest 及 js-yaml@4.1.0、@deepseek-ai/cordis-plugin-include 为 ad-hoc 安装,见文档 §4);tests/registry-service.spec.ts 等纯函数规格只需 cordis 与 vitest 即可自持运行。
发布
package.json 的 version 归本仓库所有:scripts\sync-from-monorepo.cmd 镜像其余所有字段、只保留它。monorepo 那份带的是 workspace 版本(0.2.1-rc.3),早先的整文件覆盖会把已发布的版本号改掉——npm 上的 0.4.0 因此没有对应的 commit 与 tag。
node scripts\release.mjs 0.4.1 --dry-run # 预检 + 打包清单,不发布
node scripts\release.mjs 0.4.1 # 发布,提交 "chore(release): 0.4.1",打 tag v0.4.1
git push --follow-tags
以下任一条件不满足,脚本拒绝发布:工作树干净、新版本号大于当前值、tag v<版本> 不存在、构建产物齐备、lib/ 里只有一个 bundle chunk(tsdown 用 clean:false,残留的旧 service-*.js 会被打进包)。发布失败会自动还原 package.json,工作树不会停留在一个并未发布的版本号上。预发布版本(x.y.z-rc.N)以 --tag rc 发布。
每个已发布版本都能用 tag v<版本> 定位——回答"npm 上是什么"的是 tag,不是清单。因此仓库里的版本号恒等于最后已发布的版本。
文档
- 开发与部署手册(本地构建工具链、vendor 部署、测试、发布、已知坑):docs/DEV-DEPLOY.md。
- 控制面契约(所有宠物实现共同讲述的冻结消费方 API)见项目文档的多宠指南。
- 说话朗读(BreezeBlue TTS)设计笔记见 monorepo 工作区的
packages/bundle/pet-app/docs/tts.md。 - 已知边界与设计笔记见仓库 wiki 与项目工程文档。
致谢与授权
- 本项目基于 PC2005-cloud/dsh-pet 衍生(上游 dsh-pet 插件,作者 PC2005-cloud)。插件代码以 MIT 许可发布。
- 角色形象("大肥鱼"鲸鱼娘,见
carrier/assets与dsh-agentic-pet-assets)的形象授权为 CC BY-NC-SA 4.0(署名 · 非商业 · 相同方式共享),原作者声明。仅限非商业使用;形象衍生须以相同方式共享。
链接
同类插件
PC2005-cloud/dsh-pet#dsh-pet★ 5347
DSH Web UI 桌面宠物,Windows / macOS / Linux 三端可用:浏览器浮层或透明置顶桌面窗口,106 个透明动画、带挤压与粒子的甩抛反弹物理、随会话事件实时联动的工作状态气泡、碎碎念与带持久记忆的对话、余额展示、表情包配图、多开同屏,并支持直接放入的自定义动画与宠物种类(pet pack)。
Alterssss/dsh-bili-whale★ 862
一条按自己作息过日子的 B 站插件:宿主里每 60 秒一次心跳,在设定的作息窗口里随机挑一个时刻叫醒专用会话(今天不想看是按概率跳过),再交给自带的 38 个子命令——信息流、字幕、弹幕、评论、ffmpeg 抽帧、两本日记。每天最多发 N 条评论/动态并 @ 主人(默认 3,按配额账本计数,撞到限流或验证码就停手)。同时轮询评论回复、私信和直播间弹幕;除主人以外的回复先入队,等主人在设置页批准。设置 → 养鱼 写 ~/.dsh/bili-whale.config.json;cookie 单独在 ~/.bili-ai/credentials.json,只写不回显。HTTP 路由只认回环地址并过 DSH 信任栅栏。抽帧需要 Node 18+ 与 ffmpeg。
Nagi-ovo/dsh-ads★ 707
2005 年中文站点风格的整活广告插件:侧栏广告/信息流/角落弹窗 + 假关闭叉,素材全虚构。
yyh-001/dsh-meme★ 488
聊天表情包:纯文本斗图、情绪主动发图、像 QQ/微信 一样发图、AI 自动学图、自定义表情包。
vlln/whale-girl★ 400
桌面宠物(QQ 宠物形态):右下角悬浮、可拖拽/投喂/玩耍。
a86582751/dsh-nexttavern★ 218
NextTavern 是面向 DeepSeek Harness 0.1.7-rc.2 Web 的长篇角色扮演插件,支持角色卡导入与创作、世界线、世界书、分层长期记忆、关键词/语义/混合检索、角色 Agent,以及角色卡或小说导出;支持 SillyTavern 角色卡导入,v0.2.9 修复分发与安装问题。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。