复刻 confirmo for DeepSeek Harness
30.7/100
综合分
1
GitHub 星标
135
npm 周下载
—/5
用户评分
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @purezhi/dsh-plugin-pandonpm 源 · @purezhi/dsh-plugin-pando 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过安装清单取自 dsh-plugin-pando/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@purezhi/dsh-plugin-pando @ 1.0.1
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:21:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 18 处,展示前 16 条)
- 读取本地文件lib/index.js:80
return JSON.parse(readFileSync(join(PACKAGE_ROOT, "package.json"), "utf8")); - 读取本地文件lib/index.js:190
const st = await stat(file); - 发起网络请求lib/index.js:193
const resp = await fetch(url, { - 写入本地文件lib/index.js:200
await mkdir(cacheDir, { recursive: true }); - 写入本地文件lib/index.js:202
await writeFile(tmp, buf); - 写入本地文件lib/index.js:203
await rename(tmp, file); - 请求外部主机api.sprites.confirmo.lovelib/index.js:254
const resp = await fetch(`https://api.sprites.confirmo.love/sprites?${params.toString()}`, { - 发起网络请求lib/index.js:254
const resp = await fetch(`https://api.sprites.confirmo.love/sprites?${params.toString()}`, { - 读取本地文件lib/index.js:286
const data = await readFile(file); - 读取本地文件lib/index.js:316
data = await readFile(full); - 读取本地文件lib/index.js:355
entries = await readdir(root, { withFileTypes: true }); - 读取本地文件lib/index.js:364
st = await stat(join(dir, "sheet.png")); - 发起网络请求lib/client.js:1049
fetch("/pando/info", { signal: AbortSignal.timeout(5000) }) - 发起网络请求lib/client.js:2091
return fetch("/pando/local-sprites", { - 发起网络请求lib/client.js:2126
return fetch("/pando/sprites?page=1&limit=40&sort=trending", { - 发起网络请求lib/client.js:2167
fetch("/pando/sprite/" + encodeURIComponent(s.id) + "?url=" + encodeURIComponent(s.spriteUrl), {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
涉及外部主机:api.sprites.confirmo.love
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 复刻confirmo
README
由 DeepSeek 最新模型翻译生成DSH UI Pando 桌宠
在 DeepSeek Harness (DSH) 的 Web UI 里复刻 confirmo.love 的桌宠体验:一只会动、可拖拽、可换形象的 AI 编码小伙伴,并支持 sprites.confirmo.love 社区精灵图。
交互、视觉与素材规范均致敬 confirmo.love 及其社区精灵图画廊。
📸 效果预览
| 待机 | 拖拽 | 工作状态 |
| 待机 | 拖拽 | 工作状态 |
| 开心 | 兴奋 | 睡觉 |
| 开心 | 兴奋 | 睡觉 |
✨ 功能
7 个精灵状态
每个 sprite 是 8 列 × 7 行 = 56 帧 的精灵图,每行一个动画:
| 行 | 状态 | 触发方式 |
| Row 1 | 待机 Idle | 默认基础状态 |
| Row 2 | 开心 Happy | 单击(250ms 手势窗口确认) |
| Row 3 | 兴奋 Excited | 双击 + 整体弹跳 |
| Row 4 | 睡觉 Sleepy | 5 分钟无 agent 动作/宠物交互自动入睡,3 个 Z 飘动 |
| Row 5 | 工作 Working | 检测到 DSH agent 运行自动切换,齿轮 + 三点加载 + 上飘代码符号 |
展开完整文档(README 剩余 1 节)
DSH UI Pando 桌宠
在 DeepSeek Harness (DSH) 的 Web UI 里复刻 confirmo.love 的桌宠体验:一只会动、可拖拽、可换形象的 AI 编码小伙伴,并支持 sprites.confirmo.love 社区精灵图。
交互、视觉与素材规范均致敬 confirmo.love 及其社区精灵图画廊。
📸 效果预览
| 待机 | 拖拽 | 工作状态 |
| 待机 | 拖拽 | 工作状态 |
| 开心 | 兴奋 | 睡觉 |
| 开心 | 兴奋 | 睡觉 |
✨ 功能
7 个精灵状态
每个 sprite 是 8 列 × 7 行 = 56 帧 的精灵图,每行一个动画:
| 行 | 状态 | 触发方式 |
| Row 1 | 待机 Idle | 默认基础状态 |
| Row 2 | 开心 Happy | 单击(250ms 手势窗口确认) |
| Row 3 | 兴奋 Excited | 双击 + 整体弹跳 |
| Row 4 | 睡觉 Sleepy | 5 分钟无 agent 动作/宠物交互自动入睡,3 个 Z 飘动 |
| Row 5 | 工作 Working | 检测到 DSH agent 运行自动切换,齿轮 + 三点加载 + 上飘代码符号 |
| Row 6 | 生气 Angry | 快速连点 5 次 / agent 运行出错 / sprite 加载失败 |
| Row 7 | 拖拽 Dragging | 按住拖动 |
- 手势用延迟提交(250ms 去抖窗口)区分单击/双击/连点,不依赖浏览器 dblclick 事件
- 状态互斥:工作中/兴奋动画播放中单击不响应;连点 5 次仍可升级为生气
- 任务完成时播放「兴奋(远近缩放) → 开心」庆祝 + 「搞定! ✓」气泡
- 右键菜单含 7 个状态按钮,可 10 秒预览每个状态(可被交互打断)
社区 sprite 支持
- 在线拉取清单:菜单支持实时显示社区最新 sprite
- 分层本地缓存:缓存正在使用的 sprite,提升加载速度
- 抠图:纯品红 #ff00ff 背景自动抠除,移植官网画廊同款流水线,对非标准品红背景(如深紫)也鲁棒
- 空闲预取:启动预热 + 入睡时用空闲带宽逐个补齐磁盘缓存
交互与细节
- 拖拽移动(位置持久化);右键菜单切换形象 / 大小(96/128/160)/ 状态预览
- 默认位置左下角;形象、位置、大小存于 localStorage
- 菜单缩略图统一(processed 缩略图优先,缺失时 canvas 抠图兜底)、深色主题适配
- 尊重系统 prefers-reduced-motion
📦 安装
推荐用 DSH 的 Plugin Manager(设置 → 插件)按本地路径安装,它会把这个包作为 profile 的 bundle 依赖写进 ~/.dsh/profiles/<profile>/package.json 并建软链:
@purezhi/dsh-plugin-pando → link:<本仓库>/dsh-plugin-pando
也可以手工接线:在目标 profile 的 package.json 里把包名加进 dsh.profile.bundles 与 dependencies(link: 指向本仓库),并在 node_modules/@purezhi/ 下建立同名软链。
插件集变更需要重启 DSH Desktop(client-modules 的包元数据在启动时缓存)。
重启后 window.__DSH_BOOT__ 会包含 @purezhi/dsh-plugin-pando 条目,浏览器自动加载桌宠;
node 端路由(/pando/sprites、/pando/sprite、/pando/local、
/pando/local-sprites)也随重启注册。
因为插件用 link: 指向本仓库,改代码不需要再往 ~/.dsh 拷贝:client 端改完刷新页面即可,
node 端改完需重启应用。
显示名称(多语言)
插件卡片的名字/描述来自 locale/{zh,en}.json(DSH 官方约定,结构为
{"meta":{"title","description"}}):中文显示 Pando 桌宠,英文显示
Pando Desktop Pet。package.json 的 description 作为兜底文案。
⚙️ 配置
插件用 DSH 官方的 export const Config(schemastery)声明配置。按 id 覆盖安装行(不要用 insert:,那会重复声明同一个 id):
- id: pando
config:
spriteDir: ~/my-sprites # 本地精灵图目录(可选) cacheDir: ~/pando-cache # 精灵图缓存目录(可选)
| 配置项 | 默认值 | 说明 |
| spriteDir | "" | 本地精灵图目录。放 <name>/sheet.png(+ 可选 thumb.png)即可:既通过 /pando/local/<name>/… 提供文件,也由 /pando/local-sprites 自动登记进右键菜单——无需改代码。查找顺序在此目录与包内置 assets/(QPanda)之前,因此可覆盖内置形象。支持 ~;相对路径基于工作目录解析 |
| cacheDir | <DSH_HOME>/cache/pando | 精灵图缓存目录。社区 sprite 经 /pando/sprite/<id> 下载后,持久化落盘的位置,浏览器数据清理后仍可复用 |
两个配置项都可省略;省略时只提供内置的 QPanda,缓存落在默认位置。
本地精灵目录约定
spriteDir/
├── mj/
│ ├── sheet.png # 必需:8×7 帧、透明背景(prepare.py 产物) │ ├── thumb.png # 可选:菜单缩略图;缺失时自动从 sheet 裁第 1 帧 │ └── sprite.json # 可选:{ "name": "MJ", "preprocessed": true } └── qpanda/ …
- sprite.json 可覆盖 name / preprocessed / frameWidth / frameHeight / frameCount
- 默认按已预处理(品红已抠、帧已居中)对待;若放的是带品红底的原始图,加 {"preprocessed": false} 让浏览器端运行时抠图
- sheet 的修改时间会进入缓存键,重新生成同名精灵不会命中旧缓存
🔌 插件生命周期
启用/停用由 DSH 的插件机制负责,关闭插件即移除宠物:
- client 端把宠物 DOM、、全部 setInterval / setTimeout / requestAnimationFrame 循环、MutationObserver 与全局键盘监听都归属同一个 ctx.effect
- 插件被停用/卸载(含 HMR 热重载)时 cordis 执行该 effect 的清理函数 → 宠物节点、样式与计时器一并释放;重新启用可干净重挂载,不会出现两只宠物
- 因此改 lib/client.js 后刷新页面即可生效,无需重启应用
🔧 开发
node dsh-plugin-pando/build.js # 从 client.src.js + sprite_list.json 生成 lib/client.js
lib/client.js 是浏览器端 bundle(window.__ModuleLoader__.load(...) 格式,模块 id 必须与包名 @purezhi/dsh-plugin-pando 一致,DSH 才能把它正确绑定到本插件上并回收),由 lib/client.src.js(源码)+ sprite_list.json(社区 sprite 快照)构建而来。
改动流程:改 client.src.js → node build.js → 刷新页面即可生效(因为 profile 用 link: 指向本仓库,无需拷贝)。只有改 index.js(node 端路由)才需要重启 DSH Desktop。
手动更新社区 sprite 快照(可选):
curl -s "https://api.sprites.confirmo.love/sprites?page=1&limit=20&sort=trending" -o /tmp/trending.json
处理后覆盖 sprite_list.json, 再 node build.js
手动更新内置 sprite 快照(可选):
curl -s "https://api.sprites.confirmo.love/sprites?page=1&limit=20&sort=trending" -o /tmp/trending.json
处理后覆盖 sprite_list.json, 再 node build.js
🗑️ 卸载
cd pando
./uninstall.sh
删除插件包、web 链接和两处 cordis.patch.yml 注册段,重启 DSH Desktop 生效。
📁 文件结构
pando/
├── LICENSE
├── README.md
├── install.sh / uninstall.sh
├── docs/
│ ├── screenshots/ # 效果预览截图(README 引用) │ ├── sprites/ # 社区 sprite 素材(git 排除, 用 download-sprites.mjs 重新下载) │ └── submission/ # 1024Store 插件市场投稿文件 └── dsh-plugin-pando/ ├── package.json # 声明 dsh.bundle.patch + dsh.client (platform: web), 导出 ./client ├── cordis.patch.yml # bundle patch: 注册 pando 插件到 cordis 配置 ├── sprite_list.json # 内置 sprite 快照(60 个热门 sprite 的 URL 清单) ├── build.js # 构建脚本 └── lib/ ├── index.js # node 端:/pando/sprites 清单代理 + /pando/sprite 磁盘缓存路由 ├── client.src.js # 浏览器端源码(猫咪 SVG + 抠图 + 播放引擎 + 手势 + 缓存 + 菜单) └── client.js # 构建产物(ModuleLoader bundle)
📜 致谢与声明
- 复刻自 confirmo.love 的交互体验与视觉风格,精灵图规范来自 sprites.confirmo.love 社区(完整规范见 docs/sprite-spec.md)
- 精灵图素材版权归各自作者所有;本项目仅嵌入其 URL 清单,运行时从官方服务器加载
- 本项目为独立开源实现,与 confirmo.love 无隶属关系
⚖️ License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
purezhi/dsh-plugin-pando
复刻 confirmo for DeepSeek Harness
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目