DeepSeek Harness Hub
← 返回列表

sleep2agi/DeepSeek-Harness-Desktop

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

DeepSeek Harness 桌面版

基本兼容但装前注意:npm 同名包「deepseek-harness-desktop」归属 hzhe0083-source/deepseek-harness-desktop,装到的可能不是本插件 · 最近上游提交 2026/9/13 · 已提供中文文档

面向公共 DeepSeek Harness(dsh)运行时的非官方社区桌面外壳。

综合分
41.2
GitHub 分
41.2
用户评分
★ Stars
18
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add sleep2agi/DeepSeek-Harness-Desktop
npm 同名包「deepseek-harness-desktop」归属 hzhe0083-source/deepseek-harness-desktop,装到的可能不是本插件,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

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

npm 包deepseek-harness-desktop @ 0.4.1
Node 引擎要求 >=22.15.0 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

npm 同名包「deepseek-harness-desktop」归属 hzhe0083-source/deepseek-harness-desktop,装到的可能不是本插件

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/17 16:26:07

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DeepSeek Harness 桌面版

一个非官方的社区桌面外壳,用于公开的
DeepSeek Harness(dsh)智能体运行时。

下载

macOS(Apple Silicon) — [磁盘映像][mac-dmg] · [Zip][mac-zip]

请使用 v0.1.4。已通过 Developer ID 签名并公证(.app 和 .dmg 封装包
均已装订)。关闭窗口会隐藏到菜单栏;可从托盘、
Dock 或 Cmd+Q 退出。无需安装其他内容——智能体运行时及其 Node 已包含在
下载包中。

Windows(x64) — [安装程序][win-exe] · [便携版 zip][win-zip]

未签名,因此首次运行时 SmartScreen 会发出警告。当前 Windows 版本仍为 0.1.1。

[所有版本][releases]

[mac-dmg]: https://github.com/sleep2agi/DeepSeek-Harness-Desktop/releases/download/v0.1.4/DeepSeek-Harness-Desktop-0.1.4-arm64.dmg
[mac-zip]: https://github.com/sleep2agi/DeepSeek-Harness-Desktop/releases/download/v0.1.4/DeepSeek-Harness-Desktop-0.1.4-arm64.zip
[win-exe]: https://github.com/sleep2agi/DeepSeek-Harness-Desktop/releases/download/v0.1.1/DeepSeek-Harness-Desktop-0.1.1-x64.exe
[win-zip]: https://github.com/sleep2agi/DeepSeek-Harness-Desktop/releases/download/v0.1.1/DeepSeek-Harness-Desktop-0.1.1-x64.zip
[releases]: https://github.com/sleep2agi/DeepSeek-Harness-Desktop/releases

dsh 是一个命令行智能体运行时,同时也提供完整的 Web UI。本项目将该运行时
封装为桌面应用程序:它以内核作为本地子进程启动,
等待其真正开始提供服务,并在加固的窗口中显示其 UI——这样
运行时就可以通过双击启动,而无需从终端启动。

状态:早期开发阶段。 内核本身是上游开发者预览版
(0.1.0-rc.x),其配置界面仍在变化中。Windows 和 macOS
(Apple Silicon 和 Intel)是已端到端构建的平台;其余平台请参见
路线图。

| | |
|:---:|:---:|
| 启动会话 | 选择智能体预设 |
| 在工作区中启动会话 | 选择智能体预设 |
| 插件设置 | 常规设置 |
| 配置内核的插件 | 预设、权限和外观 |

以上所有内容都是上游 Web UI,由内核提供服务,并在外壳的
窗口中渲染。外壳提供的是窗口、进程以及围绕它们的安全策略——
而不是界面本身。

这是什么,以及不是什么

本仓库仅包含桌面外壳。所有智能体行为——模型、工具、
会话、权限、Web UI——都来自上游内核及其插件。

外壳只负责四件事,并且刻意不负责其他任何事:

| 关注点 | 外壳的职责 |
|---|---|
| 进程 | 在空闲端口上将 dsh 作为子进程启动,并在退出时关闭整个进程树。 |
| 就绪状态 | 在显示窗口之前,等待来自本次启动的真实 HTTP 响应。 |
| 窗口 | 应用固定的安全策略:沙箱化渲染器、精确源导航允许列表、仅限 http/https 的外部链接。 |
| 配置 | 通过内核自身支持的机制,以补丁覆盖层的形式表达其偏好,而不修改上游代码。 |

上游的任何内容都没有被打补丁,也没有被 vendor 后编辑。内核以固定版本从 npm 安装,而每个 shell 偏好都通过 --patch 传递,这是启动器配置分层中的一等组成部分。

设计说明

一些容易出错的决策,以及这个 shell 为何如此处理它们。

端口开放并不等于服务器就绪。 内核的 Web 服务器在启动期间绑定其端口,而之后某个插件失败仍可能导致进程崩溃。在那个窗口期内,TCP 连接会成功,但实际上没有任何服务在提供响应,指向它的窗口会显示空白页。因此,就绪状态要求真实的 HTTP 2xx/3xx 响应。

就绪状态绑定到单次启动。 每次探测尝试都会重新检查正在等待的进程是否仍是当前进程。否则,一个已经死亡并将端口留给机器上另一个程序的内核,会完美地响应探测——用的是别人的服务器。

导航以精确源进行比较。 startsWith('http://127.0.0.1:') 也会匹配本地运行的任何其他服务,而 includes('127.0.0.1') 会匹配 http://evil.example/?x=127.0.0.1。加载的页面决定其自身的链接;shell 不能假设它们是良性的。

