在网页角落养宠物,投喂玩耍还能加自定义角色
29.9/100
综合分
4
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Awesome-AI-Pedia/Awesome-DSH-Pet该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 76 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包awesome-dsh-pet(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:43:57
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 35 处,展示前 25 条)
- 读取本地文件lib/index.mjs:55
return normalizeState(JSON.parse(readFileSync(STATE_FILE, 'utf8'))) - 写入本地文件lib/index.mjs:64
mkdirSync(dirname(STATE_FILE), { recursive: true }) - 写入本地文件lib/index.mjs:66
writeFileSync(tmp, serializeState(next)) - 写入本地文件lib/index.mjs:67
renameSync(tmp, STATE_FILE) - 读取本地文件lib/index.mjs:79
if (!existsSync(USER_CHARACTERS_DIR)) return { characters } - 读取本地文件lib/index.mjs:80
for (const entry of readdirSync(USER_CHARACTERS_DIR, { withFileTypes: true })) { - 读取本地文件lib/index.mjs:84
const raw = readFileSync(join(USER_CHARACTERS_DIR, entry.name, 'manifest.json'), 'utf8') - 写入本地文件lib/index.mjs:103
mkdirSync(dir, { recursive: true }) - 写入本地文件lib/index.mjs:105
writeFileSync(join(dir, 'idle.png'), pngBuffer) - 写入本地文件lib/index.mjs:106
writeFileSync(join(dir, 'manifest.json'), JSON.stringify(manifest, null, 2)) - 删除本地文件递归lib/index.mjs:115
rmSync(dir, { recursive: true, force: true }) - 读取本地文件lib/index.mjs:131
const buf = readFileSync(join(USER_CHARACTERS_DIR, id, 'idle.png')) - 读取本地文件lib/index.mjs:143
const manifest = JSON.parse(readFileSync(path, 'utf8')) - 发起网络请求lib/client.js:707
const res = await fetch(MANIFEST_URL); - 发起网络请求lib/client.js:931
const res = await fetch(INTERACT_PATH, { - 发起网络请求lib/client.js:950
const res = await fetch(CONFIG_PATH); - 发起网络请求lib/client.js:986
const res = await fetch(STATE_PATH); - 发起网络请求lib/client.js:1204
const res = await fetch(UPLOAD_PATH, { - 发起网络请求lib/client.js:1214
const manifestRes = await fetch(MANIFEST_URL, { cache: "no-cache" }); - 发起网络请求lib/client/index.mjs:606
const res = await fetch(MANIFEST_URL) - 发起网络请求lib/client/index.mjs:869
const res = await fetch(INTERACT_PATH, { - 发起网络请求lib/client/index.mjs:894
const res = await fetch(CONFIG_PATH) - 发起网络请求lib/client/index.mjs:935
const res = await fetch(STATE_PATH) - 发起网络请求lib/client/index.mjs:1194
const res = await fetch(UPLOAD_PATH, { - 发起网络请求lib/client/index.mjs:1205
const manifestRes = await fetch(MANIFEST_URL, { cache: 'no-cache' })
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 网页角落养宠物
- 投喂与玩耍
- 添加自定义角色
README
由 DeepSeek 最新模型翻译生成超棒的 DSH 宠物
DSH Web GUI 内的可扩展桌面宠物插件。
- jingyu-zongcai:鲸鱼总裁
- lulu-capybara:噜噜
安装
dsh plugin --profile web add /Users/icourt/Desktop/DSH-plugin/Awesome-DSH-Pet
安装或更新后重启 web。插件会在页面右下角显示桌面宠物,菜单里可以投喂、玩耍、切换角色。
配置
settings.yaml 中使用 awesome-dsh-pet: section:
awesome-dsh-pet:
enabled: true
size: 110
opacity: 1
walk:
enabled: true
sleepAfterMs: 60000
快速添加你自己的宠物
三步走:放素材 → 改 manifest → 跑门禁。
1. 起个角色 id 并放素材
角色 id 只允许 [a-z0-9-](会当 URL 路径用)。示例用 my-cat。
把 Codex 标准 8×9 spritesheet 放到:
lib/assets/characters/my-cat/spritesheet.webp
Codex atlas 规范:8 列 × 9 行,每格 192×208(像素)。
展开完整文档(README 剩余 1 节)
超棒的 DSH 宠物
DSH Web GUI 内的可扩展桌面宠物插件。
- jingyu-zongcai:鲸鱼总裁
- lulu-capybara:噜噜
安装
dsh plugin --profile web add /Users/icourt/Desktop/DSH-plugin/Awesome-DSH-Pet
安装或更新后重启 web。插件会在页面右下角显示桌面宠物,菜单里可以投喂、玩耍、切换角色。
配置
settings.yaml 中使用 awesome-dsh-pet: section:
awesome-dsh-pet:
enabled: true
size: 110
opacity: 1
walk:
enabled: true
sleepAfterMs: 60000
快速添加你自己的宠物
三步走:放素材 → 改 manifest → 跑门禁。
1. 起个角色 id 并放素材
角色 id 只允许 [a-z0-9-](会当 URL 路径用)。示例用 my-cat。
把 Codex 标准 8×9 spritesheet 放到:
lib/assets/characters/my-cat/spritesheet.webp
Codex atlas 规范:8 列 × 9 行,每格 192×208(像素)。行含义:
| row | 用途 |
| 0 | idle |
| 1 | running-right / walk / drag |
| 2 | running-left |
| 3 | waving / welcome / celebrate |
| 4 | jumping / play |
| 5 | failed / error / disappointed |
| 6 | waiting |
| 7 | running / working |
| 8 | review / think |
如果你手里只有一堆单行动作 sheet(不是 atlas),也支持——见下方"素材两种形式"。
2. 在 lib/assets/manifest.json 增加角色
在 characters 下加一个 key:
{
"characters": {
"my-cat": {
"name": "我的猫", "credit": "你的名字", "description": "一句话人设。",
"meta": {
"stageSize": 110,
"atlas": { "columns": 8, "rows": 9, "cellWidth": 192, "cellHeight": 208 }
},
"states": {
"idle": { "sheet": "spritesheet.webp", "row": 0, "rows": 9, "frames": 8, "fps": 4, "playback": "blink" },
"working": { "sheet": "spritesheet.webp", "row": 7, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },
"celebrate": { "sheet": "spritesheet.webp", "row": 3, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },
"error": { "sheet": "spritesheet.webp", "row": 5, "rows": 9, "frames": 8, "fps": 8, "motion": "shake", "playback": "once" },
"disappointed": { "sheet": "spritesheet.webp", "row": 5, "rows": 9, "frames": 8, "fps": 4, "playback": "loop" },
"joy": { "sheet": "spritesheet.webp", "row": 3, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },
"eat": { "sheet": "spritesheet.webp", "row": 3, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },
"play": { "sheet": "spritesheet.webp", "row": 4, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },
"drag": { "sheet": "spritesheet.webp", "row": 1, "rows": 9, "frames": 8, "fps": 8, "playback": "loop" },
"walk": { "sheet": "spritesheet.webp", "row": 1, "rows": 9, "frames": 8, "fps": 8, "playback": "pingpong" },
"sleep": { "sheet": "spritesheet.webp", "row": 0, "rows": 9, "frames": 8, "fps": 2, "playback": "loop" },
"wake": { "sheet": "spritesheet.webp", "row": 3, "rows": 9, "frames": 8, "fps": 6, "playback": "once" },
"welcome": { "sheet": "spritesheet.webp", "row": 3, "rows": 9, "frames": 8, "fps": 6, "playback": "loop" },json
"think": { "sheet": "spritesheet.webp", "row": 8, "rows": 9, "frames": 8, "fps": 4, "playback": "loop" },
"wait": { "sheet": "spritesheet.webp", "row": 6, "rows": 9, "frames": 8, "fps": 4, "playback": "loop" }
}
}
}
}
必备 15 状态一个都不能少:idle / working / celebrate / error / disappointed / joy / eat / play / drag / walk / sleep / wake / welcome / think / wait。
上面的 atlas 行映射是通用模板,直接复制改角色 id 即可跑起来。想让某个状态换动作(例如 eat 走单独的表情),改对应条目的 row 或 sheet 即可。
想把新角色作为默认,把顶层的 "default": "jingyu-zongcai" 改成 "my-cat"。
3. 校验并重装 sh
node scripts/gates/verify-assets.mjs # 门禁:素材完整性 + manifest 一致性
node --test 'tests/.test.mjs' # 单测
dsh plugin --profile web add /Users/icourt/Desktop/DSH-plugin/Awesome-DSH-Pet # 更新后重启 web
门禁会告诉你缺哪个状态、sheet 文件不存在、frames/fps 不合法等——按报错逐条修就行。
素材两种形式
- Codex atlas 行(推荐):{ "sheet": "spritesheet.webp", "row": 0, "rows": 9, "frames": 8, "fps": 4, "playback": "loop" }
- 单行动作 sheet:{ "sheet": "idle.png", "frames": 3, "fps": 4, "playback": "loop" }
字段速查
| 字段 | 说明 |
| sheet | 相对 lib/assets/characters// 的文件名。允许 .png / .webp / .svg / .jpg / .jpeg / .gif / .json |
| frames | 帧数(正整数)。PNG 多帧图必须满足 宽度 = frames × 高度(横排帧图) |
| fps | 播放帧率 |
| row / rows | atlas 行索引与总行数;row < rows |
| playback | loop / pingpong / once / blink。最小帧数:pingpong≥2、blink≥2,其他 ≥1 |
| motion | 可选运动配方:bob / wiggle / squash / shake / sigh / hop / tilt / float / wave。要求 frames === 1(error 是唯一例外,可以多帧 + 运动叠加) |
开发 sh
node scripts/build-client.mjs
node scripts/gates/verify-assets.mjs
node --test 'tests/.test.mjs'
lib/client.js 是构建产物,改 lib/client/index.mjs 后运行 node scripts/build-client.mjs 重新生成。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Awesome-AI-Pedia/Awesome-DSH-Pet
在网页角落养宠物,投喂玩耍还能加自定义角色
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,148已汉化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,266已汉化DSH
70.7