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

桌面客户端打包器 csthinker/deepseek-harness-desktop

DeepSeek Harnessv0.2.0
csthinker54 天前有提交已提供中文文档扫描:含敏感能力

把网页版界面封装成双击即用的桌面应用

30.1/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add csthinker/deepseek-harness-desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · desktop
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 54 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-desktop @ 0.2.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 14:40:56

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    main.cjs:49
    if (fs.existsSync(serverBin())) return
  • 读取本地文件
    main.cjs:51
    if (!fs.existsSync(tar)) {
  • 删除本地文件
    main.cjs:56
    fs.rmSync(root, { recursive: true, force: true })
  • 写入本地文件
    main.cjs:57
    fs.mkdirSync(parent, { recursive: true })
  • 执行外部命令来自配置/变量
    main.cjs:61
    const result = spawnSync(tarExe, ['-xf', tar, '-C', parent], { stdio: 'ignore' })
  • 执行外部命令固定命令
    main.cjs:74
    spawn('taskkill', ['/pid', String(child.pid), '/T', '/F'], { stdio: 'ignore' })
  • 执行外部命令来自配置/变量
    main.cjs:94
    const child = spawn(nodeExe(), [serverBin(), 'web', '--host', '127.0.0.1', '--port', port], {
  • 写入本地文件
    after-pack.cjs:24
    await mkdir(path.dirname(nodeDst), { recursive: true })
  • 写入本地文件
    after-pack.cjs:25
    await copyFile(nodeSrc, nodeDst)
  • 写入本地文件
    after-pack.cjs:29
    await copyFile(tarSrc, tarDst)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 封装网页界面为桌面应用
  • 双击即用

完全由 deepseek-harness 开发的 dsh 桌面客户端打包项目

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness 桌面版 一个自包含的 Windows 桌面外壳,用于 DeepSeek Harness Web UI。双击 exe,应用便会在自己的原生窗口中打开——无需 npx 命令,也无需浏览器。捆绑的 Node 服务器、所有 插件以及构建好的 Web 前端都随包一同发布;目标机器无需安装 Node.js。 完全使用 DeepSeek Harness(dsh)构建。 本仓库——Electron 外壳、载荷构建流水线、CI 工作流以及本 README——均由运行于 DeepSeek Harness(dsh)内部的智能体端到端生成。 请参阅构建过程记录以查看截图和成本。 下载 每个版本发布两个产物: | 产物 | 用途 | | DeepSeekHarness--portable.exe | 双击即可运行。 自解压到临时目录,无需安装。 | | DeepSeekHarness--x64.zip | 解压并运行。 解压到任意位置,然后双击 DeepSeek Harness.exe。 | 首次启动会解压一次服务器载荷(约 30 秒);之后的启动只需几秒钟。应用数据(会话、设置、配置文件)位于 ~/.dsh,与 CLI 写入的位置完全一致。
展开完整文档(README 剩余 1 节)
DeepSeek Harness 桌面版

一个自包含的 Windows 桌面外壳,用于 DeepSeek Harness Web UI。双击 exe,应用便会在自己的原生窗口中打开——无需
npx 命令,也无需浏览器。捆绑的 Node 服务器、所有
插件以及构建好的 Web 前端都随包一同发布;目标机器无需安装 Node.js。

完全使用 DeepSeek Harness(dsh)构建。
本仓库——Electron 外壳、载荷构建流水线、CI 工作流以及本 README——均由运行于 DeepSeek Harness(dsh)内部的智能体端到端生成。

请参阅构建过程记录以查看截图和成本。

下载

每个版本发布两个产物:

| 产物 | 用途 |
| DeepSeekHarness--portable.exe | 双击即可运行。 自解压到临时目录,无需安装。 |
| DeepSeekHarness--x64.zip | 解压并运行。 解压到任意位置,然后双击 DeepSeek Harness.exe。 |

首次启动会解压一次服务器载荷(约 30 秒);之后的启动只需几秒钟。应用数据(会话、设置、配置文件)位于 ~/.dsh,与 CLI 写入的位置完全一致。

本项目是什么

DeepSeek Harness 附带一个浏览器 UI(dsh web,服务于 http://127.0.0.1:3080)。
本项目将其封装为桌面应用:

- main.cjs —— Electron 主进程。它针对捆绑的服务器载荷启动一个捆绑的 node.exe,等待 dsh web: URL 行,然后在该源上打开一个 BrowserWindow。harness 从不在 Electron 自身的 Node 运行时内运行(其原生插件与捆绑的 Node 进行了 ABI 匹配)。
- scripts/build-server.mjs —— 生成 server/,即 @deepseek-ai/dsh 的生产 pnpm deploy 闭包,其中每个 @deepseek-ai/ 工作区包(包括仅作为 peer 的包、vendored 包,以及 koffi 的原生 FFI 绑定)都被重新实体化为真实的、无符号链接的文件。
- scripts/archive-server.mjs —— 将 server/ 打包为单个 server.tar。
- scripts/copy-node.mjs —— 将当前活动的 Node 可执行文件复制为 node/node.exe。
- scripts/sync-version.mjs —— 将 harness 版本复制到 package.json。
- after-pack.cjs —— electron-builder 钩子,将 server.tar 和 node.exe 放入打包后的 resources/。

为什么使用 tar 归档

服务器载荷在 node_modules 下有约 34 000 个文件。electron-builder 的 extraResources 过滤器会丢弃直接位于 from 目录下的 node_modules 目录,而 NSIS 的 File /r 会在文件数量超过较大值后静默丢弃文件。发布单个 server.tar(首次启动时解压一次到 userData)可将便携式安装程序保持在少量文件,并规避这两个限制。

构建过程

先决条件

- Node.js ^22.19 || >=24
- pnpm 11.x
- 一份 DeepSeek Harness 检出(已克隆并构建)

1. 构建 harness

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build

2. 构建桌面安装包

cd deepseek-harness-desktop
npm install # electron + electron-builder
node scripts/build-server.mjs --harness ../deepseek-harness
node scripts/copy-node.mjs
node scripts/archive-server.mjs
node scripts/sync-version.mjs ../deepseek-harness
npx electron-builder --win portable zip --publish never

或者,在 harness 构建完成后,运行 npm run dist(它会串联服务器载荷、
node 复制、归档和打包步骤)。

产物输出到 dist/:

- dist/DeepSeekHarness--portable.exe
- dist/DeepSeekHarness--x64.zip(electron-builder 的 zip 目标)

在无法直接访问 GitHub 的网络上,请在 npm install 和 electron-builder 之前设置以下环境变量:

export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
export ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/

持续集成

.github/workflows/build-release.yml 使发布与上游保持同步:

- 监控 — 一个定时任务每 6 小时轮询 deepseek-ai/deepseek-harness (其 master 分支 package.json 中的版本号)。
- 版本同步 — 桌面版发布使用与上游完全一致的版本号(例如 0.1.0-rc.6);仅当版本发生变化时才触发构建(或在 workflow_dispatch 时触发,可选带 force)。
- 构建 — 在 windows-latest 上:检出 harness,执行 pnpm install +
pnpm run build,构建服务器载荷,然后用 electron-builder 打包
portable exe 和 zip。
- 发布 — 发布一个标签为 v 的 GitHub release,包含两个产物(当版本号包含 - 时标记为预发布)。

许可证

MIT。本项目是 DeepSeek Harness 的桌面打包版,后者本身也采用 MIT 许可证。

中文说明

DeepSeek Harness 桌面版:把 DeepSeek Harness 的 Web UI 封装成独立的 Windows 桌面程序,双击即可在原生窗口中使用,无需 npx 命令、无需浏览器。
程序内置了 Node 运行时、全部插件和已构建的前端,目标机器无需安装 Node.js。

本仓库(Electron 外壳、载荷构建脚本、CI 工作流、本 README)全程由 DeepSeek Harness(dsh)中的 agent 完成*。

构建过程截图与花费见 构建过程记录。

每次 Release 提供两种产物:-portable.exe(双击即用)与 -win64.zip (解压即用)。构建流程见上文;CI 会每 6 小时监控上游版本,版本更新时自动编译 exe 与 zip 并发布同名版本号的 Release。项目采用 MIT 协议开源。
预览分享卡片长什么样 ↓csthinker/deepseek-harness-desktop
分享 · DeepSeek Harness Hub
csthinker/deepseek-harness-desktop

把网页版界面封装成双击即用的桌面应用

这是你的仓库?认领条目

回到顶部