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

桌面外壳 sleep2agi/DeepSeek-Harness-Desktop

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

一个非官方社区桌面外壳,面向公开的 DeepSeek Harnessdsh智能体运行时。

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

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

自动兼容检查有告警:npm 同名包「deepseek-harness-desktop」归属 hzhe0083-source/deepseek-harness-desktop,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add sleep2agi/DeepSeek-Harness-Desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成

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

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

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

展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 04:34:09

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    src/main.js:57
    const hasBundledNode = existsSync(bundled)
  • 读取本地文件
    src/main.js:74
    if (!existsSync(binPath)) {
  • 写入本地文件
    src/main.js:89
    await mkdir(dshHome, { recursive: true })
  • 写入本地文件
    src/main.js:96
    await writeFile(patchPath, serialisePatch(patchEntries), 'utf8')
  • 写入本地文件
    src/main.js:112
    void writeFile(
  • 写入本地文件
    src/main.js:249
    await writeFile(logPath, `${new Date().toISOString()}\n\n${message}\n`, 'utf8')
  • 执行外部命令来自配置/变量
    src/kernel-process.js:112
    const child = spawn(nodePath, args, buildSpawnOptions({ cwd, env }))
  • 执行外部命令固定命令
    src/kernel-process.js:204
    execFile('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true }, () =>
  • 发起网络请求
    src/readiness.js:104
    const response = await fetch(url, { method: 'GET', signal, redirect: 'manual' })
  • 读取本地文件
    src/node-runtime.test.js:14
    readFileSync(join(dirname(fileURLToPath(import.meta.url)), '..', 'upstream.lock.json'), 'utf8'),
  • 读取本地文件
    src/workflow-policy.test.js:79
    const files = readdirSync(dir).filter((name) => name.endsWith('.yml') || name.endsWith('.yaml'))
  • 读取本地文件
    src/workflow-policy.test.js:85
    const text = readFileSync(join(dir, name), 'utf8')
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

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

界面预览

4 张 · 点击查看大图

功能亮点

  • 非官方社区桌面外壳
  • 面向公开运行时

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

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness Desktop 一个非官方社区桌面外壳,面向公开的 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。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop

一个非官方社区桌面外壳,面向公开的 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 共享 home 目录,会让两者互相覆盖配置,也会把用户自己存储的凭据暴露给本进程。

遥测被显式关闭。 上游已经默认禁用它;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 的目录树是给开发者用的:调试符号、source map、JavaScript 编译前的 TypeScript 源码、文档,以及各平台的预编译二进制。运行中的应用不会打开其中任何一项,而它们全都会发给每个用户——占安装体积 180 MB。tools/prune-kernel.js 会把它们删掉,同时保留各种写法的许可证与声明,因为再分发 MIT 许可的代码却不带许可证文本属于违规。端到端测试跑在裁剪后的内核上,所以任何破坏启动的体积优化都会让构建失败。

环境要求

运行打包好的构建: 无。内核及其 Node 运行时都在安装包里。

开发: Node.js ≥ 22.15.0 —— 内核用到 zlib.createZstdDecompress,更早的版本没有这个 API。

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。
预览分享卡片长什么样 ↓sleep2agi/DeepSeek-Harness-Desktop
分享 · DeepSeek Harness Hub
sleep2agi/DeepSeek-Harness-Desktop

一个非官方社区桌面外壳,面向公开的 DeepSeek Harnessdsh智能体运行时。

这是你的仓库?认领条目

回到顶部