anneheartrecord/dsh-desk-pet 预览 preview

anneheartrecord/dsh-desk-pet

皮肤Skin 原生Native ⭐ 5 MIT 编程Coding视觉VisualWeb 界面Web UI

常驻置顶的DeepSeek Harness桌面宠物。默认鲸鱼形象,四种皮肤,四种静默状态。

项目介绍Project Overview

DSH 桌宠是一款 DSH 桌面皮肤,把一只浮窗宠物贴在 macOS 屏幕最上层,随本地 DSH 会话自动切换空闲、干活、等你、报错、开心、睡着六个状态;内建五套皮肤并支持用一张图让 agent 扩成自定义皮肤,适合 DSH 日常使用时给桌面加点反馈。注意:仅限 macOS,宠物四周透明边不穿透点击。

DSH Desk Pet is a DSH skin for macOS that floats a tiny window above the desktop and switches among six states—idle, working, waiting, error, happy, sleeping—driven by the local DSH session. It ships with five built-in skins and a skill for crafting custom skins from a single image. Use it to add ambient feedback to daily DSH work. Note: macOS only, and clicks within the pet's transparent border are not passed through.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add deepseek-desk-pet

anneheartrecord/dsh-desk-pet 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

DSH Desk Pet

English · 简体中文

一只跟着你的 agent 换表情的 macOS 桌宠。
换成你自己的猫也行。

一张猫的照片变成六个状态的桌宠

进去一张照片,出来六个状态:空闲、干活、等你、报错、开心、睡着。
生图跑的是你自己的工具、烧的是你自己的额度,我这边不往任何地方传东西。

macOS only npm License System Python No dependencies dsh-plugin

桌宠浮在一个全屏编辑器之上

它是一个真的 macOS 窗口,不是塞进 DSH 页面里的挂件。
盖在我正在用的一切上面,全屏也盖得住,不用我告诉它现在该显示什么。


安装

已经有 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> 指定启动时用哪套。每套六个状态齐全,每个状态三帧。

皮肤 动起来
深索鲸(默认) deepseek
蓝鲸 bluewhale
线核 threadcore
鹦鹉螺 nautilus
水母 jellyfish

空闲是 2.4 秒静止,然后一次很短的眨眼。三帧均分我试过,效果不好。

每套皮肤的六个状态

顺序:空闲 · 干活 · 等你 · 报错 · 开心 · 睡着

deepseek

深索鲸(默认)

bluewhale

蓝鲸

threadcore

线核

nautilus

鹦鹉螺

jellyfish

水母

用一张图做你自己的皮肤

把一张图交给你的 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。

上一个 Prev dsh-web-mobile-fix 下一个 Next dsh-session-hub