🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

智子桌面宠物 EternalNight996/dsh-pet-sophon

DeepSeek Harness
EternalNight99634 天前有提交已提供中文文档扫描:含敏感能力

让智子在桌面上游荡,实时反映会话状态

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add EternalNight996/dsh-pet-sophon
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · desktop
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-pet-sophon(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 09:41:50

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
  • 写入本地文件
    main/main.cjs:26
    appendFileSync(DIAG, line, 'utf8')
  • 读取本地文件
    main/main.cjs:63
    const raw = JSON.parse(readFileSync(stateFile(), 'utf8'))
  • 写入本地文件
    main/main.cjs:79
    writeFileSync(stateFile(), JSON.stringify(next, null, 2), 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 桌面自由活动
  • 无边框透明置顶窗口
  • 实时反映会话状态

三体智子 · 桌面宠物:把 DSH 里的悬浮智子放出来,在系统桌面上自由活动(无边框透明置顶窗口,实时反映 DSH 会话状态)

README

由 DeepSeek 最新模型翻译生成
三体智子 · 桌面宠物(dsh-pet-sophon) 把 DSH 里的悬浮智子放出来:一个无边框透明置顶窗口,让它在 Windows 系统桌面上自由游荡、东张西望、贴边反弹,并实时反映 DSH 会话状态(空闲/工作中/离线 → 情绪与移动节奏)。 参考形态:Codex 桌面版宠物(桌面常驻、自主活动、点击交互)。 本项目的定位是 DSH 的同伴进程——不改 DSH 源码、随 DSH 升级不失效。 为什么是独立应用,而不是改造 DSH 桌面壳 | 方案 | 结论 | | 插件直接开系统窗口 | ❌ 插件跑在 Cordis host(Node 子进程),拿不到 Electron API | | 改造官方桌面壳加窗口 | ⚠️ 可行但改的是别人维护的代码,dsh 每次升级都可能被覆盖 | | 独立 Electron 同伴应用(本项目) | ✅ 不改 DSH、升级不失效、跨平台;代价是多一个常驻进程 | DSH 官方的 /api/* 路由需要凭据(实测未授权一律 401),因此状态不能从官方接口读。 但第三方插件的 webServer.register 路由是公开的(对照:/memory-eternal/api/overview 实测 200),所以状态桥由 dsh-ui-three-body 插件自己暴露一条只读路由。
展开完整文档(README 剩余 1 节)
三体智子 · 桌面宠物(dsh-pet-sophon)

把 DSH 里的悬浮智子放出来:一个无边框透明置顶窗口,让它在 Windows 系统桌面上自由游荡、东张西望、贴边反弹,并实时反映 DSH 会话状态(空闲/工作中/离线 → 情绪与移动节奏)。

参考形态:Codex 桌面版宠物(桌面常驻、自主活动、点击交互)。
本项目的定位是 DSH 的同伴进程——不改 DSH 源码、随 DSH 升级不失效。

为什么是独立应用,而不是改造 DSH 桌面壳

| 方案 | 结论 |
| 插件直接开系统窗口 | ❌ 插件跑在 Cordis host(Node 子进程),拿不到 Electron API |
| 改造官方桌面壳加窗口 | ⚠️ 可行但改的是别人维护的代码,dsh 每次升级都可能被覆盖 |
| 独立 Electron 同伴应用(本项目) | ✅ 不改 DSH、升级不失效、跨平台;代价是多一个常驻进程 |

DSH 官方的 /api/* 路由需要凭据(实测未授权一律 401),因此状态不能从官方接口读。
但第三方插件的 webServer.register 路由是公开的(对照:/memory-eternal/api/overview 实测 200),所以状态桥由 dsh-ui-three-body 插件自己暴露一条只读路由。

运行

依赖:Electron(本机已装 33.4.11)
npm install

启动宠物
npm start

自检(不建窗口,打印运行环境/显示器/边界计算后退出) node_modules/electron/dist/electron.exe . --smoke

纯逻辑测试(31 个用例,不需要 Electron)
npm test

注意:若从 DSH 会话里启动,需要先清掉继承来的 ELECTRON_RUN_AS_NODE=1 (那是 DSH 给子进程设的,会让 Electron 退化成纯 Node,窗口起不来): Remove-Item Env:\ELECTRON_RUN_AS_NODE
npm start

交互

| 操作 | 行为 |
| 单击宠物 | 休眠 / 唤醒(休眠时移动极慢且闭眼) |
| 拖拽 | 把宠物拖到桌面任意位置(含另一块显示器) |
| 双击 | 把 DSH 主窗口拉到前台 |
| 右键 | 菜单:皮肤(11 款)、窗口置顶、回到屏幕中央、打开 DSH、退出 |
| 托盘图标 | 同样的菜单(关掉窗口也能找回来) |
| 鼠标移动 | 眼睛实时跟随鼠标 |

架构

main/main.cjs Electron 主进程
· 每块显示器一个 overlay 窗口(无边框/透明/置顶/鼠标穿透)
· 一个跟随宠物的 hitbox 小窗口(接收点击/拖拽/右键)
· 30fps 行为循环:算坐标 → 推到渲染层
· 50ms 鼠标采样:让眼睛跟手
· 状态桥轮询 DSH

main/preload.cjs contextBridge 暴露最小 API(渲染层不碰 Node)

renderer/index.html 两种模式共用一个页面(?mode=overlay|hitbox) renderer/renderer.js 画眼睛、转瞳孔、合眼睑、显示头顶进度

core/behavior.mjs 纯逻辑:游荡/贴边/视线/情绪/瞬移(可单测) core/skins.mjs 11 款皮肤数据(与 dsh-ui-three-body 同一套视觉 DNA) core/eye-svg.mjs 眼睛 SVG 生成(纯字符串,可单测、可离线预览) core/state-bridge.mjs 轮询 DSH 状态路由 + 归一化 + 失败降级

tools/make-icons.py 图标生成(托盘 + 应用) tools/make-desk-preview.mjs 生成桌面效果预览页 tests/ 31 个用例:行为 / 状态桥 / SVG / 元数据 / 端到端

窗口架构为什么是「一屏一个 overlay」

实测:单窗口请求跨屏并集(3640×1921)时,Electron 会把它压回单屏尺寸(实际得到 2560×1392)——本机两块屏 DPI 不同(2560×1440@1.5 + 1080×1921@2),跨 DPI 的窗口无法覆盖全部桌面。
所以改成每块显示器一个透明 overlay,渲染层按主进程给的 visible 决定画不画,于是宠物可以真正跨越显示器边界,且不会出现「两只宠物」。

状态契约

dsh-ui-three-body 暴露 GET /beast-tamer/api/state(无需认证、只读),返回:

{
"ok": true,
"connected": true,
"running": true,
"sessions": 2,
"sessionId": "session-…", "title": "做桌面宠物",
"goal": { "objective": "…", "phase": "active", "rounds": 2, "maxRounds": 40 },
"todo": { "total": 10, "done": 4, "current": "写渲染层" }
}

宠物侧归一化后的映射:

| DSH 状态 | 情绪 | 表现 |
| running: true | working | 移动快、呼吸急促、瞳孔聚焦 |
| connected 但 running: false | idle | 慢速游荡、偶尔东张西望 |
| 路由不可达(DSH 未开/未装插件) | dormant | 几乎不动、闭眼 |

头顶进度优先显示 todo(已完成/总数 · 百分比 · 当前步),其次 goal 轮次,最后标题。

端口默认 19387(DSH 桌面端默认端口)。可用 createStateBridge({ endpoint }) 覆盖。

已验证 / 未验证(诚实边界)已实测:
- 真实 Electron 33.4.11 启动,双显示器(2560×1440 + 1080×1921)各起一个 overlay, hitbox 与两个 overlay 的渲染进程全部上报 ready,进程稳定常驻。
- 桌面并集边界计算正确:(0,-430) 3440×1721,宠物 300 帧游荡后仍在界内。
- 状态链路端到端:真起 HTTP 服务按契约喂数据 → 归一化 → 情绪 → 行为参数,全部贯通。
- 31 个用例全绿;11 款皮肤经 headless Chrome 截图肉眼确认画面正确(写轮眼勾玉 / 万花筒刃 / 轮回眼波纹 / 白眼 / 智子六边形等)。

未实测(需要你实际用一次才能确认):
- 宠物在真实桌面上的观感:透明度、置顶层级是否压过全屏应用、多屏拖拽的手感。
- 鼠标穿透:overlay 用了 setIgnoreMouseEvents(true),理论上桌面其余区域点击照常穿透;需确认宠物附近不会误挡点击。
- 托盘图标在 Windows 通知区域的实际显示效果(assets/tray.png 是脚本生成的)。
- 与真实 DSH 的联通:需要 dsh-ui-three-body 装在运行中的 profile 里并重启,本机当前会话继承 ELECTRON_RUN_AS_NODE 且桌面端未重启,未做这一步实测。

打包

electron-builder 未接入:本机 npm 访问 Electron 二进制源会被 TLS 证书拦截,
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ + NODE_OPTIONS=--use-system-ca 可装上开发依赖,
但打 Windows 安装包还需补 electron-builder 配置。当前形态是开发运行 + 托盘常驻,足够日常使用;要分发给别人再补打包。
预览分享卡片长什么样 ↓EternalNight996/dsh-pet-sophon
分享 · DeepSeek Harness Hub
EternalNight996/dsh-pet-sophon

让智子在桌面上游荡,实时反映会话状态

这是你的仓库?认领条目

回到顶部