DeepSeek Harness 桌面客户端
28.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/21 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:要求 dsh 0.1.7-rc.2,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Minomiao/deepseek-harness-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/25) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装要求 dsh 0.1.7-rc.2,而最新版为 0.2.1-rc.2;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-desktop @ 0.2.0
✓Node 引擎未声明 engines.node
✗dsh CLI 依赖要求 0.1.7-rc.2 · 最新 0.2.1-rc.2 不兼容
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/20 06:18:56
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 50 处,展示前 38 条)
- 写入本地文件src/main.js:75
fs.appendFileSync(THEME_LOG, `[${new Date().toISOString()}] ${msg}\n`); - 读取本地文件src/main.js:96
const text = fs.readFileSync(path.join(DSH_HOME, 'profiles', 'web', 'cordis.patch.yml'), 'utf8'); - 读取本地文件src/main.js:105
const text = fs.readFileSync(path.join(DSH_HOME, 'settings.yaml'), 'utf8'); - 执行外部命令固定命令src/main.js:153
execFile('taskkill', ['/pid', String(proc.pid), '/T', '/F'], () => {}); - 读取本地文件src/main.js:174
text = fs.readFileSync(patchPath, 'utf8'); - 写入本地文件src/main.js:187
fs.writeFileSync( - 删除本地文件src/main.js:211
fs.rmSync(dir, { recursive: true, force: true }); - 执行外部命令来自配置/变量src/main.js:225
const child = spawn(process.execPath, [DSH_BIN, 'web', '--port', '0', '--no-open'], { - 执行外部命令来自配置/变量src/main.js:411
const child = spawn(process.execPath, [DSH_BIN, 'plugin', '--profile', 'web', ...args], { - 执行外部命令来自配置/变量src/main.js:444
const child = spawn(process.execPath, [DSH_BIN, 'web', '--port', '0', '--no-open'], { - 执行外部命令固定命令src/main.js:456
execFile('taskkill', ['/pid', String(child.pid), '/T', '/F'], () => {}); - 读取本地文件src/main.js:482
const m = JSON.parse(fs.readFileSync(p, 'utf8')); - 写入本地文件src/main.js:487
fs.writeFileSync(p, JSON.stringify(m, null, 2) + '\n'); - 读取本地文件src/main.js:498
return JSON.parse(fs.readFileSync(path.join(app.getPath('userData'), 'desktop-settings.json'), 'utf8')); - 写入本地文件src/main.js:507
fs.writeFileSync(path.join(app.getPath('userData'), 'desktop-settings.json'), JSON.stringify(current, null, 2)); - 读取本地文件src/main.js:515
return typeof dir === 'string' && dir && fs.existsSync(dir) ? dir : path.join(DSH_HOME, 'plugins'); - 执行外部命令固定命令src/main.js:521
execFile('git', ['--version'], (err) => resolve(!err)); - 发起网络请求src/main.js:539
const res = await net.fetch(url, { signal: AbortSignal.timeout(8000) }); - 发起网络请求src/main.js:557
res = await net.fetch(url, { signal: controller.signal }); - 写入本地文件src/main.js:569
const ws = fs.createWriteStream(tmp); - 删除本地文件src/main.js:589
fs.unlinkSync(tmp); - 写入本地文件src/main.js:596
fs.mkdirSync(destDir, { recursive: true }); - 删除本地文件src/main.js:601
fs.unlinkSync(tmp); - 发起网络请求src/main.js:745
const res = await net.fetch(LATEST_RELEASE_API, { - 读取本地文件src/plugin-util.js:95
pkg = JSON.parse(fs.readFileSync(path.join(dir, 'package.json'), 'utf8')); - 读取本地文件src/plugin-util.js:103
entries = fs.readdirSync(dir, { withFileTypes: true }); - 读取本地文件src/plugin-util.js:138
if (fs.existsSync(p)) return p; - 读取本地文件src/plugin-util.js:142
if (fs.existsSync(p)) return p; - 执行外部命令来自配置/变量src/plugin-util.js:150
const child = spawn(PNPM_EXE, args, { - 读取本地文件src/plugin-util.js:176
yaml = fs.readFileSync(wsPath, 'utf8'); - 写入本地文件src/plugin-util.js:185
fs.writeFileSync(wsPath, yaml); - 读取本地文件src/plugin-util.js:200
if (fs.existsSync(path.join(cur, 'pnpm-workspace.yaml'))) return cur; - 删除本地文件src/plugin-util.js:233
fs.rmSync(path.join(dir, 'node_modules'), { recursive: true, force: true }); - 删除本地文件src/plugin-util.js:234
fs.rmSync(path.join(installDir, 'node_modules'), { recursive: true, force: true }); - 写入本地文件src/plugin-util.js:240
fs.writeFileSync( - 删除本地文件src/plugin-util.js:246
fs.rmSync(path.join(dir, 'node_modules'), { recursive: true, force: true }); - 写入本地文件src/plugin-util.js:247
fs.writeFileSync(wsPath, 'packages:\n - .\n\nnodeLinker: hoisted\nverifyDepsBeforeRun: false\n'); - 写入本地文件src/plugin-util.js:249
fs.appendFileSync(wsPath, '\nverifyDepsBeforeRun: false\n');
扫描于 2026/11/4(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-compaction@deepseek-ai/dsh-fs@deepseek-ai/dsh-invariants@deepseek-ai/dsh-output-retention@deepseek-ai/dsh-sandbox@deepseek-ai/dsh-scope@deepseek-ai/dsh-session-telemetry给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 封装命令行服务
- 双击即用桌面应用
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Desktop
DeepSeek Harness Web 界面的桌面客户端(跨平台)。
项目简介
DeepSeek Harness 是 DeepSeek 官方的 Agent 开发框架。原版要先跑命令行 npx @deepseek-ai/dsh web 启动服务,再在浏览器里访问。本项目用 Electron 把它封装成桌面应用:
- 双击即用:自动拉起本机 dsh 服务,界面内嵌在应用窗口中,无需命令行、浏览器或安装 Node.js
- 关闭窗口最小化到系统托盘,服务在后台继续运行;托盘菜单可恢复窗口或退出
- 标题栏颜色跟随界面主题(浅色/深色/跟随系统)
- 自定义图标、标题,隐藏 Electron 默认菜单栏
- 修复 Windows 目录选择崩溃:自动切换为内置浏览面板,无需原生对话框
- 对话界面顶部优化:28px 窗口拖动条、恢复原生窗口按钮、隐藏导出按钮
- 插件管理:支持 npm 包名 / Git 地址 / 本地路径安装
- 内核对齐上游:内置 DeepSeek Harness 0.1.7(回合导航轨道、侧边栏终端、Office/PDF 预览等)
- 跨平台:Windows / macOS / Linux
界面预览
浅色模式
深色模式
安装
| 平台 | 文件 |
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop DeepSeek Harness Web 界面的桌面客户端(跨平台)。 项目简介 DeepSeek Harness 是 DeepSeek 官方的 Agent 开发框架。原版要先跑命令行 npx @deepseek-ai/dsh web 启动服务,再在浏览器里访问。本项目用 Electron 把它封装成桌面应用: - 双击即用:自动拉起本机 dsh 服务,界面内嵌在应用窗口中,无需命令行、浏览器或安装 Node.js - 关闭窗口最小化到系统托盘,服务在后台继续运行;托盘菜单可恢复窗口或退出 - 标题栏颜色跟随界面主题(浅色/深色/跟随系统) - 自定义图标、标题,隐藏 Electron 默认菜单栏 - 修复 Windows 目录选择崩溃:自动切换为内置浏览面板,无需原生对话框 - 对话界面顶部优化:28px 窗口拖动条、恢复原生窗口按钮、隐藏导出按钮 - 插件管理:支持 npm 包名 / Git 地址 / 本地路径安装 - 内核对齐上游:内置 DeepSeek Harness 0.1.7(回合导航轨道、侧边栏终端、Office/PDF 预览等) - 跨平台:Windows / macOS / Linux 界面预览 浅色模式 深色模式 安装 | 平台 | 文件 | | Windows | DSH Desktop Setup 0.5.1.exe(安装版)/ DSH Desktop-0.5.1-win-x64.zip(免安装,解压即用) | | macOS (Apple Silicon) | DSH Desktop-0.5.1-arm64.dmg | | Linux | DSH Desktop-0.5.1.AppImage | macOS 版本未签名,首次打开请右键选择"打开";Linux 需先 chmod +x "DSH Desktop-0.5.1.AppImage"。 每个发布产物均附带同名 .sha256 校验文件(由构建流水线自动生成),可用于校验下载完整性: Windows (PowerShell) Get-FileHash "DSH Desktop Setup 0.5.1.exe" -Algorithm SHA256 macOS / Linux shasum -a 256 "DSH Desktop-0.5.1.dmg" 将输出与 .sha256 文件内容比对 首次使用 1. 打开应用,等待服务就绪后自动进入 Harness 界面 2. 配置 API Key:设置环境变量 DEEPSEEK_API_KEY,或在设置页的模型配置中添加提供商 3. 在输入框开始对话 开发 cd desktop-app npm install # 安装依赖 npm start # 开发模式运行 npm run dist # 打包当前平台安装包 多平台构建 本仓库通过 GitHub Actions 矩阵构建三平台产物(.github/workflows/build.yml): - 手动触发:Actions 页面 Run workflow - 打 tag 自动触发:git tag v0.5.1 && git push origin v0.5.1 构建流水线为每个产物(exe / dmg / AppImage / zip)生成同名 .sha256 校验文件并随产物一起上传;Windows 打包不包含 unpacked 目录内容。 技术栈 - Electron 44.0.0 + Node.js 24 - DeepSeek Harness(@deepseek-ai/dsh 0.1.7-rc.2) Electron 必须钉死在 44.0.0(或 43.0.0),不要用 ^ 或升级补丁版本。 dsh 的 node-addon-require-builtin 按 V8 指纹白名单校验宿主运行时, 仅接受 Electron 43.0.0 / 44.0.0 / 45.0.0-alpha.6,其他版本会在启动时报 unsupported Electron runtime fingerprint。同理 dsh 家族包也需整组同版本升级。 打包必须带上 node_modules/@deepseek-ai 全量(见 build.extraResources)。 dsh 家族里大量包只通过 peerDependencies 互相引用,lockfile 中标记为 peer: true; electron-builder 收集生产依赖时会跳过这类条目,导致装出来的应用启动即报一串 failed to import / ERR_MODULE_NOT_FOUND(0.1.7 升级时就踩了这个)。 由于 files 的通配符会被依赖树裁剪覆盖、不生效,这里改用 extraResources 把整个 @deepseek-ai scope 叠加进 resources/app/node_modules;该做法依赖 asar: false。 上游每新增一个 peer-only 包都会重新触发该问题,这一条不要删。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Minomiao/deepseek-harness-desktop
DeepSeek Harness 桌面客户端
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目