把 dsh 装进系统托盘,一键启动本地服务
30.6/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MonshinYu/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 61 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-desktop @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 15:40:45
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 系统托盘运行
- 一键启动本地服务
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness 桌面版 (dsh-desktop)
DeepSeek Harness 的桌面客户端。为 @deepseek-ai/dsh 提供原生桌面外壳:内置 Bun 打包的 dsh 运行时、系统托盘、开机启动 dsh 本地服务,并以 iframe 承载其 Web 界面。
特性
- 零依赖运行时 — dsh 运行时由 Bun 编译为单个可执行文件 (runtime/dsh),随应用一起分发,无需用户安装 Node.js
- 兼容层 — 通过影子化 node_modules 与 Node 子进程重定向,让 dsh 在 Bun 下以与 Node 完全一致的方式启动
- 嵌入式 zstd archive — node_modules 与兼容层以自定义 DSHA 格式(zstd 单 frame)内嵌进二进制,首次启动解压到 ~/.cache/dsh//,内容不变缓存永久有效
- 系统托盘 — 显示/隐藏窗口、使用默认浏览器打开、开发者控制台、退出;关闭窗口最小化到托盘
- 自动端口管理 — 启动时自动选择可用端口,运行中若端口变化(dsh 重启)前端自动跟随跳转
- 启动动画 — 加载态 splash(品牌 logo 绘制动画),dsh 服务就绪后淡出并载入 iframe
架构
展开完整文档(README 剩余 1 节)
DeepSeek Harness 桌面版 (dsh-desktop) DeepSeek Harness 的桌面客户端。为 @deepseek-ai/dsh 提供原生桌面外壳:内置 Bun 打包的 dsh 运行时、系统托盘、开机启动 dsh 本地服务,并以 iframe 承载其 Web 界面。 特性 - 零依赖运行时 — dsh 运行时由 Bun 编译为单个可执行文件 (runtime/dsh),随应用一起分发,无需用户安装 Node.js - 兼容层 — 通过影子化 node_modules 与 Node 子进程重定向,让 dsh 在 Bun 下以与 Node 完全一致的方式启动 - 嵌入式 zstd archive — node_modules 与兼容层以自定义 DSHA 格式(zstd 单 frame)内嵌进二进制,首次启动解压到 ~/.cache/dsh//,内容不变缓存永久有效 - 系统托盘 — 显示/隐藏窗口、使用默认浏览器打开、开发者控制台、退出;关闭窗口最小化到托盘 - 自动端口管理 — 启动时自动选择可用端口,运行中若端口变化(dsh 重启)前端自动跟随跳转 - 启动动画 — 加载态 splash(品牌 logo 绘制动画),dsh 服务就绪后淡出并载入 iframe 架构 ┌─────────────────────────── dsh-desktop ───────────────────────────┐ │ │ │ ┌─────────────────────────────┐ ┌──────────────────────┐ │ │ │ Tauri shell (Rust) │ │ Frontend (TS/Vite) │ │ │ │ · 启动/守护 runtime/dsh │ IPC │ · splash 加载动画 │ │ │ │ · 系统托盘 │◄─────►│ · 轮询 check_page │ │ │ │ · 端口分配与监控 │ port │ · iframe 承载 Web UI │ │ │ └──────────────┬──────────────┘ └──────────┬───────────┘ │ │ │ spawn │ http:// │ │ ▼ ▼ │ │ ┌─────────────────────────────────────────────────────────────┐ │ │ │ runtime/dsh (Bun 编译的独立可执行文件) │ │ │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ │ │ main.ts 启动器 │ │ │ │ │ │ · dev: 直接用源码树,不碰 archive │ │ │ │ │ │ · bin: 解压 .dsh-archive.bin → ~/.cache/dsh// │ │ │ │ │ │ · spawn bun --preload lib/.dsh-preload.js dsh/bin │ │ │ │ │ └───────────────────────────────────────────────────────┘ │ │ │ │ lib/preload.js 影子 node_modules + Node API 重定向 │ │ │ │ node_modules @deepseek-ai/dsh 及其依赖 │ │ │ └─────────────────────────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────────────────┘ 运行时启动流程 1. Tauri shell 在 setup 阶段获取可用端口,spawn runtime/dsh 2. dsh 启动器对内嵌 archive 做 sha256,定位 ~/.cache/dsh// - 命中 marker → 直接复用缓存,热启动 ≈ 400ms - 未命中 → 单次 zstd 解压(33k 个文件),冷启动 ≈ 5–6s 3. 前端轮询 check_page(每 1s),dsh 的 HTTP 服务就绪后把 iframe 指向 http://127.0.0.1: 4. 运行期间每 3s 检测端口 generation,端口变化(进程重启)时自动重新加载 iframe 目录结构 dsh-desktop/ ├── src/ # 前端:启动 splash + iframe 宿主 │ ├── main.ts # 轮询/加载/端口变更跟随 │ └── assets/ # logo 与图标 ├── src-tauri/ # Tauri 壳 (Rust) │ ├── src/main.rs # 启动 runtime、托盘、窗口事件 │ └── src/core/ # 端口分配、状态存储、托盘 ├── plugins/dsh-bun-pkg/ # Bun 打包插件(独立仓库 clone 而来) │ ├── main.ts # 启动器 │ ├── lib/ # Node 兼容垫片 │ ├── scripts/embed.ts # DSHA 归档构建 │ └── target/dsh # bun build --compile 产物 ├── runtime/ # 构建产物,被 src-tauri 打包为资源 │ └── dsh # 最终随应用分发的可执行文件 ├── scripts/ │ ├── clone_runtime_build_lib.ts # git clone dsh-bun-pkg │ └── build_runtime.ts # bun install → build → runtime/ └── index.html # 宿主页面(splash + iframe) 环境要求 - Bun ≥ 1.x(构建与运行脚本依赖) - Rust stable + Tauri 2 的系统依赖(macOS:Xcode CLT;Windows:WebView2 + MSVC;Linux:webkit2gtk 等) - Node.js(仅运行时兼容层重定向 worker_threads 时使用,不是用户要求) 开发 bun install # 安装前端依赖 方式一:先构建运行时再跑 Tauri dev bun run clone:runtime:lib bun run build:runtime bun run tauri dev 构建与打包 bun run tauri:build = bun run clone:runtime:lib # clone 最新 dsh-bun-pkg + bun run build:runtime # bun install + build → runtime/dsh + bun tauri build # 产出安装包(dmg/msi/AppImage 等) runtime/ 与 src/assets/ 作为资源打包进应用(runtime/dsh 约 110 MB)。 常见问题 想强制重新解压运行时缓存? 删除 ~/.cache/dsh/ 即可,下次启动会重新解压。 自定义 dsh-bun-pkg? scripts/clone_runtime_build_lib.ts 中的 REPO_URL 指向你的 fork 后重新执行 bun run tauri:build。 开发控制台/浏览器打开? 通过托盘菜单:右键托盘图标 → 「链接」→「打开开发者控制台」或「使用默认浏览器打开」。 License MIT © MonshinYu
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MonshinYu/dsh-desktop
把 dsh 装进系统托盘,一键启动本地服务
相关插件 · 桌面端
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