dsh-desktop 是 DeepSeek Harnessdsh编程智能体的原生桌面应用。
49.4/100
综合分
59
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xingj404-lab/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 77 天前
档位由哪些信号合成
本站实装验证(真实安装 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/11/1 07:01:17
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 原生桌面应用
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Desktop
dsh-desktop 是 DeepSeek Harness(dsh)编程智能体的原生桌面应用。
它是一层 Tauri v2 外壳,包住现有的 dsh web 浏览器界面:
- 在本地启动 dsh web 后端(自己挑一个 loopback 端口),
- 等后端开始提供服务,再在原生窗口里打开它,
- 加上原生菜单栏(Edit / View / Window)、系统托盘和窗口状态记忆,
- 让后端在后台保持运行,崩溃时自动重启,
- 自带 node + dsh,所以终端用户什么都不用装。
harness 界面本身没有改动——这个项目只提供原生外壳。
✨ 功能
- 零配置——打包好的应用自带 Node.js 运行时和 dsh 命令行;不用装 Node,不用装 npm,也不用装命令行工具。
- 原生窗口——程序坞图标、菜单栏、缩放(⌘/Ctrl +/−、⌘/Ctrl 0)、重新加载和 devtools。
- 系统托盘——关闭窗口只是把应用藏进托盘,不会退出;后端继续在后台运行。
- 窗口状态记忆——记住每次启动时的窗口大小和位置。
- 自愈后端——监视 dsh web 进程,一旦崩溃就自动重启。
- 自动更新——从菜单栏检查更新,在应用内安装最新版本。
- 本地优先——后端只绑定 127.0.0.1,不向网络暴露任何东西。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop
dsh-desktop 是 DeepSeek Harness(dsh)编程智能体的原生桌面应用。
它是一层 Tauri v2 外壳,包住现有的 dsh web 浏览器界面:
- 在本地启动 dsh web 后端(自己挑一个 loopback 端口),
- 等后端开始提供服务,再在原生窗口里打开它,
- 加上原生菜单栏(Edit / View / Window)、系统托盘和窗口状态记忆,
- 让后端在后台保持运行,崩溃时自动重启,
- 自带 node + dsh,所以终端用户什么都不用装。
harness 界面本身没有改动——这个项目只提供原生外壳。
✨ 功能
- 零配置——打包好的应用自带 Node.js 运行时和 dsh 命令行;不用装 Node,不用装 npm,也不用装命令行工具。
- 原生窗口——程序坞图标、菜单栏、缩放(⌘/Ctrl +/−、⌘/Ctrl 0)、重新加载和 devtools。
- 系统托盘——关闭窗口只是把应用藏进托盘,不会退出;后端继续在后台运行。
- 窗口状态记忆——记住每次启动时的窗口大小和位置。
- 自愈后端——监视 dsh web 进程,一旦崩溃就自动重启。
- 自动更新——从菜单栏检查更新,在应用内安装最新版本。
- 本地优先——后端只绑定 127.0.0.1,不向网络暴露任何东西。
📦 下载
到官网获取适合你平台的最新版本:
👉 dsh.clawloop.app
预编译安装包也会发布到 GitHub Releases(macOS .dmg / .app.zip,Windows NSIS .exe / WiX .msi)。
macOS 注意事项(Gatekeeper)
macOS 版本没有用 Apple 开发者证书签名,所以 Gatekeeper 可能拦住首次启动。想打开它:
1. 右键点应用 → Open → 在弹窗里再点一次 Open,或者
2. 在终端里执行:xattr -cr "/Applications/DeepSeek Harness.app"
Linux 用户可以自己从源码构建(见下文)。
🖥 桌面版与网页版对比
dsh web 是 DeepSeek Harness 的浏览器 UI。dsh-desktop 运行的 UI 完全一样,只是打包成了桌面应用。
| | Web 版(dsh web) | 桌面版(dsh-desktop) |
| 怎么启动 | 安装 Node + npm i -g @deepseek-ai/dsh,然后在终端里运行 dsh web | 下载安装包,双击即可 |
| 运行位置 | 任意浏览器标签页 | 原生独立窗口 |
| 需要装 Node/dsh | ✅ 需要 | ❌ 不需要(已内置) |
| 菜单栏 / 程序坞图标 | ❌ | ✅ |
| 系统托盘与后台运行 | ❌ | ✅ |
| 记住窗口大小/位置 | ❌ | ✅ |
| 后端自动重启 | ❌(终端或进程结束就停) | ✅ |
| 底层 UI | 完全相同 | 完全相同 |
想要开箱即用、双击就能打开的应用体验,就用桌面版;想在自己的浏览器里或远程机器上跑 harness,就用 dsh web。
🔄 自动更新
应用内置了 Tauri 的更新器。手动检查走菜单栏 → DeepSeek Harness → Check for Updates…,也可以让应用在后台自动检查(启动时检查一次,之后每隔几小时一次)。发现新版本时,左下角会出现蓝色下载角标——点它即可下载并安装。每次下载都会用内置在应用里的 minisign 公钥校验,无法被篡改。
由于每个发行版同时打包了外壳和 dsh web,一次应用内更新就覆盖全部内容:新的 @deepseek-ai/dsh(后端 + Web UI)以及外壳的任何改动。
更新包由 阿里云 OSS 提供(国内用户速度快),GitHub Releases 作为兜底。每次打 tag 发版时,release.yml 会把更新包和 latest.json 上传到 OSS;应用先试 OSS,失败再走 GitHub。
一个定时 GitHub Action(.github/workflows/check-dsh-updates.yml)每天盯着 npm,看有没有新的 @deepseek-ai/dsh 版本。一旦出现,它就把版本号固定到 dsh-version,提升桌面版版本号,并打一个新 tag 触发发版——随后 release.yml 会重新构建并发布安装包和 latest.json。
需要的仓库 secrets
| Secret | 用途 |
| TAURI_SIGNING_PRIVATE_KEY | 更新器签名私钥(keys/dsh-desktop.key 的内容)。release.yml 用它给更新产物签名。 |
| RELEASE_TOKEN | 一个 Personal Access Token,带仓库 contents: write + workflows: write 权限,让定时工作流能推送 tag 触发发版构建。 |
| OSS_ACCESS_KEY_ID | 阿里云 OSS RAM AccessKey ID,release.yml 用它上传更新产物。 |
| OSS_ACCESS_KEY_SECRET | 对应的 AccessKey Secret(权限只限更新用的 bucket)。 |
| OSS_BUCKET | OSS bucket 名称(例如 deepseek-harness-desktop)。 |
| OSS_REGION | OSS 区域(例如 oss-cn-hongkong)。 |
在本地生成签名密钥对(keys/ 目录已被 git 忽略):
npx tauri signer generate -w keys/dsh-desktop.key --ci
然后设置这些 secrets: gh secret set TAURI_SIGNING_PRIVATE_KEY < keys/dsh-desktop.key gh secret set RELEASE_TOKEN gh secret set OSS_ACCESS_KEY_ID gh secret set OSS_ACCESS_KEY_SECRET gh secret set OSS_BUCKET gh secret set OSS_REGION
🛠 从源码构建
前置条件
- Rust(装在仓库本地就够):先跑 ./scripts/setup-rust.sh,再执行 . ./scripts/env.sh
- Node.js 20+(只在打包自包含后端时需要,最终用户不用装)
- npm(用来安装 @tauri-apps/cli 构建工具)
各平台额外要求:
- macOS:Xcode Command Line Tools(xcode-select --install)。
- Windows:Visual Studio Build Tools(C++ 工作负载)或 MSVC 工具链,以及 WebView2(Windows 10/11 一般已预装)。
- Linux:Tauri 的系统依赖(libwebkit2gtk-4.1、libgtk-3 等)——见 Tauri prerequisites。
1. 克隆并安装依赖
git clone git@github.com:xingj404-lab/dsh-desktop.git
cd dsh-desktop
npm install
2. 打包后端(自包含)
./scripts/bundle-backend.sh # copies node + npm-installs @deepseek-ai/dsh into resources/backend
bundle-backend.sh 如果发现本地已经装过 dsh,就直接复用(不走网络);否则执行 npm install @deepseek-ai/dsh。在 Windows(Git Bash)上,手动打包:
mkdir -p resources/backend
cp "$(node -e 'process.stdout.write(process.execPath)')" resources/backend/node.exe
cd resources/backend && npm init -y && npm install @deepseek-ai/dsh && cd ../..
3. 构建
. ./scripts/env.sh # macOS/Linux only
npm run build # tauri build → src-tauri/target/release/bundle/
产物:
- macOS:DeepSeek Harness.app + DeepSeek Harness_.dmg
- Windows:DeepSeek Harness__x64-setup.exe(NSIS)+ DeepSeek Harness_*_x64_en-US.msi(WiX)
- Linux:.deb、.rpm、AppImage
提示:npm run build 用的是 tauri.conf.json 里的 "all" 打包目标。如果只想构建 macOS 的 .app、跳过 DMG 这一步,用 npx tauri build --bundles app。
开发(热重载)
npm install
. ./scripts/env.sh
npm run dev # builds and launches the app in dev mode
开发模式下,后端从 PATH 上的 dsh 启动(也可以设置 DSH_BIN=/path/to/dsh)。
🧩 后端是怎么启动的
1. backend.rs 按顺序解析后端命令:DSH_BIN、随包携带的 resources/backend(node + node_modules/@deepseek-ai/dsh)、最后是 PATH 上的 dsh。
2. 绑定一个空闲的 loopback 端口,运行 dsh web --host 127.0.0.1 --port <port>。
3. 不断探测该端口,直到服务器能接受连接,然后发出 backend-status { state: "ready", url } 事件;启动页随即跳转到该 URL。
4. 崩溃时发出 stopped/error,并自动重启(如果是后端缺失这类硬错误,退避时间会更长)。
关闭窗口会把应用隐藏到托盘;要退出请用托盘菜单或 ⌘/Ctrl+Q。
📁 项目结构
src/ 后端启动时显示的启动页(静态,不用打包器) src-tauri/ Tauri v2 应用(Rust) src/main.rs 精简入口 src/lib.rs 应用初始化:菜单、托盘、窗口事件、命令 src/backend.rs dsh web 子进程看门狗(启动 / 探测 / 重启 / 终止) scripts/ 辅助脚本(安装 Rust、加载环境变量、暂存后端、生成图标) assets/icon-source.png 图标源文件(由 scripts/gen-icon.py 生成) .github/workflows/ release.yml(构建 + 签名 + 发布)和 check-dsh-updates.yml(定时检查 dsh 更新) dsh-version 固定 @deepseek-ai/dsh 版本,由定时工作流更新
🙏 致谢
- DeepSeek Harness(@deepseek-ai/dsh)—— 底层的智能体和 Web UI。
- Tauri —— 外壳使用的跨平台应用框架。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
xingj404-lab/dsh-desktop
dsh-desktop 是 DeepSeek Harnessdsh编程智能体的原生桌面应用。
相关插件 · 桌面端
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