在 Windows 桌面养 Codex 宠物,实时提示会话状态
28.9/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/zuodazuoqiang001/dsh-pet.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态插件
可安装,未声明 dsh 能力
装得上吗
静态安装检查有提示项,装前建议看一眼 README
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 64 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「dsh-pet」归属 pc2005-cloud/dsh-pet,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-pet @ 0.2.11
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/23 13:53:05
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 23 处,展示前 16 条)
- 读取本地文件index.js:167
const raw = await readFile(path, "utf8"); - 写入本地文件index.js:178
await writeFile(path, JSON.stringify(overrides, null, 2), "utf8"); - 读取本地文件index.js:283
if (existsSync(abs)) return abs; - 读取本地文件index.js:294
if (abs && existsSync(abs)) return abs; - 读取本地文件index.js:305
return existsSync(abs) ? abs : "taskkill.exe"; - 执行外部命令来自配置/变量index.js:310
const child = spawn(file, args, { - 读取本地文件index.js:330
pid = Number(String(readFileSync(overlayPidPath(), "utf8") || "").trim()); - 执行外部命令来自配置/变量index.js:340
const r = spawnSync(exe, args, { stdio: "ignore", windowsHide: true, timeout: 8000 }); - 读取本地文件index.js:353
if (!existsSync(launcher)) { - 执行外部命令来自配置/变量index.js:810
const r = spawnSync(tasklist, ["/FI", "PID eq " + pid, "/FO", "CSV", "/NH"], { - 写入本地文件index.js:1229
try { await writeFile(settingsPath, "{}", "utf8"); } catch (e) { } - 发起网络请求client/settings-card.js:554
fetch("/dsh-pet/focus-ack", { - 发起网络请求client/settings-card.js:561
return fetch("/dsh-pet/focus.json", { cache: "no-store" }).then(function (r) { - 发起网络请求client/settings-card.js:591
fetch("/dsh-pet/manifest.json", { cache: "no-store" }).then(function (r) { - 发起网络请求client/player.js:243
return fetch(routeBase + "/manifest.json", { cache: "no-store" }) - 发起网络请求client/player.js:267
fetch(routeBase + "/status.json", { cache: "no-store" })
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- Windows桌面养宠物
- 实时提示会话状态
- 分层浮层呈现
DeepSeek Harness 的 Windows 桌面宠物插件。兼容 Codex 的宠物以分层浮层呈现,带插件设置卡片。
README
由 DeepSeek 最新模型翻译生成dsh-pet
给 DSH (DeepSeek Harness) 用的 Windows 桌面宠物插件。
复用 Codex 兼容宠物包(pet.json + spritesheet.webp),在桌面上显示透明置顶的分层窗口;会话运行、授权等待、完成后会在宠物头顶出气泡。宠物只出现在桌面,不会注入 DSH 网页。
- 设置卡片:设置 → 插件 → 桌面宠物(开关、缩放、帧间隔、默认宠物)
- Codex 宠物零转换:默认读 ~/.codex/pets 和 $DSH_HOME/pets
- 会话气泡:多个运行中会话可叠放,悬停展开;点击定位到已打开的 DSH 标签页
- 授权 / 完成提醒:只在宠物上提示,不弹 Windows 系统通知
目录
- 前置要求
- 安装
- 配置页
- 配置项
- 宠物格式
- 桌面交互
- HTTP 路由
- 信任与安全
- 卸载
- 文件结构
- 开发注意
前置要求
1. Windows 10/11,已安装 DSH,并用 dsh web 打开 Web GUI
2. 本机有 Codex 兼容宠物,放在 %USERPROFILE%\.codex\pets\\
3. 桌面悬浮窗需要 Windows PowerShell 5.1(自带)。
展开完整文档(README 剩余 1 节)
dsh-pet
给 DSH (DeepSeek Harness) 用的 Windows 桌面宠物插件。
复用 Codex 兼容宠物包(pet.json + spritesheet.webp),在桌面上显示透明置顶的分层窗口;会话运行、授权等待、完成后会在宠物头顶出气泡。宠物只出现在桌面,不会注入 DSH 网页。
- 设置卡片:设置 → 插件 → 桌面宠物(开关、缩放、帧间隔、默认宠物)
- Codex 宠物零转换:默认读 ~/.codex/pets 和 $DSH_HOME/pets
- 会话气泡:多个运行中会话可叠放,悬停展开;点击定位到已打开的 DSH 标签页
- 授权 / 完成提醒:只在宠物上提示,不弹 Windows 系统通知
目录
- 前置要求
- 安装
- 配置页
- 配置项
- 宠物格式
- 桌面交互
- HTTP 路由
- 信任与安全
- 卸载
- 文件结构
- 开发注意
前置要求
1. Windows 10/11,已安装 DSH,并用 dsh web 打开 Web GUI
2. 本机有 Codex 兼容宠物,放在 %USERPROFILE%\.codex\pets\\
3. 桌面悬浮窗需要 Windows PowerShell 5.1(自带)。desktop/dsh-pet-desktop.ps1 必须保持 UTF-8 带 BOM,否则 param() 解析失败、开关打开也看不到窗口
安装
推荐:用 DSH 插件命令(会装依赖)
在插件目录外执行:
dsh plugin --profile web add %CD%
本地路径也可用 pnpm 的 file: 协议:
dsh plugin --profile web add file:%CD%
然后编辑 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml,追加:
- insert:
- id: pet
name: 'dsh-pet'
config:
routeBase: /dsh-pet
重启 DSH(自己启动 dsh web),浏览器硬刷新。打开 设置 → 插件,应看到「桌面宠物」卡片。
备选:复制目录
把整个 dsh-pet 文件夹复制到:
%USERPROFILE%\.dsh\profiles\node_modules\dsh-pet\
目录名必须是 dsh-pet。同样注册上面的 cordis.patch.yml 条目,并确保 profile 的 node_modules 里能解析到 sharp 与 @deepseek-ai/schemastery(用 dsh plugin add 时会自动安装)。
配置页
设置 → 插件 → 展开「桌面宠物」:
| 项 | 说明 |
| 启动桌面宠物 | 卡片标题栏开关,打开即拉起桌面悬浮窗,关闭即退出。开关会立刻写入设置,不必点保存 |
| 桌面缩放 | 0.5~4,保存后立即生效 |
| 桌面动画每帧毫秒 | 30~1000,越小越快 |
| 默认宠物 | 桌面未手动选过宠物时使用;空 = 清单第一只 |
配置页保存写入 DSH 的 settings.yaml(pet: 节),不必再改 cordis.patch.yml。
配置项
cordis.patch.yml 的 config: 与设置页用户层叠加后生效。
| 键 | 默认 | 说明 |
| enabled | true | 插件总开关 |
| routeBase | /dsh-pet | HTTP 路由前缀 |
| sourceDirs | [] | 自定义宠物目录;空则用 ~/.codex/pets + $DSH_HOME/pets |
| defaultPet | yingyue | 默认宠物 id |
| desktop | true | 是否启动桌面悬浮窗 |
| desktopScale | 0.5 | 桌面缩放 |
| desktopFrameMs | 300 | 桌面每帧毫秒 |
| columns / rows | 8 / 9 | 图集列 / 行 |
| cellWidth / cellHeight | 192 / 208 | 单格尺寸 |
| states | idle=0, working=1, … | 全局状态 → 行号 |
| petStates | {} | 按宠物 id 覆盖行映射(不改宠物文件) |
| desktopLauncher | "" | 可选:自定义 .ps1 / .cmd 绝对路径;空 = 包内 desktop/dsh-pet-desktop.ps1 |
以下键仍可出现在旧配置里以免解码失败,但网页宠物已关闭,界面不再提供:inject、scale、position、frameMs。
宠物格式
一个宠物 = 一个文件夹:
/
├── pet.json
└── spritesheet.webp
pet.json 与 Codex 一致:id、displayName、description、spritesheetPath、kind。可选扩展字段 states 覆盖行映射。
图集默认 9 行 × 8 列,每格 192×208。第 0 行视为 idle。1~8 行因宠物包而异,可用 states / petStates 配置。未映射的状态回落到 idle。
桌面交互
- 拖动:向右播 running-right,向左播 running-left(与 Codex 相同)
- 鼠标移上:播一轮 thinking/happy,再回到待机/工作循环
- 左键单击:播一次 happy
- 右键:切换宠物 / 鼠标穿透 / 退出
- 托盘图标:右键同款菜单;关闭窗口即最小化到托盘
- 气泡:运行中会话、等待授权、已完成(约 60 秒,可点掉)。多会话折叠叠放,悬停展开。点击气泡会尽量激活已打开的 DSH 浏览器标签并定位会话,没有标签时才新开
- DSH 退出:桌面宠物一并退出(正常关闭或服务连不上约 4.5 秒后)
- 位置 / 所选宠物:保存在 $DSH_HOME/dsh-pet-desktop.json(默认 %USERPROFILE%\.dsh\dsh-pet-desktop.json)
需要 DSH 服务在运行(默认 http://127.0.0.1:3080)。手动调试:
powershell.exe -NoProfile -ExecutionPolicy Bypass -STA -File desktop\dsh-pet-desktop.ps1 -Scale 0.5 -FrameMs 300
信任与安全
本仓库按「可审计的开源插件」发布,不要求任何人「先信作者」。请用源码和运行范围自己核对。
别人怎么确认不是木马
1. 只从本 GitHub 仓库安装,不要用来路不明的 zip / 网盘包 / 已编译 exe。
2. 源码全部在仓库里:index.js、client/、desktop/.ps1、desktop/.cmd。没有加壳、没有混淆、没有闭源二进制。
3. 许可证是 MIT,允许阅读、修改、再分发。
4. 自己读再装:桌面窗是 Windows PowerShell + 公开的 Win32 API(分层窗口、托盘)。Host 插件只给本机 DSH 加 HTTP 路由和设置卡片。
5. 用 git 核对提交,不要执行你看不懂的额外脚本。
git clone https://github.com/zuodazuoqiang001/dsh-pet.git
它实际会做什么(也只做这些)
| 行为 | 范围 |
| 读宠物素材 | ~/.codex/pets、$DSH_HOME/pets |
| 网络 | 默认只访问本机 DSH http://127.0.0.1:3080 |
| 窗口 | 普通用户权限下的置顶分层窗 + 托盘,不需要管理员 |
| 进程 | 开关关闭或 DSH 退出时,按 pid 文件 taskkill 结束自己的桌宠进程 |
| 网页 | 不注入 DSH 页面 |
不收集遥测、不上传宠物或会话内容、不改系统服务、不读写浏览器密码。
为什么杀毒软件仍可能报警
火绒等「系统加固 / HIPS」会把这些 正常桌面程序手法 标成敏感:
- 启动 PowerShell 运行窗口脚本
- 运行时 Add-Type 调用 Win32(透明分层窗必须如此)
- 结束自己的悬浮窗进程
这是启发式误报,不是发现了木马样本。安装者若核对过源码,把插件目录加入信任区、在弹窗里允许即可。
请不要 为了「看起来不像木马」去加壳、混淆或绕过 AMSI——那才会让开源项目更像恶意软件。
长期若要让杀软更友好:把 desktop/.ps1 收成可复现构建、带 Authenticode 签名的开源 WinExe,并发布校验和。在此之前,信任来自 可读源码,而不是「杀软没报」。
HTTP 路由
| 路由 | 说明 |
| GET /dsh-pet/manifest.json | 宠物清单 + 默认宠物 |
| GET /dsh-pet/spritesheet/ | 原图集 |
| GET /dsh-pet/spritesheet-png/ | PNG 图集(桌面窗用) |
| GET /dsh-pet/status.json | 活动状态与会话气泡数据 |
| GET /dsh-pet/desktop.json | 桌面开关 / 缩放 / 帧间隔 |
| POST /dsh-pet/focus | 请求定位会话 |
| GET /dsh-pet/focus.json | 浏览器端轮询定位 |
卸载
1. 设置卡片里关掉「启动桌面宠物」,或删除 cordis.patch.yml 中的 pet 条目
2. 删除 $DSH_HOME/profiles/node_modules/dsh-pet/(若用 dsh plugin 安装,也可用对应 remove)
3. 可选:清理 $DSH_HOME/settings.yaml 的 pet: 节,以及 $DSH_HOME/dsh-pet-desktop.json
4. 重启 DSH
文件结构
dsh-pet/
├── package.json # dsh.plugin / dsh.client + exports
├── index.js # Host 插件:路由、设置命名空间、拉起桌面窗 ├── client/ │ ├── settings-card.js # 设置 → 插件 卡片(须 inject sessions) │ ├── settings.html # 旧版 /dsh-pet/settings 页 │ └── player.js # 保留的网页播放器(默认不注入) ├── desktop/ │ ├── dsh-pet-desktop.cmd # 手动启动器 │ └── dsh-pet-desktop.ps1 # 分层窗口实现(UTF-8 BOM) ├── README.md └── LICENSE
开发注意
- 改 Host / 设置卡片后:重启 DSH,并硬刷新浏览器
- 只改 desktop/.ps1:关掉桌面宠物再打开,或结束 dsh-pet-desktop 进程后重启
- 不要把 dsh-pet-desktop.ps1 存成无 BOM 的 UTF-8
- Cordis 浏览器插件必须 inject: ["slots", "settingsScope", "sessions"],否则会 cannot get property "sessions" without inject
- 不要向 DSH 网页注入播放器(inject 固定为 false)
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zuodazuoqiang001/dsh-pet
在 Windows 桌面养 Codex 宠物,实时提示会话状态
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2