随 Agent 状态切换动画并播报余额与语音
28.9/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「dsh-pet」归属 pc2005-cloud/dsh-pet,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add alybg/dsh-angelina-pet该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-fs@deepseek-ai/dsh-shell给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 随状态切换动画
- 显示余额与语音台词
- 拖动点击互动
DeepSeek Harness 部署级桌宠:右下角随 Agent 工作状态切换 GIF 动画,气泡实时显示 DeepSeek 余额与语音台词,可拖动、可点击互动,任务完成随机播放语音。
README
由 DeepSeek 最新模型翻译生成🐳 DSH 桌宠(dsh-pet)
DeepSeek Harness(DSH)部署级桌面宠物插件:一只住在 Web 界面右下角的小宠物,它会盯着 Agent 干活 —— 待机时休息、思考时潜水、工作时搬砖、回答时放飞纸飞机,任务完成时骑行庆祝并随机播报一条完成语音,气泡里实时显示 DeepSeek 账户余额 与语音台词。
参考 liyupi/dsh-kun-like-pet 的思路实现,但为部署级插件(宿主组合层,所有会话/窗口可见),且余额查询完全独立,不依赖任何第三方插件。
✨ 特性
- 8 种状态动画(10 个 GIF):待机/输入中/思考中/工作中/回答中/等待中/完成/出错,随 Agent 工作状态自动切换
- 实时感知 Agent 状态:轮询 agents 服务(running/idle)判定任务完成;直连瀑布事件(tools/execute、approval/request、llm/stream 等)细化「工作中/思考中/回答中/等待中/出错」
- 独立余额查询:宿主用 credentials 取 DEEPSEEK_API_KEY + curl 调 api.deepseek.com/user/balance (30s 缓存),经 /dsh-pet/balance 路由暴露,气泡每 60s 刷新、点击也刷新
展开完整文档(README 剩余 1 节)
🐳 DSH 桌宠(dsh-pet)
DeepSeek Harness(DSH)部署级桌面宠物插件:一只住在 Web 界面右下角的小宠物,它会盯着 Agent 干活 —— 待机时休息、思考时潜水、工作时搬砖、回答时放飞纸飞机,任务完成时骑行庆祝并随机播报一条完成语音,气泡里实时显示 DeepSeek 账户余额 与语音台词。
参考 liyupi/dsh-kun-like-pet 的思路实现,但为部署级插件(宿主组合层,所有会话/窗口可见),且余额查询完全独立,不依赖任何第三方插件。
✨ 特性
- 8 种状态动画(10 个 GIF):待机/输入中/思考中/工作中/回答中/等待中/完成/出错,随 Agent 工作状态自动切换
- 实时感知 Agent 状态:轮询 agents 服务(running/idle)判定任务完成;直连瀑布事件(tools/execute、approval/request、llm/stream 等)细化「工作中/思考中/回答中/等待中/出错」
- 独立余额查询:宿主用 credentials 取 DEEPSEEK_API_KEY + curl 调 api.deepseek.com/user/balance (30s 缓存),经 /dsh-pet/balance 路由暴露,气泡每 60s 刷新、点击也刷新
- 语音台词:assets/wav/manifest.json 为语音配置的单一数据源(分组 + 台词),播放语音时气泡显示对应台词(约 10 字/行换行);改台词无需重启(5s 生效)
- 完成语音:任务完成时宿主系统级播放(PowerShell SoundPlayer,全窗口可闻,与浏览器静音无关)
- 点击互动:点击桌宠随机播放一条点击语音 + 气泡反应
- 可拖动:拖动位置用 localStorage 持久化
- 素材随包携带:assets/ 内置于插件包,路径默认包相对,可用配置/环境变量覆盖
🎮 状态 → 动画映射
| 桌宠状态 | 含义 | GIF |
| idle | 待机(无任务) | 坐坐 |
| inputting | 输入/准备中(收到消息、模型调用发起前) | 看书 |
| thinking | 思考中(LLM 流进行中,无工具运行) | 潜水 / 探险(随机) |
| working | 工作中(工具执行中) | 送货 / 购物(随机) |
| answering | 回答中(模型流刚结束、回合收尾) | 纸飞机 |
| waiting | 等待审批 | 拍照 |
| celebrating | 任务完成庆祝(Agent running→idle) | 骑行 + 随机播放 finish 语音 |
| failed | 请求出错 | 海边 |
DSH 无法感知用户“正在打字”的瞬间,因此 inputting 定义为「消息进入 inbox / 模型调用发起前」的过渡阶段。
状态 → GIF 映射可在 src/index.js 顶部 DEFAULTS.gifMap 调整,files 数组放多个文件时随机轮换。
🖼️ 动画预览
坐坐 · 待机看书 · 输入中潜水 · 思考中探险 · 思考中(轮换)送货 · 工作中
购物 · 工作中(轮换)纸飞机 · 回答中拍照 · 等待审批骑行 · 完成庆祝海边 · 出错
🚀 安装(部署级)
方式一:脚本安装(推荐)
在仓库根目录
npm run install:web
或指定 profile:node scripts/install.mjs --profile web
脚本会把插件复制到 DSH profile 的 node_modules/dsh-pet、在 cordis.patch.yml 插入行、并在 profile package.json 声明依赖。然后重启 DSH(宿主组合在启动时装载)。
方式二:手动安装
1. 把整个项目复制到 /node_modules/dsh-pet/(如 C:\Users\Admin\.dsh\profiles\web\node_modules\dsh-pet)
2. 在 profile 的 cordis.patch.yml 追加:
- insert:
- id: dsh-pet
name: 'dsh-pet'
3. 在 profile 的 package.json dependencies 追加:"dsh-pet": "file:./node_modules/dsh-pet"
4. 重启 DSH,刷新页面。
动态插件方式(临时试用)
scripts/build-package.mjs 生成 cordis_define 一键安装载荷:
node scripts/build-package.mjs # 输出 dsh-pet-install.json(payload)
将载荷交给 cordis_define 工具即可在单会话内试用(动态插件重启后消失)。
⚙️ 配置
素材路径默认指向包内 assets/,可用以下方式覆盖(优先级:行配置 > 环境变量 > 包内默认):
| 配置项 | 环境变量 | 默认值 |
| gifDir | DSH_PET_GIF_DIR | /assets/gif |
| manifestPath | DSH_PET_MANIFEST_PATH | /assets/wav/manifest.json |
示例(cordis.patch.yml 行配置):
- id: dsh-pet
name: 'dsh-pet'
config:
gifDir: 'D:/我的素材/gif' manifestPath: 'D:/我的素材/wav/manifest.json'
播放命令(Windows 默认 PowerShell SoundPlayer)可通过 config.playCommand(path) 覆盖(macOS:afplay;Linux:ffplay -nodisp -autoexit)。
🎙️ 语音台词(manifest.json)
assets/wav/manifest.json 是语音配置的单一数据源:
{
"formatVersion": 1,
"entries": [
{ "role": "finish", "file": "finish/部署1.wav", "subtitle": "平稳落地~" }, { "role": "click", "file": "click/戳一下.wav", "subtitle": "嗯哼?" } ] }
- file:相对 manifest 所在目录(assets/wav/)的路径
- role:finish=任务完成语音(宿主播放)/ click=点击互动语音(浏览器播放)
- subtitle:播放时气泡显示的台词(显示台词时隐藏状态文字;与状态同字号)
宿主每 5s 重读 manifest:改台词无需重启;新增语音文件需重启(路由启动时注册)。
📁 项目结构
dsh-angelina-pet/
├── src/
│ ├── index.js # 宿主半(部署级 ESM 插件) │ └── client.js # 客户端半(浏览器 __ModuleLoader__ 模块) ├── assets/ │ ├── gif/ # 10 个状态 GIF │ └── wav/ │ ├── finish/ # 任务完成语音 │ ├── click/ # 点击互动语音 │ └── manifest.json # 语音台词清单(单一数据源) ├── scripts/ │ ├── build-package.mjs # 生成 cordis_define 安装载荷 │ ├── install.mjs # 一键安装到 DSH profile │ └── publish.mjs # 发布到 GitHub(建仓 + 推送) ├── demo/index.html # 独立动画/语音预览页 ├── package.json # 插件包清单(dsh.client 声明) ├── README.md └── LICENSE
🖼️ 预览
无需 DSH,直接打开 demo/index.html(或 npm run preview)即可预览全部动画与语音。
⚠️ 素材版权声明
- assets/ 下的 GIF/WAV 为网络公开的二创/游戏语音素材,版权归原作者及游戏厂商所有,仅供个人学习交流,请勿用于商业用途;如需商用请自行替换为无版权素材。
- 若您是权利人且不希望相关内容被展示,请联系删除。
📄 License
代码以 MIT 开源;素材遵循上一条版权声明。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
alybg/dsh-angelina-pet
随 Agent 状态切换动画并播报余额与语音
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,362已汉化DSH
71.4
终端编码代理esengine/DeepSeek-Reasonix
· 指南 · ACP · 扩展开发 · 规格 · 官方网站 · Discord · QQ
★ 36,076已汉化DSH
71.2
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,814已汉化DSH
71.1
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。