机密在进入日志缓冲区时就被脱敏, 而不是在离开时。在读取时脱敏仍然会让明文在此之前一直留在本进程的内存中。匹配是按形状进行的,不可能做到完备——它是第二道防线,而不是保证。

内核获得自己的 DSH_HOME, 并且所有继承的 DSH_ 变量都会被丢弃。与用户自己安装的 dsh 共享主目录会导致两者互相覆盖对方的配置,并且会让用户自己存储的凭据处于本进程可触及的范围内。

遥测被显式关闭。 上游已将其默认设为禁用;shell 仍然明确声明这一点,因此该默认值是这个应用程序的属性,而不是恰好捆绑的某个内核版本的属性。

内核运行在它自己捆绑的 Node 上,而不是 Electron 的 Node 上。 它们是不同的运行时,而且这种差异并非理论上的。在内核相同、配置相同的情况下,以 Electron-as-Node 启动时,内核会在启动期间中止:

failed to apply loader entry … (@deepseek-ai/cordis-plugin-hmr):
--expose-internals is required for HMR service

而在同一主版本的官方 Node 构建上,它会干净地启动。值得注意的是,这种情况发生在 Web 服务器已经在响应 HTTP 之后——因此,即使是一个真实的 HTTP 响应也
这不是进程会保持运行的证明,因此意外的内核退出会被报告,而不是静默地留下一个指向虚无的窗口。

捆绑的运行时从 nodejs.org 下载,对照该版本 SHASUMS256.txt 中发布的 SHA-256 进行校验,然后询问它是什么版本。两项检查失败都会导致构建失败,而不是发出警告。

发布的内容并非 npm 安装的内容。 npm 树是为开发者发布的:调试符号、源映射、JavaScript 构建所依据的 TypeScript、文档,以及每个平台的预构建二进制文件。运行中的应用程序不会打开其中任何一项,而所有这些都会发布给每个用户——占已安装大小的 180 MB。tools/prune-kernel.js 会移除它们,同时保留各种拼写形式的许可证和声明,因为重新分发 MIT 许可的代码而不附带其许可证文本是一种违规行为。端到端测试针对修剪后的内核运行,因此任何破坏启动的体积优化都会导致构建失败。

要求

运行打包构建: 无需任何要求。内核及其 Node 运行时都在安装程序内。

进行开发: Node.js ≥ 22.15.0——内核使用了 zlib.createZstdDecompress,该功能在更早的版本中不存在。

Windows 和 macOS 附带经过校验和验证的捆绑 Node 运行时,因此打包构建没有外部依赖。Linux 预期可以工作但尚未经过实际验证,并且仍会回退到系统 Node。

开发

npm install          # shell dependencies (Electron, builder, types)
npm test             # unit tests for every load-bearing decision — no network, no Electron
npm run kernel:install   # fetch the pinned kernel into resources/kernel
npm start            # launch the shell against it
npm run dist:mac     # .dmg and .zip (Developer ID + notarize if Apple creds are set)
npm run dist:win     # NSIS installer and .zip for Windows

内核版本固定在 upstream.lock.json 中,这是它的唯一事实来源。升级是一次显式提交,而不是重新构建时自行完成的事情——上游是开发者预览版,并声明它会做出破坏性更改。

布局

关键决策*位于普通模块中,不导入 Electron 或文件系统,因此可以直接测试:

| 模块 | 决定 |
|---|---|
| src/window-policy.js | 窗口可以导航到哪里;可以交给操作系统什么。 |
| src/kernel-runtime.js | 内核的参数向量和环境。 |
| src/readiness.js | 内核何时算作就绪。 |
| src/log-redact.js | 什么可以进入日志缓冲区,以及保留多少。 |

src/main.js 只负责 IO 和编排。

路线图

- [x] 内核启动、参数和环境构建
- [x] 绑定到单次启动的就绪探测
- [x] 窗口和导航安全策略
- [x] 有界、脱敏的日志捕获
- [x] 捆绑的、经过校验和验证的 Node 运行时
- [x] Windows 安装程序,通过启动它并加载 UI 进行验证
- [x] macOS 构建(Apple Silicon .dmg + .zip,已进行 Developer ID 签名和公证;
Intel 运行时已固定,但不在当前发布版本中)
- [x] 工作区选择器已在捆绑运行时上验证可用——据报告,内核的原生
Windows 选择器在其他运行时下会崩溃;在此构建中,它能够打开、取消,
并让内核继续提供服务。buildShellPatch({
useBrowseDirectoryPicker: true }) 会在某个构建需要时选择非原生实现,
且默认关闭
- [ ] Linux 构建

macOS 说明

v0.1.4
Apple Silicon 构建已进行 Developer ID 签名;.app 和 .dmg 已公证并
附加公证票据。如果下载的 .dmg 提示已损坏,请优先使用该版本而非 v0.1.3。

从 Dock 启动的 Mac 具有最小化的 PATH。shell 会前置 Homebrew 的常见
位置(/opt/homebrew/bin、/usr/local/bin),以便内核仍能找到 git 和
开发者工具链的其余部分。

独立性

此处的一切均基于公开来源、针对固定的公开依赖编写。它
不复制私有产品代码,也不包含任何组织特定的品牌标识、
身份验证客户端、私有端点、更新源、凭据或遥测。CI 中的
scan:leaks 检查会针对工作树和已提交历史强制执行这一点,
并在失败时使构建失败,而不是仅发出警告。

本项目与 DeepSeek 无关联,也未获得其认可。

许可证

仓库作者编写的代码采用 MIT 许可证——见 LICENSE。

本项目捆绑了上游 @deepseek-ai/dsh 内核,该内核同样采用 MIT 许可证。
第三方组件保留其各自的许可证,并随打包应用程序一起再分发;
有关署名和商标立场,见 NOTICE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群