装在 DSH 页面之外的 macOS 桌宠:一个真的置顶窗口,全屏 Space 也盖得住;六种状态跟着本地 DSH 走,原生右键菜单里有免打扰与会话清单;自带的 skill 用你自己的画图工具和额度,把一张照片变成整套十八个姿势的皮肤。跑系统自带的 Python 与 ctypes,不用 Electron,零依赖。
安装
# npm 包(预构建)
dsh plugin --profile web add deepseek-desk-pet
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
安装
已经有 DSH 的话,一条命令:
dsh plugin --profile web add deepseek-desk-pet
dsh web
装完宠物就浮在桌面上了,DSH 页面本身不会被塞任何东西。
从旧版本升级得带 @latest:
dsh plugin --profile web add deepseek-desk-pet@latest
不带的话写进去的是 ^0.x 范围,而 caret 作用在 0.x 上会锁住次版本号,^0.1.0 永远不接受 0.2.0。裸命令会报一句 Already up to date,旧版本原地不动。
不想装 DSH、只想看宠物:克隆下来跑 ./bin/dsh-desk-pet。
想跟 main 分支而不是发布版:
dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet#main
包名叫 deepseek-desk-pet,仓库叫 dsh-desk-pet。npm 认为
dsh-desk-pet和一个无关的dsh-deskpet太像,拒绝发布,所以两个名字不一致。
零依赖。 装它不用先装别的东西,不用编译,也不需要 ffmpeg。跑的是系统自带的 python。
使用
| 拖 | 按住身体任意处。放哪下次就从哪开始。 |
| 点一下 | 展开会话清单:有哪些 DSH 会话、哪个还活着、各自在干什么。再点一下收起。 |
| 免打扰 | 让它安静,直到你自己关掉。agent 照常干活,宠物不再反应。摸它还是会弹一下。 |
| 右键 | 菜单:免打扰、会话清单、皮肤、宠物出现在哪、项目主页、检查更新、退出。 |
| 停掉 | ./bin/dsh-desk-pet --stop,或者直接停 dsh web。 |
它是后台进程,启动之后就脱离终端了,所以开它的那个窗口可以直接关。
状态
跟着本地 DSH 自动变,没有需要配的东西。
stateDiagram-v2
[*] --> 空闲
空闲 --> 干活: DSH 开始跑
干活 --> 等你: 卡在确认或授权
等你 --> 干活: 你回应了
干活 --> 报错: 这一轮失败
干活 --> 开心: 这一轮跑完
开心 --> 空闲: 3.2 秒后自己回落
报错 --> 干活: 下一轮开始
空闲 --> 打盹: agent 与鼠标同时安静 90 秒
打盹 --> 空闲: 任何动静,或者戳它一下
| 状态 | 什么时候 |
|---|---|
| 空闲 | 没事干,会呼吸、偶尔眨眼 |
| 干活 | DSH 正在跑 |
| 等你 | 卡在确认、授权、要你输入 |
| 报错 | 跑挂了 |
| 开心 | 刚跑完一轮,3.2 秒后自己回到空闲 |
| 睡着 | agent 闲着且你的鼠标也不动了才打盹,一有动静或者你戳它就醒 |
皮肤
在右键菜单的皮肤子菜单里挑,或者用 --skin <id> 指定启动时用哪套。每套六个状态齐全,每个状态三帧。
| 皮肤 | 动起来 |
|---|---|
| 深索鲸(默认) | |
| 蓝鲸 | |
| 线核 | |
| 鹦鹉螺 | |
| 水母 |
空闲是 2.4 秒静止,然后一次很短的眨眼。三帧均分我试过,效果不好。
每套皮肤的六个状态
顺序:空闲 · 干活 · 等你 · 报错 · 开心 · 睡着
用一张图做你自己的皮肤
把一张图交给你的 agent,让它做一套桌宠皮肤。插件里带了个 skill,负责把这张图扩写成一套皮肤要的十八个姿势,六个状态每个三帧。生图是你自己的工具在跑,烧的是你自己的额度,我这边不往任何地方发东西。做好的皮肤落在 ~/.dsh-desk-pet/skins/,在安装包外面,所以升级插件不会把它删掉。
十八张图烧的是真金白银,所以 skill 中途会停两次让你确认:第一张画出来先看角色对不对,第二张画出来再确认还是同一个角色。半路失败会告诉你缺哪几个,已经生出来的那些留着。
做好之后可以拿出来给人看。一条命令把六个状态拼成一张图:
./bin/dsh-desk-pet --skin-sheet <你的皮肤id>
欢迎投进 皮肤画廊,只交那一张预览图,帧素材留你自己机器上。
参数
./bin/dsh-desk-pet --scale 0.5 # 更小(默认 0.7)
./bin/dsh-desk-pet --skin jellyfish # 指定启动时的皮肤
./bin/dsh-desk-pet --reset # 忘掉存下来的位置、大小、皮肤
./bin/dsh-desk-pet --stop # 停掉正在跑的那只
./bin/dsh-desk-pet --foreground # 前台跑,日志打到当前终端
./bin/dsh-desk-pet --probe # 自检,不开窗
./bin/dsh-desk-pet --inventory # 每套皮肤每个状态有几帧
已知限制
- 宠物四周有一圈透明边距,点在那上面不会穿透到后面的窗口。
- 这一版没有设置窗口,也没有贴边的 mini 模式。
- 生成皮肤的时候这边不显示进度,那十八张图期间你只能看自己 agent 的输出。
- 只支持 macOS。Windows 和 Linux 我没有机器测,短期也不打算做。
它内部怎么跑的、以及我当时选错过哪几个地方,写在 docs/INTERNALS.zh-CN.md。
后面想做什么、什么不打算做,写在 docs/ROADMAP.md。
许可
MIT。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8296
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8296
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
omdsh-dev/DSH-better-sidebar★ 3968
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
ccch1mneyyy/dsh-TUI★ 3948
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 3877
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1413
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。