DeepSeek Harness 插件

dsh-pets-rikfish1

Codex Pets–style desktop pets + live task panel for DeepSeek Harness Web UI: a draggable anime pixel pet plus a floating dashboard of running/completed tasks and questions awaiting your input. / DSH(英文原文)

跳到安装方式

来源信息

GitHub 仓库
rikfish163-rgb/dsh-pets
最近更新
2026年8月15日
分类
趣味扩展
GitHub stars
1
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/rikfish163-rgb/dsh-pets
插件名:dsh-pets-rikfish1
作者:rikfish163-rgb

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<p align="center"> <a href="./README.en.md">English</a> · <strong>简体中文</strong> </p>

<p align="center"> <img src="./assets/lulu-spritesheet.webp" alt="dsh-pets 噜噜宠物" width="288"> </p>

dsh-pets

Codex Pets 风格的 DeepSeek Harness(DSH)Web UI 插件:一个可拖拽的原创二次元像素桌宠 + 一个浮在任意页面上的实时任务面板。

  • 🐾 桌面宠物:精灵图序列帧动画,状态随 Agent 联动(待命 / 思考 / 工作中 / 等你回答 / 已完成 / 失败)。
  • 📋 任务面板:三个标签页——进行中(后台 Job + Goal + 子代理)、已完成(含重启后保留的历史记录)、等你回答(模型停下提问 / 等待审批时点亮)。
  • 🔔 实时提醒:有等待你的提问时,宠物亮起红色角标、浏览器标签页标题显示 ([N])
  • 🖱 任意页面悬浮:全局浮层(shell.overlay),在任何页面都能点开浏览实时进度,无需切回会话页。
  • 🔗 一键跳转:任务卡片展开可以看输出 tail / 详情,点「打开会话 →」深链直达对应会话窗口。

> 灵感来源:OpenAI Codex Desktop 的 Pets 功能(Codex 会用一只桌面宠物展示正在运行 / 已完成的 Agent 任务,Agent 停下来等你回复时宠物会呼唤你)。本项目是面向 DSH 的同构实现,不依赖 Codex,也非官方项目

预览

<!-- 截图占位:安装后,宠物悬浮在 DSH Web GUI 右下角 + 展开的三标签任务面板 --> <!-- 欢迎 PR 贡献 docs/screenshot.png -->

安装

要求: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,右下角即出现宠物。管理面板:设置 → 插件

使用

操作效果
单击宠物展开 / 收起任务面板
拖拽宠物 / 面板标题栏移动位置(自动记住)
双击宠物重新播放当前动画
面板底部滑杆调整宠物大小(96–360px)
任务卡片点击展开详情 / 输出 tail,再点「打开会话 →」跳转
浏览器标签页有提问等待时标题显示 ([N]) 角标

宠物动画状态含义:

状态触发
待命(原地呼吸)无任务运行
思考(歪头)——(保留动画位)
工作中(快速起伏)任意会话 running
等你回答(招手)会话 pendingInteraction(提问 / 审批)
完成(举手庆祝)有任务完成
失败(垂手)有任务失败

工作原理

插件由两半组成(与官方 dsh-client-ui-* 同构):

1. 宿主半 lib/index.js(Cordis 插件):注册只读 JSON 路由 - GET /plugins/dsh-pets/tasks — 合并 ctx.jobs(后台任务)+ ctx.goal(长期目标)+ ctx.subagent(子代理)的快照。 - GET /plugins/dsh-pets/asks — 从 ctx.sessionspendingInteraction / ctx.userQuestions 收集「等待你回答」。 - GET /dsh-pets-assets/lulu-spritesheet.webp — 打包的「噜噜」水豚精灵图(9 行 × 8 列)。 - GET /dsh-pets-assets/pet-sheet.png — 兜底的原创像素精灵图。 - 已完成历史持久化到 ~/.dsh/storages/dsh-pets.json(重启不丢失,最多 200 条)。 2. 宿主半 lib/client.jswindow.__ModuleLoader__ 客户端 bundle):通过 ctx.slots.inject("shell.overlay") 注册全局浮层,订阅 sessions.list store 做 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 Petsdsh-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](./LICENSE)。

> ⚠️ 素材版权说明:assets/lulu-spritesheet.webp 为 OpenAI Codex 官方宠物「噜噜」资产,由作者应发布者要求打包进本仓库。该图版权归 OpenAI 所有,如你自行分发请注意合规;assets/pet-sheet.png 为脚本原创生成,可自由使用。

致谢