dsh-pets
Manifest valid★ 1Codex Pets–style desktop pet + live task panel plugin for DeepSeek Harness (DSH) Web UI
English · 简体中文
dsh-pets
Codex Pets 风格的 DeepSeek Harness(DSH)Web UI 插件:一个可拖拽的原创二次元像素桌宠 + 一个浮在任意页面上的实时任务面板。
- 🐾 桌面宠物:精灵图序列帧动画,状态随 Agent 联动(待命 / 思考 / 工作中 / 等你回答 / 已完成 / 失败)。
- 📋 任务面板:三个标签页——进行中(后台 Job + Goal + 子代理)、已完成(含重启后保留的历史记录)、等你回答(模型停下提问 / 等待审批时点亮)。
- 🔔 实时提醒:有等待你的提问时,宠物亮起红色角标、浏览器标签页标题显示
([N])。 - 🖱 任意页面悬浮:全局浮层(
shell.overlay),在任何页面都能点开浏览实时进度,无需切回会话页。 - 🔗 一键跳转:任务卡片展开可以看输出 tail / 详情,点「打开会话 →」深链直达对应会话窗口。
- ✨ 现代玻璃拟态 UI:面板使用毛玻璃、渐变与圆角卡片设计,并可将宠物和面板透明度调至 35%–100%。
- 🎨 自定义形象:可直接上传 PNG / WebP / GIF / JPG(最大 8MB),也可随时切回内置精灵图。
- 🚀 Web 快捷入口:面板底部可直达 DSH Web 首页、会话界面和插件管理。
灵感来源:OpenAI Codex Desktop 的 Pets 功能(Codex 会用一只桌面宠物展示正在运行 / 已完成的 Agent 任务,Agent 停下来等你回复时宠物会呼唤你)。本项目是面向 DSH 的同构实现,不依赖 Codex,也非官方项目。
预览
安装
要求:dsh web(DeepSeek Harness Web,Node ≥ 20)。
# 方式一:从 GitHub 安装
dsh plugin --profile web add "github:rikfish163-rgb/dsh-pets"
# 方式二:本地开发安装
dsh plugin --profile web link /path/to/dsh-pets
安装后重启 dsh web,右下角即出现宠物。管理面板:设置 → 插件。
使用
| 操作 | 效果 |
|---|---|
| 单击宠物 | 展开 / 收起任务面板 |
| 拖拽宠物 / 面板标题栏 | 移动位置(自动记住) |
| 双击宠物 | 重新播放当前动画 |
| 尺寸滑杆 | 调整宠物大小(64–280px) |
| 透明度滑杆 | 同步调整宠物与面板透明度(35%–100%,自动记住) |
| 上传宠物 | 选择 PNG / WebP / GIF / JPG 自定义桌宠图案 |
| 底部快捷入口 | 直达 Web 首页、会话和插件管理界面 |
| 任务卡片点击 | 展开详情 / 输出 tail,再点「打开会话 →」跳转 |
| 浏览器标签页 | 有提问等待时标题显示 ([N]) 角标 |
宠物动画状态含义:
| 状态 | 触发 |
|---|---|
| 待命(原地呼吸) | 无任务运行 |
| 思考(歪头) | ——(保留动画位) |
| 工作中(快速起伏) | 任意会话 running |
| 等你回答(招手) | 会话 pendingInteraction(提问 / 审批) |
| 完成(举手庆祝) | 有任务完成 |
| 失败(垂手) | 有任务失败 |
工作原理
插件由两半组成(与官方 dsh-client-ui-* 同构):
- 宿主半
lib/index.js(Cordis 插件):注册只读 JSON 路由GET /plugins/dsh-pets/tasks— 合并后台 Job、Goal、前台 Task、子代理及活跃/等待中的 Session,兼容不同 DSH 版本的可选服务形态。GET /plugins/dsh-pets/asks— 从ctx.sessions的pendingInteraction/ctx.userQuestions收集「等待你回答」。GET /dsh-pets-assets/lulu-spritesheet.webp— 打包的「噜噜」水豚精灵图(9 行 × 8 列)。GET /dsh-pets-assets/pet-sheet.png— 兜底的原创像素精灵图。- 已完成历史持久化到
~/.dsh/storages/dsh-pets.json(重启不丢失,最多 200 条)。
- 宿主半
lib/client.js(window.__ModuleLoader__客户端 bundle):通过ctx.slots.inject("shell.overlay")注册全局浮层,订阅sessions.liststore 做 Agent 状态联动,每 1.5s 轮询上述路由刷新面板。
所有服务访问均为可选探测(ctx.get + try/catch),某个服务不存在时优雅降级,不会拖垮宿主。
目录结构
dsh-pets/
├── assets/lulu-spritesheet.webp # 「噜噜」水豚精灵图(9 行 × 8 列,主图)
├── assets/lulu-pet.json # 噜噜的 Codex pet.json
├── assets/pet-sheet.png # 兜底原创像素精灵图(scripts/gen-pet.py 生成)
├── scripts/gen-pet.py # 精灵图生成脚本(Pillow)
├── lib/index.js # 宿主半:任务/提问路由 + 历史持久化
├── lib/client.js # 客户端半:宠物动画 + 任务面板浮层
├── cordis.patch.yml # bundle patch(激活插件的 loader 条目)
└── package.json # dsh.bundle.patch + dsh.client 声明
与原版 Codex Pets 的对比
| 维度 | Codex Desktop Pets | dsh-pets |
|---|---|---|
| 平台 | Codex Desktop 专属 | DeepSeek Harness Web(跨平台浏览器) |
| 任务来源 | Codex Agent / task 线程 | DSH 的 Job + Goal + 子代理 |
| 提问唤起 | Codex 停下来问问题时长鸣提醒 | 宠物招手 + 角标 + ([N]) 标题 |
| 跨页面浏览 | 桌面浮层 | 任意页面 shell.overlay 浮层 |
| 历史记录 | Codex 会话存档 | ~/.dsh/storages/dsh-pets.json |
二次开发
更换宠物形象:替换 assets/lulu-spritesheet.webp(9 行状态序:idle / run-right / run-left / wave / jump / failed / waiting / sprint / review,每帧 162×198)。读不到主图时插件自动回退到 assets/pet-sheet.png(原创像素图,可用 scripts/gen-pet.py 重新生成)。
许可证
MIT。
⚠️ 素材版权说明:
assets/lulu-spritesheet.webp为 OpenAI Codex 官方宠物「噜噜」资产,由作者应发布者要求打包进本仓库。该图版权归 OpenAI 所有,如你自行分发请注意合规;assets/pet-sheet.png为脚本原创生成,可自由使用。
致谢
- 参考了 skr311/dsh-codex-pet(Codex 风格宠物 +
shell.overlay浮层)与 vlln/dsh-task-status(任务状态与输出 tail 路由)的实现模式。 - DSH 插件生态:见 awesome-dsh-plugin。
Comments
Loading…
From the same category
by tt-a1i
Agent skill for beautiful, verifiable architecture, workflow, sequence, data-flow, and lifecycle diagrams—self-contained HTML with motion and crisp export.
★ 71.6k
↓ 3.5k/wk
MIT
JavaScript
Sep 25, 2026
dsh plugin --profile agent add @tt-a1i/archify-dshDeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.
★ 41.7k
↓ 236/wk
MIT
Aug 24, 2026
dsh plugin --profile web add dsh-plugin-reactive-resumeby Tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
★ 30k
↓ 838/wk
NOASSERTION
Go
Sep 25, 2026
dsh plugin --profile web add @wxg-prc-cpg/dsh-weknoraby anywhere-labs
为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 29k
↓ 167/wk
MIT
TypeScript
Sep 25, 2026
dsh plugin --profile web add dsh-plugin-desktopdeepseek-harness-desktop is a interface plugin for DeepSeek Harness. See the repository documentation for its documented capabilities.
★ 28.6k
MIT
by titanwings
Distilly — Distill how they think into reusable Skills for any Agent or Bot. Formerly Colleague Skill(原同事 Skill).
★ 25k
MIT
TypeScript
Sep 22, 2026