DSH 桌宠(Rust 版):5 态鲸鱼 + 双 SSE 实时推送 + 透明置顶窗 + 系统托盘,三端支持 | DSH 桌宠(Rust 版):5 态鲸鱼 + 双 SSE 实时推送 + 透明置顶窗 + 系统托盘,跨平台
41.6/100
综合分
22
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/HuanLinOTO/dsh-plugin-pet-rs.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/21) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-plugin-pet-rs(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 08:44:38
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/3(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 5态鲸鱼形象
- 双SSE实时推送
- 透明置顶窗
README
由 DeepSeek 最新模型翻译生成DSH 桌宠(Rust 版)
⚠️ 因为穷鲸组织的 GitHub Actions 账单额度问题无法运行,所以请自行构建。
DeepSeek Harness 桌面宠物鲸鱼,Rust 原生实现,三端支持(Windows / macOS / Linux)。
原 Electron 版见 ../dsh-pet/。本版本用纯 Rust 重写,目标体积 < 10MB(原 ~100MB)。
功能
- 🐋 5 态鲸鱼:offline > attention > working > done > idle
- ⚡ 双 SSE 实时推送(events.mux + events.host)+ 2s 轮询兜底
- 🎨 HD 像素画鲸鱼(80×58 网格)+ 喷水水滴动画 + zzz/spark 叠层
- 💬 状态气泡(多会话聚合列表,可滚动,popIn 动画)
- 🔔 状态提示音(attention / done,custom/ 可覆盖)
- 🖼️ 透明置顶悬浮窗 + 系统托盘 + 拖拽 + 大小调节
- ⚙️ 内嵌设置面板(双击鲸鱼打开):声音开关、DSH 地址编辑、热切换
- 📦 custom/sprites.json 素材包 + custom/*.m4a|mp3 自定义音效
- 🔒 对 DSH 零侵入(纯只读 HTTP/SSE)
操作指南
鲸鱼交互
展开完整文档(README 剩余 1 节)
DSH 桌宠(Rust 版)
⚠️ 因为穷鲸组织的 GitHub Actions 账单额度问题无法运行,所以请自行构建。
DeepSeek Harness 桌面宠物鲸鱼,Rust 原生实现,三端支持(Windows / macOS / Linux)。
原 Electron 版见 ../dsh-pet/。本版本用纯 Rust 重写,目标体积 < 10MB(原 ~100MB)。
功能
- 🐋 5 态鲸鱼:offline > attention > working > done > idle
- ⚡ 双 SSE 实时推送(events.mux + events.host)+ 2s 轮询兜底
- 🎨 HD 像素画鲸鱼(80×58 网格)+ 喷水水滴动画 + zzz/spark 叠层
- 💬 状态气泡(多会话聚合列表,可滚动,popIn 动画)
- 🔔 状态提示音(attention / done,custom/ 可覆盖)
- 🖼️ 透明置顶悬浮窗 + 系统托盘 + 拖拽 + 大小调节
- ⚙️ 内嵌设置面板(双击鲸鱼打开):声音开关、DSH 地址编辑、热切换
- 📦 custom/sprites.json 素材包 + custom/*.m4a|mp3 自定义音效
- 🔒 对 DSH 零侵入(纯只读 HTTP/SSE)
操作指南
鲸鱼交互
| 操作 | 效果 |
| 单击鲸鱼 | 延迟 250ms 后打开 DSH GUI(浏览器) |
| 双击鲸鱼 | 打开内嵌设置面板(取消单击) |
| 按住鲸鱼拖拽 | 移动桌宠窗口位置 |
| 滚轮(气泡上) | 滚动会话列表 |
单击有 250ms 延迟是为了区分双击。双击时单击会被自动取消,不会误打开 GUI。
设置面板
双击鲸鱼打开设置面板,面板替换状态气泡显示(鲸鱼动画继续):
┌───────────────────────────────┐
│ 设置 × │ │ │ │ 声音提醒 [ON/OFF] │ │ │ │ DSH 地址 │ │ ┌───────────────────────────┐ │ │ │ http://127.0.0.1:3080│ │ │ │ └───────────────────────────┘ │ └───────────────────────────────┘
声音提醒开关:点击立即切换并持久化,与托盘菜单同步。
DSH 地址输入框:
| 操作 | 效果 |
| 点击输入框 | 获得焦点,可编辑文本 |
| 输入字符 | 实时显示(支持中文 IME) |
| Enter | 提交地址 → 热切换网络连接 |
| Esc | 恢复原值并失焦(不关闭面板) |
| 点击输入框外 | 提交地址并失焦 |
| ← / → | 移动光标 |
| Home / End | 跳到行首 / 行尾 |
| Backspace | 删除光标前字符 |
| Delete | 删除光标后字符 |
| Ctrl+A | 全选 |
| Ctrl+C / Ctrl+X | 复制 / 剪切选中文本 |
| Ctrl+V | 粘贴剪贴板内容 |
| Ctrl+Z | 撤销上次编辑 |
地址必须以 http:// 或 https:// 开头,否则提交时恢复原值。
提交有效地址后,RPC 轮询和双 SSE 连接会立即用新地址重建(热切换),无需重启。
输入框支持中文输入法(IME),预编辑文本会带下划线显示。
关闭设置:点击右上角 × 或按 Esc(输入框无焦点时)。
系统托盘
| 菜单项 | 效果 |
| 打开 DSH GUI | 在浏览器打开 DSH |
| 隐藏/显示气泡 | 切换状态气泡可见性 |
| 状态提示音 | 勾选框,切换声音并持久化 |
| 测试提示音 | 播放 done 音效 |
| 放大 / 缩小 / 重置 | 调节鲸鱼大小(50%–110%,默认 67%) |
| 退出桌宠 | 保存配置并退出 |
窗口位置
- 拖拽鲸鱼可移动窗口,位置自动保存。
- 下次启动恢复上次位置;首次启动定位到屏幕右下角。
构建
开发
cargo build
Release
cargo build --release
测试
cargo test --all
Lint
cargo clippy --all-targets -- -D warnings
cargo fmt --all -- --check
运行
默认连接 http://127.0.0.1:3080
cargo run --release
指定 DSH URL(优先于配置文件)
DSH_PET_URL=http://localhost:3080 cargo run --release
截图自检(5 状态 × 3 时间点 → PNG)
cargo run --release -- --shot .shots
DSH 地址优先级:环境变量 DSH_PET_URL > 配置文件 > 默认值 http://127.0.0.1:3080。
运行时通过设置面板修改的地址会保存到配置文件,下次启动自动使用。
配置文件
配置文件路径:
| 平台 | 路径 |
| Windows | %APPDATA%\dsh\pet\config.json |
| macOS | ~/Library/Application Support/dsh/pet/config.json |
| Linux | ~/.config/dsh/pet/config.json |
{
"scale": 0.67,
"bubble_visible": true,
"sound_on": true,
"endpoint": "http://127.0.0.1:3080",
"window_x": 2268,
"window_y": 1084
}
字段均可省略,缺省时使用默认值。旧版配置文件(无 endpoint 字段)自动兼容。
自定义素材
在可执行文件同目录下创建 custom/ 文件夹:
custom/
├── sprites.json # 覆盖像素素材(palette + sprites) ├── attention.m4a # 或 .mp3/.wav/.ogg └── done.m4a
sprites.json 格式见 assets/sprites/whale-sprites-hd.json。
架构
crates/
├── dsh-pet-core/ # 状态机、RPC、SSE、配置、素材包(纯逻辑,可独立测试) ├── dsh-pet-ui/ # 窗口、渲染器、输入、emoji 图集(winit + tiny-skia + softbuffer) └── dsh-pet-app/ # 主入口、异步任务、音频、托盘、平台适配
渲染管线
┌──────────────────────────────────────────┐
│ tiny-skia Pixmap (合成面) │ │ ┌────────────────────────────────────┐ │ │ │ 气泡:圆角矩形 + 阴影 + 文本 + 尾巴 │ │ │ └────────────────────────────────────┘ │ │ ┌────────────────────────────────────┐ │ │ │ 鲸鱼:80×58 sprite blit + bob 偏移 │ │ │ │ + 水滴动画 + zzz/spark 文字叠层 │ │ │ └────────────────────────────────────┘ │ └──────────────────┬───────────────────────┘ │ pixmap.data() → &[u32] ▼
softbuffer::present()
平台支持
| 平台 | 状态 | 备注 |
| Windows | ✅ 完整 | DWM per-pixel alpha 透明窗 |
| macOS | ✅ 完整 | NSWindow 透明 + Dock 隐藏 |
| Linux (X11) | ✅ 完整 | 透明窗 + 置顶 + skip-taskbar |
| Linux (Wayland) | ⚠️ 降级 | 不置顶、不跨全屏;建议用 XWayland |
Linux GNOME 托盘
GNOME 默认无系统托盘,需安装 AppIndicator and KStatusNotifierItem Support 扩展。托盘创建失败时,右键鲸鱼本体仍可访问菜单。
字体
运行时探测系统 CJK 字体:
- Windows: Microsoft YaHei / SimHei
- macOS: PingFang SC / Heiti SC
- Linux: Noto Sans CJK SC / WenQuanYi Micro Hei
v1 偏离 spec:未内嵌 Noto Sans CJK 子集(需 HarfBuzz subsetting 工具链)。
如系统无 CJK 字体,启动时会 panic 并给出安装指引。
测试
- dsh-pet-core 单元测试:状态机 5 态转换、TTL 过期、SSE 帧解析
- SSE 重连集成测试(wiremock):覆盖正常关闭、部分帧、非 JSON、无空格 data:、HTTP 5xx、取消等 6 case
- --shot 截图回归:5 状态 × 3 时间点 → PNG 像素 diff
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
HuanLinOTO/dsh-plugin-pet-rs
DSH 桌宠(Rust 版):5 态鲸鱼 + 双 SSE 实时推送 + 透明置顶窗 + 系统托盘,三端支持 | DSH 桌宠(Rust 版):5 态鲸鱼 + 双 SSE 实时推送 + 透明置顶窗 + 系统托盘,跨平台
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2