DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-angelina-pet

a

dsh-angelina-pet

Manifest valid★ 4

DeepSeek Harness Deployment-Level Desktop Pet: In the bottom-right corner, GIF animations switch according to the Agent's work status, while bubbles display the DeepSeek balance and voice lines in real time. It is draggable and clickable for interaction, and plays random voice clips upon task completion.

UI (client)

🐳 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. 把整个项目复制到 <DSH profile>/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/,可用以下方式覆盖(优先级:行配置 > 环境变量 > 包内默认):

配置项环境变量默认值
gifDirDSH_PET_GIF_DIR<包>/assets/gif
manifestPathDSH_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 开源;素材遵循上一条版权声明。

Compatibility

DSH 0.2.1-alpha.4: failedDSH 0.2.1-alpha.5: failedDSH 0.2.1-rc.1: failed

Versions

Latest versionPublishedSize
0.3.6——
0.1.0——
0.1.1——
0.1.2——
0.1.3——
0.1.4——
0.1.5——
0.1.6——
0.1.7——
0.1.8——
0.2.0——
0.2.0-hevc——
0.2.1——
0.2.2——
0.2.3——
0.2.4-rc.1——
0.2.4——
0.2.5——
0.2.6——
0.2.7——

Comments

Loading…

Similar plugins

dsh-gal

by strawberry0321

dsh-gal —— DeepSeek Harness 的立绘挂件:实时显示余额与今日消耗、每轮对话结束结算 token 与花费、点击立绘随机播语音并逐字显示台词,立绘包/语音包都能换

Development & InfrastructureManifest valid

★ 6

NOASSERTION

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-gal

by txlznbzsdj-collab

DeepSeek 小蓝鲸桌宠 DSH 插件:模型可调用 pet_say 命令桌宠说话,桌宠同步对话开始/结束(思考/庆祝)

Just for FunManifest valid

★ 3

MIT

JavaScript

Aug 18, 2026

dsh plugin --profile web add dsh-deepseek-pet

by Yoshino-JF

DeepSeek 桌宠:把 DSH 账户余额与桌面蓝鲸女仆连起来(立绘 · 游戏屏 · 台词 · 余额播报)

UI & ExperienceManifest valid

★ 20

↓ 479/wk

MIT

C#

Oct 7, 2026

dsh plugin --profile web add @deepseekstudio/dsh-deepseek-pet

by cpt-kenvie

Emotion Ball pet dock for the DeepSeek Harness Web composer

Tools & CapabilitiesTerminal & ClientsManifest valid

★ 3

↓ 125/wk

NOASSERTION

JavaScript

Aug 21, 2026

dsh plugin --profile web add dsh-emotion-pet

by Deepsleep-one

DSH 桌宠额度挂件:可拖拽 / 抛掷 / 散步 / 打瞌睡的桌宠,点开是 ChatGPT · Codex 订阅额度气泡(DeepSeek Harness plugin)

Tools & CapabilitiesManifest valid

★ 1

MIT

JavaScript

Oct 23, 2026

dsh plugin --profile web add dsh-gpt-niang

by takboo

Animated desktop companion, task notifications, and session chat for DeepSeek Harness.

Just for FunManifest valid

★ 9

↓ 2.4k/wk

AGPL-3.0

JavaScript

Oct 28, 2026

dsh plugin --profile web add @takboo/dsh-coopanion