DeepSeek Harness 极简桌面端,跨平台,免配置,开箱即用
63.8/100
综合分
220
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:要求 dsh 0.1.1-rc.2,而最新版为 0.2.1-rc.5。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add agent-earth/deepseek-harness-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 46 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装要求 dsh 0.1.1-rc.2,而最新版为 0.2.1-rc.5
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包deepseek-harness-desktop @ 0.4.1
✓Node 引擎未声明 engines.node
✗dsh CLI 依赖要求 0.1.1-rc.2 · 最新 0.2.1-rc.5 不兼容
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 17:38:50
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
安装时即执行脚本可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 50 处,展示前 49 条)
- 读取本地文件src/main.js:146
const manifest = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) - 读取本地文件scripts/prepare-dependencies.mjs:137
const source = readFileSync(target, 'utf8') - 写入本地文件scripts/prepare-dependencies.mjs:139
if (patched !== source) writeFileSync(target, patched) - 读取本地文件scripts/prepare-dependencies.mjs:152
const source = readFileSync(target, 'utf8') - 写入本地文件scripts/prepare-dependencies.mjs:154
if (patched !== source) writeFileSync(target, patched) - 读取本地文件scripts/prepare-dependencies.mjs:168
const source = readFileSync(target, 'utf8') - 写入本地文件scripts/prepare-dependencies.mjs:170
if (patched !== source) writeFileSync(target, patched) - 写入本地文件scripts/prepare-dependencies.mjs:195
mkdirSync(path.dirname(outputPath), { recursive: true }) - 写入本地文件scripts/prepare-dependencies.mjs:196
mkdirSync(path.dirname(licenseOutputPath), { recursive: true }) - 写入本地文件scripts/prepare-dependencies.mjs:197
copyFileSync(executablePath, outputPath) - 执行外部命令来自配置/变量src/dsh-service.js:116
const child = spawn(command, args, { - 发起网络请求src/update-service.js:120
const response = await fetch(RELEASE_API, { - 读取本地文件src/update-settings.js:9
const stored = JSON.parse(readFileSync(filePath, 'utf8')) - 写入本地文件src/update-settings.js:21
mkdirSync(path.dirname(filePath), { recursive: true }) - 写入本地文件src/update-settings.js:24
writeFileSync(temporaryPath, `${JSON.stringify({ - 写入本地文件src/update-settings.js:28
renameSync(temporaryPath, filePath) - 删除本地文件src/update-settings.js:30
rmSync(temporaryPath, { force: true }) - 执行外部命令固定命令scripts/after-pack.cjs:8
execFileSync('codesign', ['--force', '--deep', '--sign', '-', '--timestamp=none', appPath], { - 执行外部命令固定命令scripts/after-pack.cjs:11
execFileSync('codesign', ['--verify', '--deep', '--strict', '--verbose=2', appPath], { - 读取本地文件scripts/prepare-release-assets.mjs:24
.filter(sourceName => !existsSync(path.join(distDir, sourceName))) - 写入本地文件scripts/prepare-release-assets.mjs:31
copyFileSync(path.join(distDir, sourceName), path.join(distDir, aliasName)) - 读取本地文件scripts/prepare-release-assets.mjs:46
const manifest = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8')) - 执行外部命令来自配置/变量scripts/smoke-packaged.mjs:46
const result = spawnSync(windowsNodeExecutable, ['-e', script], { - 执行外部命令来自配置/变量scripts/smoke-packaged.mjs:104
const result = spawnSync(launcher, [windowsNodeExecutable, '-e', script], { - 发起网络请求scripts/smoke-packaged.mjs:136
const response = await fetch(url) - 发起网络请求scripts/smoke-packaged.mjs:147
const marketResponse = await fetch(`${url}/dsh-market/status`) - 删除本地文件scripts/smoke-packaged.mjs:172
rmSync(temporaryRoot, { - 执行外部命令固定命令scripts/sync-upstream.mjs:111
const raw = execFileSync( - 写入本地文件scripts/sync-upstream.mjs:122
appendFileSync( - 读取本地文件scripts/sync-upstream.mjs:144
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')) - 写入本地文件scripts/sync-upstream.mjs:161
writeFileSync(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`) - 读取本地文件scripts/sync-upstream.mjs:164
const source = readFileSync(readmePath, 'utf8') - 写入本地文件scripts/sync-upstream.mjs:165
writeFileSync(readmePath, updateReadmeVersion(source, currentVersion, targetVersion)) - 执行外部命令固定命令scripts/sync-upstream.mjs:168
execFileSync( - 读取本地文件scripts/sync-upstream.mjs:174
const lockfile = JSON.parse(readFileSync(lockfilePath, 'utf8')) - 读取本地文件scripts/test-windows-hidden-console.mjs:36
const bytes = readFileSync(executablePath) - 写入本地文件scripts/test-windows-hidden-console.mjs:45
writeFileSync(powershellScript, ` - 执行外部命令来自配置/变量scripts/test-windows-hidden-console.mjs:81
const baseline = spawnSync(visibleLauncher, [process.execPath, '-e', nodeScript], { - 执行外部命令来自配置/变量scripts/test-windows-hidden-console.mjs:96
const result = spawnSync(launcher, [nodeExecutable, '-e', nodeScript], { - 写入本地文件scripts/test-windows-hidden-console.mjs:111
mkdirSync(aclWorkspace) - 写入本地文件scripts/test-windows-hidden-console.mjs:112
mkdirSync(aclTempRoot) - 执行外部命令来自配置/变量scripts/test-windows-hidden-console.mjs:132
const aclResult = spawnSync(launcher, [nodeExecutable, '-e', aclScript], { - 删除本地文件递归scripts/test-windows-hidden-console.mjs:149
rmSync(temporaryRoot, { recursive: true, force: true }) - 读取本地文件scripts/validate-update-metadata.mjs:22
const metadata = load(readFileSync(path.join(distDir, metadataName), 'utf8'), { schema: JSON_SCHEMA }) - 读取本地文件scripts/validate-update-metadata.mjs:39
const stat = statSync(filePath) - 读取本地文件scripts/validate-update-metadata.mjs:43
const checksum = createHash('sha512').update(readFileSync(filePath)).digest('base64') - 读取本地文件scripts/validate-update-metadata.mjs:60
if (!statSync(blockmap).isFile() || statSync(blockmap).size === 0) { - 读取本地文件scripts/validate-update-metadata.mjs:68
const manifest = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8')) - 写入剪贴板website/harness-site.js:209
await navigator.clipboard?.writeText(command);
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis-plugin-group@deepseek-ai/dsh@deepseek-ai/dsh-anonymous-user-id@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-bash-local@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-invariants@deepseek-ai/dsh-output-retention@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-scope给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 极简桌面端封装
- 跨平台运行
- 免配置开箱即用
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Desktop
面向 DeepSeek Harness 的轻量、本地优先、跨平台桌面封装。
官方网站
English · 简体中文
DeepSeek Harness Desktop 将官方 DeepSeek Harness Web 体验封装为独立桌面应用。无需手动启动 CLI 或管理端口,打开应用即可使用完整 Harness 界面。
本项目专注于桌面宿主能力,不 fork、不修改、不注入,也不重新实现 Harness UI。模型、会话、设置、插件和 Agent 能力均由官方 @deepseek-ai/dsh 提供。
[!IMPORTANT]
本项目是非官方社区封装,目前仍属于早期版本,并依赖快速演进中的 @deepseek-ai/dsh@0.1.1-rc.2。macOS 构建尚未经过 Apple 公证,Windows 构建尚未进行商业代码签名。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop 面向 DeepSeek Harness 的轻量、本地优先、跨平台桌面封装。 官方网站 English · 简体中文 DeepSeek Harness Desktop 将官方 DeepSeek Harness Web 体验封装为独立桌面应用。无需手动启动 CLI 或管理端口,打开应用即可使用完整 Harness 界面。 本项目专注于桌面宿主能力,不 fork、不修改、不注入,也不重新实现 Harness UI。模型、会话、设置、插件和 Agent 能力均由官方 @deepseek-ai/dsh 提供。 [!IMPORTANT] 本项目是非官方社区封装,目前仍属于早期版本,并依赖快速演进中的 @deepseek-ai/dsh@0.1.1-rc.2。macOS 构建尚未经过 Apple 公证,Windows 构建尚未进行商业代码签名。 下载 | 平台 | 架构 | 安装包 | 下载 | | macOS | Apple Silicon | DMG | 下载 Apple Silicon 版本 | | macOS | Intel | DMG | 下载 Intel 版本 | | Windows | x64 | 安装程序 | 下载 Windows 安装程序 | | Windows | x64 | 便携 ZIP | 下载 Windows ZIP | | Linux | x64 | AppImage | 下载 AppImage | | Debian / Ubuntu | x64 | deb | 下载 deb | 全部当前和历史安装包可在 GitHub Releases 查看,也可以通过夸克网盘镜像下载:夸克网盘 - DeepSeek Harness Desktop v0.3.1 为什么需要桌面版 DeepSeek Harness 已经提供完整的 Agent Runtime 和 Web UI。本项目不重复实现这些能力,而是补充桌面应用所需的宿主层: - 自动启动和关闭本地 Harness 服务 - 自动分配随机 127.0.0.1 回环端口 - 等待 Harness 就绪后再显示应用窗口 - 提供单实例桌面窗口和外部链接安全处理 - 为渲染进程启用沙箱、contextIsolation 和导航限制 - 为 macOS、Windows 和 Linux 提供可直接安装的发行包 主要特性 - Harness 就绪后直接进入官方界面,无额外操作步骤 - 启动 Harness 服务时显示轻量等待界面,不再出现无响应感 - 内置“设置 → Plugin Market”,由 dsh-market 与经过整理的 awesome-dsh-plugin 目录提供 - 随应用提供 pnpm,可直接安装、更新和卸载目录中的插件,无需另行配置 Node.js 工具链 - 支持系统托盘驻留,关闭主窗口后可继续在后台运行 - 可通过托盘菜单在系统浏览器中打开当前本地 Harness 地址 - 支持自动检查桌面更新,Windows 安装版和 Linux AppImage 可选自动下载 - 保留完整的设置、模型、会话、插件和 Agent 能力 - 应用退出时自动终止 Harness 子进程 - Web 服务仅监听随机本地回环端口,不暴露到局域网 - macOS 支持 Apple Silicon 和 Intel - macOS 标题栏会与 DSH 当前浅色或深色主题自然融合 - Windows 支持 x64 安装程序与便携 ZIP - Linux 支持 x64 AppImage 和 deb - Windows 使用官方应用内目录浏览器,避免打包环境下的原生文件夹对话框异常 - Windows 预留可拖动标题栏,避免原生窗口按钮遮挡 Harness 内容 - Windows 隐藏 Electron 默认的 File、Edit、View 和 Window 菜单栏 更新 从托盘菜单,或 macOS 的 DeepSeek Harness 应用菜单中选择“检查更新…”。Linux 和 Windows 也提供“更新”菜单,Windows 可按 Alt 显示菜单。快捷键 Ctrl/Cmd+Shift+U 可直接检查更新;Windows 系统托盘不可用时,“更新”菜单会保持可见。 “自动检查更新”默认开启:打包后的应用会在 Harness 启动成功 30 秒后检查一次,运行期间每六小时检查一次。关闭后停止后台检查,仍可手动检查。开关会在重启后保留。检查请求发送至本仓库公开的 GitHub Releases,后台网络失败不会打断 Harness。 | 发行方式 | 更新行为 | | Windows NSIS 安装版 / Linux AppImage | 在应用内下载,完成手头任务后选择“重启并安装”。可选的“自动下载更新”默认关闭。 | | macOS / Windows ZIP / Linux deb | 检测新版并提供发行页入口,由你下载对应平台和架构的安装包并完成安装。 | 关闭窗口或普通退出不会自动安装。重启安装会停止正在运行的 Harness 任务,请先完成任务。macOS 当前使用临时签名,尚不支持需要有效签名的 Squirrel.Mac 自动安装流程。 内置 Harness 随 Desktop 一起更新:桌面新版包含上游升级时,两者通过同一个安装包交付。更新对话框会显示当前内置 Harness 版本。每日上游同步流程发现 DSH 新版本后会创建 PR,验证并发布新的桌面版本后,客户端即可通过相同流程获取。应用不会单独安装 npm 上未经桌面适配验证的 Harness 最新版,也不会修改本地 Harness profile 和会话。 此功能发布前的旧版本需要先手动升级一次桌面应用,才能获得更新选项。源码开发模式不会检查或安装更新。 插件市场 打开“设置 → Plugin Market”即可浏览和搜索社区插件,查看插件来源,并执行安装、更新、停用或卸载。插件目录实时读取自 awesome-dsh-plugin.com,插件变更仍通过官方 dsh plugin --profile web 流程完成,并保存在本机 DSH profile 中。 桌面安装包内置 dshmarket@1.40.0 和兼容的 pnpm 运行时。由于应用生命周期由桌面宿主管理,市场内的一键进程重启已关闭;当插件提示需要重启时,请刷新页面或重新启动 DeepSeek Harness Desktop。 SSH 与远程运维 如需 SSH 能力,可在“设置 → Plugin Market”中搜索并安装 dsh-ssh-ops。它支持 SSH 终端、SFTP、端口转发、批量命令和数据库连接,并已验证可在本项目当前内置的 DSH 版本中正常加载。 由于 SSH 插件会处理远程凭据,并可在其他机器上执行命令,本项目不会默认安装或启用它。请先检查插件源码与权限,仅在需要时安装,并在安装完成后重启 DeepSeek Harness Desktop。 [!WARNING] 目录中的插件是社区维护的第三方代码,不代表 DeepSeek 或本项目的背书。插件安装后会以当前用户权限在本机运行,并可能访问 Harness 可访问的数据。安装前请检查源码、发布者、权限和构建脚本提示。 安装说明 macOS macOS 构建已进行完整性签名,但尚未经过 Apple 公证。首次启动: 1. 打开 DMG,将 DeepSeek Harness 拖入“应用程序”。 2. 尝试打开应用;如果 macOS 阻止启动,请点击“完成”。 3. 打开“系统设置 → 隐私与安全性”。 4. 在“安全性”区域找到 DeepSeek Harness,点击“仍要打开”。 5. 再次点击“打开”确认。 该确认通常只需完成一次。 Windows Windows 安装包尚未进行商业代码签名。如果 Microsoft Defender SmartScreen 出现提示: 1. 点击“更多信息”。 2. 点击“仍要运行”。 3. 按安装向导完成安装。 Linux - AppImage:执行 chmod +x DeepSeek-Harness-Desktop-.AppImage 后直接运行。 - Debian / Ubuntu:使用系统软件安装器打开 deb,或运行 sudo apt install ./DeepSeek-Harness-Desktop-.deb。 安全模型 - Harness 服务仅绑定 127.0.0.1,每次启动使用随机端口 - Renderer 禁用 Node.js 集成 - 启用 contextIsolation 和 Chromium sandbox - 新窗口和跨域导航交由系统浏览器处理 - Harness 在独立的 Electron Node 子进程中运行 - Cordis HMR 所需的 --expose-internals 只授予 Harness 子进程,不暴露给 Renderer - 插件市场的写操作要求同源请求,安装来源限制为经过整理的目录 - 第三方插件安装后仍会以当前用户权限执行 运行架构 DeepSeek Harness Desktop ├── Electron Main │ ├── 单实例窗口 │ ├── Harness 子进程生命周期 │ ├── 随机回环端口与就绪检测 │ └── 平台菜单和外部链接处理 │ ├── Harness Child Process │ └── @deepseek-ai/dsh web │ └── http://127.0.0.1:<random-port> │ └── Sandboxed BrowserWindow └── DeepSeek Harness Web UI 当前验证状态 | 平台 | 构建 | 打包后启动 | Web UI | | macOS Apple Silicon | DMG / ZIP 通过 | 通过 | HTTP 200 | | macOS Intel | DMG / ZIP 通过 | 通过 | HTTP 200 | | Windows x64 | NSIS / ZIP 通过 | 通过 | HTTP 200 | | Linux x64 | AppImage / deb 通过 | 通过 | HTTP 200 | 所有发行包都由匹配平台的 GitHub-hosted runner 构建,并在发布前执行打包后 smoke test。 已知限制 - 上游 DSH 仍是 RC 版本,接口和行为可能快速变化 - macOS 尚未接入 Developer ID 和 notarization - Windows 尚未接入商业代码签名,首次启动可能出现 SmartScreen - 尚未提供 Windows ARM64 和 Linux ARM64 构建 - macOS、Windows ZIP 和 Linux deb 需要从发行页下载安装包并完成安装 上游版本与许可 当前固定使用 @deepseek-ai/dsh@0.1.1-rc.2,以保证打包结果可复现。 桌面封装采用 MIT License。内置的 DeepSeek Harness、dsh-market 与 pnpm 同样采用 MIT License,其许可声明保存在 third-party-licenses。 本项目与 DeepSeek 不存在隶属或官方合作关系。DeepSeek Harness 及相关名称的权利归其各自所有者所有。应用图标使用上游 DeepSeek Harness Web favicon 中的黑色鲸鱼图案。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
agent-earth/deepseek-harness-desktop
DeepSeek Harness 极简桌面端,跨平台,免配置,开箱即用
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,021已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 656已汉化DSH
70.7
这是你的仓库?认领条目