🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面客户端 xingj404-lab/dsh-desktop

DeepSeek Harnessv0.2.0
xingj404-lab77 天前有提交已提供中文文档扫描:未发现敏感能力

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
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 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
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 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 —— 外壳使用的跨平台应用框架。
预览分享卡片长什么样 ↓xingj404-lab/dsh-desktop
分享 · DeepSeek Harness Hub
xingj404-lab/dsh-desktop

dsh-desktop 是 DeepSeek Harnessdsh编程智能体的原生桌面应用。

回到顶部