跳到正文

anneheartrecord/dsh-desk-pet

31最近提交 2026年8月15日

dsh-desk-pet DSH 插件

DSH Desk Pet 是一个无边框、透明的系统窗口,在桌面上显示可爱的鲸鱼(或其他皮肤)。它会根据本地 DSH 代理的状态(空闲、工作中、等待、报错、开心、睡着)自动改变表情。支持拖拽、点击交互,以及通过右键菜单切换皮肤。

如何安装 dsh-desk-pet DSH 插件

dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet#main

复制不会执行命令。安装 dsh-desk-pet DSH 插件前请核对仓库和版本。

dsh-desk-pet DSH 插件数据来源

dsh-desk-pet DSH 插件快照日期:2026年8月16日

discovered

dsh-desk-pet DSH 插件能做什么

  • 自动根据 DSH 代理状态(空闲、工作中、等待、报错、开心、睡着)切换对应表情。
  • 拖拽:按住身体任意处拖动;点击:跳一下或唤醒打盹的宠物。
  • 四种皮肤:鲸鱼(默认)、线程核心、鹦鹉螺、水母,可通过右键菜单或数字键 1-4 切换。
  • 关闭:按 Esc 或 q 键,或通过右键菜单退出。
  • 支持透明模式,使用 `--transparent` 参数开启(如果 Tk 支持)。
  • 利用 macOS 的 AppKit(通过 ctypes)尽可能在全屏应用之上显示,失败时回退到普通置顶。

dsh-desk-pet DSH 插件适合哪些场景

  • 无需打开 DSH 网页界面,快速了解 DSH 代理的工作状态。
  • 工作时增加可爱的桌面伴侣,同时获得代理活动的视觉反馈。
  • 快速发现 DSH 是否在等待用户输入或遇到错误。
  • 在长时间运行的任务(如批量处理、数据分析)中作为视觉指示器。
  • 作为独立的桌面宠物使用(无需 DSH),从克隆的仓库运行 `./bin/dsh-desk-pet`。

dsh-desk-pet DSH 插件适合谁

  • 使用 DSH 的开发者或用户,希望有一个直观的状态指示器。
  • 喜欢桌面宠物的 macOS 用户,追求轻量且可自定义的宠物。

dsh-desk-pet DSH 插件的限制

  • 全屏应用可能遮挡宠物,如果 AppKit 技巧不生效,则会回退到普通置顶。
  • 透明模式默认关闭,因为 macOS 的 Tk 8.5.9 存在兼容性问题;并非所有系统都能正常工作。
  • 仅在 macOS 上测试过;Windows 和 Linux 可能不支持完整功能,尤其是基于 AppKit 的全屏回避方案。
  • 作为 DSH 插件运行时,需要 DSH 已安装并运行才能获取状态更新;独立模式需要手动克隆仓库。

dsh-desk-pet DSH 插件的仓库 README 摘录

以下文字摘自 dsh-desk-pet DSH 插件的上游仓库 anneheartrecord/dsh-desk-pet 的 README,版权归原作者,仅作引用。

盖在所有窗口之上的桌面宠物,跟着本地 DSH 的状态自己变表情。默认鲸鱼,四套皮肤。 不是网页里的挂件——是一个无边框透明的系统窗口。DSH 页面里那只是它的镜像。 [English](README_EN.md) ## 安装 已有 DSH,一条命令: ```bash dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet#main ``` macOS 用系统自带的 `/usr/bin/python3`,不需要装任何依赖。 ## 启动 ```bash dsh web ``` 宠物会自己浮在桌面上。DSH 页面右下角还有一只同步的镜像。 不要 DSH、只开宠物:克隆后执行 `./bin/dsh-desk-pet`。 ## 已知限制 **全屏 app。** Tk 自己只有布尔的「置顶」,跨不过 macOS 全屏应用独占的 Space。所以本插件绕过 Tk,用标准库 `ctypes` 直接调 AppKit(`src/dsh_desk_pet/macwindow.py`):把 NSWindow 提到辅助功能层级,并设成可加入所有 Space——和 Electron 桌宠同一套机制,只是不需要装任何依赖。调不通的机器会自动退回普通置顶,那时全屏会盖住它。 **为什么有个浅色底板?** 默认不透明是实测后的选择。macOS 自带的 Tk 8.5.9 上,`-transparent` 会把**整个窗体**合成为空——Tk 报告窗口已映射、可见、坐标正确、精灵在画布上,截图里却是一片空桌面。镂空更好看,但看不见的宠物不是宠物。你的 Tk 支持的话可以开回来: ```bash ./bin/dsh-desk-pet --transparent ``` ## 使用 - **拖**:按住身体任意处。 - **点一下**:它会跳一下;在打盹的话会被叫醒。 - **换肤**:右键(或 Control+点击)出菜单,也可以按 `1`–`4`。换肤不改状态。 - **关掉**:`Esc` 或 `q`,或右键菜单里选退出。 ## 状态 跟着本地 DSH 自动变,不用管。 | 状态 | 什么时候 | | --- | --- | | 空闲 | 没事干,会呼吸、偶尔眨眼 | | 干活 | DSH 正在跑 | | 等你 | 卡在确认、授权、要你输入 | | 报错 | 跑挂了 | | 开心 | 刚跑完一轮,几秒后自己回到空闲 | | 睡着 | agent 没事干**且**你的鼠标也不动了才打盹;一有动静或者你戳它就醒 | ## 皮肤 | 圆点 | id | | --- | --- | | 蓝 | `whale`(默认) | | 橙 | `threadcore` | | 棕 | `nauti

阅读完整 README仓库许可: MIT

dsh-desk-pet DSH 插件常见问题

如何安装 DSH Desk Pet?

确保你已经安装了 DSH。然后运行 `dsh plugin --profile web add github:anneheartrecord/dsh-desk-pet#main`。之后启动 `dsh web`,宠物就会出现在桌面上。

如何更换宠物的皮肤?

在宠物身上右键点击(或 Control+点击)打开右键菜单,然后选择想要的皮肤。你也可以按数字键 1 到 4 快速切换四种皮肤:鲸鱼、线程核心、鹦鹉螺、水母。

为什么宠物不是透明的?我看到了背景色。

透明模式默认关闭,因为 macOS 自带的 Tk 8.5.9 存在一个 bug,使用 `-transparent` 会使整个窗口不可见。如果你的 Tk 版本支持,可以在独立模式下运行 `./bin/dsh-desk-pet --transparent` 来开启透明。作为插件,目前不支持透明模式。

我可以在没有 DSH 的情况下使用 DSH Desk Pet 吗?

可以,你可以独立运行它。克隆仓库后在项目根目录执行 `./bin/dsh-desk-pet`。独立模式下宠物不会跟随 DSH 状态变化,但你可以把它当作一个桌面装饰品。

它能在 Windows 或 Linux 上运行吗?

该插件主要在 macOS 上测试。它使用了 macOS 特有的 API(通过 ctypes 调用 AppKit)来实现全屏回避。在 Windows 或 Linux 上可能也能运行,但功能有限:全屏回避可能无效,透明行为也可能不同。建议在 macOS 上使用以获得最佳体验。