[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-94987":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":16,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},94987,"dsh-pet","PC2005-cloud\u002Fdsh-pet","PC2005-cloud","DSH 桌面宠物：一行命令安装现成宠物（28 个透明动画，即装即用），或内置素材链从 AI 视频自造专属宠物 | One-line install desktop pet for DeepSeek Harness + DIY asset pipeline",null,"JavaScript",226,14,102,4,0,90,72.53,"MIT License",false,"main",true,[23,24,25,26],"deepseek-harness","desktop-pet","dsh","dsh-plugin","2026-08-24 04:01:23","# dsh-pet 🐾\n\n> 🚧 **维护状态说明**\n>\n> 最近在做**素材链的视频背景去除与画质优化**，此项目将**暂时放缓更新**（源码\u002F插件可能一段时间不推送）。\n>\n> - ✅ 现有版本（npm `dsh-pet`）仍可正常安装使用，不受影响\n> - 💬 遇到的 bug 或建议，欢迎照常开 [Issue](https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\u002Fissues)，我会回复\n> - 🕒 素材优化完成并验证后，我会继续维护并发布新版本\n>\n> 感谢大家的 star 和支持 ❤️\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fdsh-pet\">\u003Cimg alt=\"npm version\" src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fdsh-pet?label=npm&color=blue\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fdsh-pet\">\u003Cimg alt=\"npm monthly downloads\" src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdm\u002Fdsh-pet?label=%E6%9C%88%E4%B8%8B%E8%BD%BD&color=brightgreen\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fdsh-pet\">\u003Cimg alt=\"total downloads\" src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fdt\u002Fdsh-pet?label=%E6%80%BB%E4%B8%8B%E8%BD%BD&color=success\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\">\u003Cimg alt=\"stars\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FPC2005-cloud\u002Fdsh-pet?style=social\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\u002Fblob\u002Fmaster\u002FLICENSE\">\u003Cimg alt=\"license\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FPC2005-cloud\u002Fdsh-pet?color=orange\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fawesome-dsh-plugin.com\">\u003Cimg alt=\"awesome dsh plugin\" src=\"https:\u002F\u002Fawesome-dsh-plugin.com\u002Fbadge.svg\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\">\u003Cimg alt=\"repo size\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frepo-size\u002FPC2005-cloud\u002Fdsh-pet\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\u002Fissues\">\u003Cimg alt=\"issues\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002FPC2005-cloud\u002Fdsh-pet\">\u003C\u002Fa>\n  \u003Cimg alt=\"platform\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fplatform-DeepSeek%20Harness%20Web-8A2BE2\">\n  \u003Cimg alt=\"assets\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fassets-51%20animations-ff69b4\">\n\u003C\u002Fp>\n\n一只住在 [DeepSeek Harness](https:\u002F\u002Fgithub.com\u002Fdeepseek-ai\u002Fdeepseek-harness) Web 界面里的桌面宠物：待机呼吸、随机动作（含打瞌睡）、偶尔转向、屏幕漫游、点击反应、可拖拽。\n\n这不是一个普通插件，而是**完整的三件套项目**：\n\n```\n① 提示词（配方）    →  ② 素材生成链（引擎）  →  ③ 插件（成品）\nAI 生成动画的配方     源视频 → 透明动画的管线    运行在 DSH 里的宠物\n```\n\n任何人 clone 本仓库，都可以**从零生成自己的桌面宠物**——换角色、换动作、换风格，全流程可复现。\n\n---\n\n## 快速开始（安装插件）\n\n```sh\ndsh plugin --profile web add dsh-pet\n```\n\n重启 `dsh web`，宠物出现在右下角。\n\n## 从零生成你自己的宠物（完整流程）\n\n### ① 提示词 → 源视频\n\n用 AI 视频生成工具（如可灵、Runway、豆包等，本项目素材即由豆包生成），按 `prompts\u002F桌面宠物 10 秒动作提示词.md` 的配方生成 51 个 10 秒绿幕视频：\n\n- 视频比例 16:9，背景纯绿幕（#00FF00）\n- 人物位置\u002F大小固定（头顶 ~20% 高度、脚底 ~85% 高度）\n- 动作全程在画幅内，首尾帧为标准正面站立\n- 每段动画按秒分解（0-10s 各阶段动作）\n\n生成结果放入 `video\u002F`（51 个 mp4）。\n\n> **源视频获取**：为控制仓库体积，`video\u002F` 源视频不入 git。需要复现素材链时，从 [Releases `assets-videos`](https:\u002F\u002Fgithub.com\u002FPC2005-cloud\u002Fdsh-pet\u002Freleases\u002Ftag\u002Fassets-videos) 下载 51 个 mp4（拼音文件名），放入 `video\u002F` 即可。一键批量下载（需 gh CLI）：\n>\n> ```sh\n> mkdir -p video && cd video && gh release download assets-videos --repo PC2005-cloud\u002Fdsh-pet\n> ```\n\n### ② 源视频 → 透明动画（素材链）\n\n```sh\ncd scripts\npython watermark_step01.py   # 水印遮罩填充 → step01\u002F\npython chroma_step02.py      # 绿幕抠像转透明（HSV 色相）→ step02\u002F\npython normalize_step03.py   # 归一化 2160×1215 统一站立居中 → step03\u002F\npython encode_thumbs.py      # 转码 640×360 播放变体 → step04\u002F\n```\n\n**依赖**：Python 3 + ffmpeg + numpy + scipy（素材链脚本自动用工作区 `.tools\u002F` 下的 ffmpeg）。\n\n### ③ 动画 → 插件\n\n```sh\n# 把 step04 的播放变体同步进插件包\ncp step04\u002F*.webm dsh-pet\u002Fassets\u002Fthumb\u002F\n\n# 本地安装插件\ndsh plugin --profile web add file:D:\u002Fpath\u002Fto\u002Fdsh-pet\n```\n\n> 中间产物（step01-04）由脚本生成、不入仓库；`video\u002F` 源视频和脚本是成果、入库维护。\n\n---\n\n## 项目结构\n\n```\n├── prompts\u002F                 # ① 51 个动作的生成提示词（绿幕规范 + 按秒分解）\n├── scripts\u002F                 # ② 素材生成链（7 个 Python 脚本）\n├── video\u002F                   # ② 源视频（51 个绿幕 mp4 + 水印 mask）\n├── tools\u002F                   # 开发工具：preview.html（素材链各阶段效果预览）\n├── dsh-pet\u002F                 # ③ 插件（可独立 npm 发布）\n│   ├── lib\u002Findex.js         #   host 半侧：\u002Fpet 视频路由\n│   ├── lib\u002Fclient.js        #   浏览器半侧：动画链 + 双缓冲播放\n│   └── assets\u002Fthumb\u002F        #   640×360 播放动画（51 个，~36MB）\n├── DESIGN.md                # 设计与实现文档（含踩坑记录）\n└── LICENSE                  # MIT\n```\n\n## 插件功能\n\n- **纯粹的桌宠**：不掺任何业务功能——没有天气查询、系统监控、Agent 状态感知，就一件事：陪你。零核心改动（不碰 DSH 内核）、零模型成本（运行时不需要调用任何 LLM 或 API）\n- **动画链**：每个动画（含待机）播完立即按概率选下一个——30% 待机 \u002F 10% 转向 \u002F 40% 动作 \u002F 20% 移动，首尾相接永不停止\n- **屏幕漫游**：朝 facing 方向行走，先检查空间、不走出屏幕\n- **点击\u002F拖拽**：点击有回应动画，可拖到任意位置\n- **左右朝向**：所有动画可镜像，人物可朝左\u002F朝右\n- **落地对齐**：动画统一脚底线，宠物始终站在地面上\n- **流畅切换**：双缓冲交叉淡入，切换无空白帧\n\n## 运行效果\n\n宠物实际运行在 DSH Web 界面中的样子：\n\n\u003Cp>\n  \u003Cimg src=\"assets\u002Fscreenshots\u002Fdsh-pet-running-1.png\" width=\"380\" alt=\"dsh-pet 运行效果 1\" title=\"dsh-pet 运行效果 1\">\n  \u003Cimg src=\"assets\u002Fscreenshots\u002Fdsh-pet-running-2.png\" width=\"380\" alt=\"dsh-pet 运行效果 2\" title=\"dsh-pet 运行效果 2\">\n\u003C\u002Fp>\n\n## 效果预览\n\n全部 51 个动画（640×360，插件实际播放用的资源）——GIF 预览存放于仓库 `dsh-pet\u002Fassets\u002Fpreview\u002F`（raw 直链渲染，文件名采用拼音便于跨平台）；完整透明视频见 `dsh-pet\u002Fassets\u002Fthumb\u002F`：\n\n**待机 \u002F 转向**\n\n\u003Cp>\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdaiji-huxi-xiuxian.gif\" width=\"160\" alt=\"待机呼吸休闲\" title=\"待机呼吸休闲\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdongzhangxiwang.gif\" width=\"160\" alt=\"东张西望\" title=\"东张西望\">\n\u003C\u002Fp>\n\n**移动**\n\n\u003Cp>\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fpangxie-zoulu.gif\" width=\"160\" alt=\"螃蟹走路\" title=\"螃蟹走路\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-piaofu-tabu.gif\" width=\"160\" alt=\"原地漂浮踏步\" title=\"原地漂浮踏步\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-zuozhuan-benpao.gif\" width=\"160\" alt=\"原地左转奔跑\" title=\"原地左转奔跑\">\n\u003C\u002Fp>\n\n**动作**\n\n\u003Cp>\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyouxian-hengga.gif\" width=\"160\" alt=\"悠闲哼歌\" title=\"悠闲哼歌\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fchaoda-shenlanyao.gif\" width=\"160\" alt=\"超大伸懒腰\" title=\"超大伸懒腰\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-zhuanxin-wan-mofang.gif\" width=\"160\" alt=\"原地专心玩魔方\" title=\"原地专心玩魔方\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-qiaoji-zhuomian-hudong.gif\" width=\"160\" alt=\"原地敲击桌面互动\" title=\"原地敲击桌面互动\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-zhongli-xiadun-yasuo.gif\" width=\"160\" alt=\"原地重力下蹲压缩\" title=\"原地重力下蹲压缩\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fhaqian-liantian.gif\" width=\"160\" alt=\"哈欠连天\" title=\"哈欠连天\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-xiaoqi-chenmian.gif\" width=\"160\" alt=\"原地小憩沉眠\" title=\"原地小憩沉眠\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-dunxia-wan-wanju-qiche.gif\" width=\"160\" alt=\"原地蹲下玩玩具汽车\" title=\"原地蹲下玩玩具汽车\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fjingyu-tu-paopao-texiao.gif\" width=\"160\" alt=\"鲸鱼吐泡泡特效\" title=\"鲸鱼吐泡泡特效\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fnvpu-quxi-liyi.gif\" width=\"160\" alt=\"女仆屈膝礼仪\" title=\"女仆屈膝礼仪\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fbeixiayitiao-zhamao.gif\" width=\"160\" alt=\"被吓一跳（炸毛）\" title=\"被吓一跳（炸毛）\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyuandi-tiaoyue-zhuasui-touding-wupin.gif\" width=\"160\" alt=\"原地跳跃抓碎头顶物品\" title=\"原地跳跃抓碎头顶物品\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fxiaofudu-yuandi-360du-xuanzhuan-zhanshi.gif\" width=\"160\" alt=\"小幅度原地 360 度旋转展示\" title=\"小幅度原地 360 度旋转展示\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Ftouchi-lingshi-bei-zhuazhu.gif\" width=\"160\" alt=\"偷吃零食被抓住\" title=\"偷吃零食被抓住\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fwan-youxi-qijibaituai.gif\" width=\"160\" alt=\"玩游戏气急败坏\" title=\"玩游戏气急败坏\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyong-jingyu-weiba-paidadi.gif\" width=\"160\" alt=\"用鲸鱼尾巴拍打地面\" title=\"用鲸鱼尾巴拍打地面\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fda-keshui-bei-jingxing.gif\" width=\"160\" alt=\"打瞌睡被惊醒\" title=\"打瞌睡被惊醒\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fwan-shuiqiang.gif\" width=\"160\" alt=\"玩水枪\" title=\"玩水枪\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fxiaotiqin-yanzou.gif\" width=\"160\" alt=\"小提琴演奏\" title=\"小提琴演奏\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Flanjing-xianshi.gif\" width=\"160\" alt=\"蓝鲸现世\" title=\"蓝鲸现世\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fchi-baifan.gif\" width=\"160\" alt=\"吃白饭\" title=\"吃白饭\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fzhao-jingzi.gif\" width=\"160\" alt=\"照镜子\" title=\"照镜子\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fyouya-nvpuwu.gif\" width=\"160\" alt=\"优雅女仆舞\" title=\"优雅女仆舞\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fqingkuai-yaobaiwu.gif\" width=\"160\" alt=\"轻快摇摆舞\" title=\"轻快摇摆舞\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fkeai-zhaiwu.gif\" width=\"160\" alt=\"可爱宅舞\" title=\"可爱宅舞\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fzhengti-huanzhuang-shise.gif\" width=\"160\" alt=\"整体换装试色\" title=\"整体换装试色\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdakou-chi-lingshi.gif\" width=\"160\" alt=\"大口吃零食\" title=\"大口吃零食\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fchui-qiqiu.gif\" width=\"160\" alt=\"吹气球\" title=\"吹气球\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdongwu-huanrao.gif\" width=\"160\" alt=\"动物环绕\" title=\"动物环绕\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fshendu-sikao-suisuinian.gif\" width=\"160\" alt=\"深度思考碎碎念\" title=\"深度思考碎碎念\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fqingkuai-jilu.gif\" width=\"160\" alt=\"轻快记录\" title=\"轻快记录\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fxie-daima.gif\" width=\"160\" alt=\"写代码\" title=\"写代码\">\n\u003C\u002Fp>\n\n**点击回应**\n\n\u003Cp>\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdianji-huiying-kaixin-yuedong.gif\" width=\"160\" alt=\"点击回应 - 开心跃动\" title=\"点击回应 - 开心跃动\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdianji-huiying-haixiu-jingya.gif\" width=\"160\" alt=\"点击回应 - 害羞惊讶\" title=\"点击回应 - 害羞惊讶\">\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fdianji-huiying-aojiao-shengqi-ceshen-zhanshi.gif\" width=\"160\" alt=\"点击回应 - 傲娇生气（侧身展示）\" title=\"点击回应 - 傲娇生气（侧身展示）\">\n\u003C\u002Fp>\n\n**拖拽**\n\n\u003Cp>\n  \u003Cimg src=\"dsh-pet\u002Fassets\u002Fpreview\u002Fbeishubiao-tuozhuai-xuankong-fankui.gif\" width=\"160\" alt=\"被鼠标拖拽悬空反馈\" title=\"被鼠标拖拽悬空反馈\">\n\u003C\u002Fp>\n\n> 注：动画为透明背景；GIF 预览中透明部分显示为页面底色，实际 webm 播放为透明。\n\n## 文档\n\n- [设计与实现](DESIGN.md) —— 架构、动画链模型、素材链、踩坑记录\n\n## 许可\n\n- 代码：MIT\n- 素材（动画\u002F提示词）：见仓库说明\n","dsh-pet 是一个专为 DeepSeek Harness（DSH）Web 界面设计的桌面宠物插件，支持一行命令安装即用，内置 28 个透明动画宠物（含呼吸、打盹、漫游、拖拽交互等行为）。其核心技术亮点在于提供可复现的 AI 视频素材生成管线：用户可基于提示词，利用豆包\u002FRunway 等工具生成绿幕视频，再通过 Python 脚本链完成抠像、归一化与转码，最终产出适配 DSH 的透明动画资产。适用于提升 AI 开发环境趣味性、个性化工作台、技术演示或轻量级人机陪伴场景。项目 MIT 开源，当前处于素材优化维护期，现有版本功能完整可用。",2,"2026-08-19 02:30:05","CREATED_QUERY"]