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

桌面客户端 zeckauh/DSH_Desktop

DeepSeek Harness
zeckauh81 天前有提交已提供中文文档扫描:含敏感能力

把命令行工具封装成三平台一键安装的桌面应用

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zeckauh/DSH_Desktop
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(dependency_conflict · 2026/9/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 39 处,展示前 25 条)
  • 读取本地文件
    electron/main.js:21
    const INJECT_PLUGIN_SEARCH_SOURCE = fs.readFileSync(
  • 读取本地文件
    electron/main.js:127
    if (fs.existsSync(p)) return p;
  • 写入本地文件
    electron/main.js:273
    try { fs.mkdirSync(dir, { recursive: true }); } catch (e) { }
  • 写入本地文件
    electron/main.js:351
    try { fs.mkdirSync(dir, { recursive: true }); } catch (e) { }
  • 写入本地文件
    electron/server-manager.js:47
    fs.mkdirSync(dataDir, { recursive: true });
  • 写入本地文件
    electron/server-manager.js:48
    fs.appendFileSync(path.join(dataDir, 'launcher.log'), `[${new Date().toISOString()}] ${msg}\n`);
  • 读取本地文件
    electron/server-manager.js:54
    const s = fs.readFileSync(file, 'utf8');
  • 发起网络请求
    electron/server-manager.js:65
    const req = http.get({ host, port, path: '/', timeout }, (res) => {
  • 读取本地文件
    electron/server-manager.js:89
    if (p && fs.existsSync(p)) return p;
  • 读取本地文件
    electron/server-manager.js:96
    if (process.env.DSH_DESKTOP_NODE && fs.existsSync(process.env.DSH_DESKTOP_NODE)) {
  • 读取本地文件
    electron/server-manager.js:101
    if (fs.existsSync(txt)) {
  • 读取本地文件
    electron/server-manager.js:102
    const t = fs.readFileSync(txt, 'utf8').trim();
  • 读取本地文件
    electron/server-manager.js:103
    if (t && fs.existsSync(t)) return t;
  • 执行外部命令固定命令
    electron/server-manager.js:107
    const r = spawnSync('node', ['-v'], { encoding: 'utf8', timeout: 15000, windowsHide: true });
  • 执行外部命令来自配置/变量
    electron/server-manager.js:121
    ? spawnSync(process.env.ComSpec || 'cmd.exe', ['/d', '/s', '/c', 'npm config get cache'],
  • 执行外部命令固定命令
    electron/server-manager.js:123
    : spawnSync('npm', ['config', 'get', 'cache'], { encoding: 'utf8', timeout: 20000 });
  • 执行外部命令固定命令
    electron/server-manager.js:213
    spawnSync('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore', timeout: 10000 });
  • 写入本地文件
    electron/server-manager.js:220
    fs.mkdirSync(dataDir, { recursive: true });
  • 执行外部命令来自配置/变量
    electron/server-manager.js:227
    return spawn(plan.command, plan.args, {
  • 写入本地文件
    electron/server-manager.js:309
    fs.mkdirSync(this.dataDir, { recursive: true });
  • 执行外部命令固定命令
    electron/server-manager.js:379
    spawnSync('taskkill', ['/PID', String(child.pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore', timeout: 8000 });
  • 读取本地文件
    electron/config.js:13
    if (fs.existsSync(p)) return JSON.parse(fs.readFileSync(p, 'utf8'));
  • 读取本地文件
    electron/window-state.js:20
    const saved = JSON.parse(fs.readFileSync(file, 'utf8'));
  • 写入本地文件
    electron/window-state.js:44
    fs.writeFileSync(this.file, JSON.stringify(this.state, null, 2));
  • 发起网络请求
    electron/plugins-search.js:49
    const res = await net.fetch(url, {
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 三平台一键安装
  • 封装命令行工具

DeepSeek桌面版,支持Windows 10/11(x64)、macOS、Linux(x64)不同操作系统一键安装

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness Desktop Release License Stars Platforms 👇 快速开始:去 GitHub Releases 下载对应平台的安装包,安装后双击即可使用,无需安装 Node.js。 把官方命令行 @deepseek-ai/dsh 封装成真正的跨平台桌面客户端: - 原生窗口运行 —— DeepSeek Harness 界面直接显示在应用窗口里,不再跳转到浏览器; - 系统托盘 / 原生菜单 / 单实例 / 窗口状态记忆 —— 体验接近 VS Code / Codex 这类桌面 IDE; - 内置 dsh 运行时 —— 打包进应用,首次启动无需联网下载;没有安装 Node.js 也能运行; - 一键安装 —— Windows .exe、macOS .dmg、Linux .AppImage / .deb; - 自动更新 —— 启动后后台检查新版本,一键重启安装。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Desktop

Release
License
Stars
Platforms

👇 快速开始:去 GitHub Releases 下载对应平台的安装包,安装后双击即可使用,无需安装 Node.js。

把官方命令行 @deepseek-ai/dsh 封装成真正的跨平台桌面客户端:

- 原生窗口运行 —— DeepSeek Harness 界面直接显示在应用窗口里,不再跳转到浏览器;
- 系统托盘 / 原生菜单 / 单实例 / 窗口状态记忆 —— 体验接近 VS Code / Codex 这类桌面 IDE;
- 内置 dsh 运行时 —— 打包进应用,首次启动无需联网下载;没有安装 Node.js 也能运行;
- 一键安装 —— Windows .exe、macOS .dmg、Linux .AppImage / .deb;
- 自动更新 —— 启动后后台检查新版本,一键重启安装。

✨ 功能特性

| 特性 | 说明 |
| 🖥️ 原生窗口 | Harness 界面内嵌应用窗口,无地址栏/标签页/浏览器外壳 |
| 🧩 系统托盘常驻 | 关闭窗口最小化到托盘,服务后台继续运行 |
| 📦 内置运行时 | 应用自带 Electron 与 dsh,最终用户零依赖 |
| 🔄 自动更新 | 基于 GitHub Releases,发现新版自动下载、一键安装 |
| 🧠 窗口状态记忆 | 记住位置/大小/最大化状态;显示器变更时自动避让屏幕外 |
| 🛡️ 单实例 | 重复启动只聚焦已有窗口 |
| 🔗 外链安全 | 窗口内外部链接自动转默认浏览器打开 |
| 🔍 插件搜索 | 顶部菜单「搜索」按 topic: dsh-plugin 搜索 GitHub 第三方插件 |
| 🌍 三平台 | Windows x64 / macOS (Intel + Apple Silicon) / Linux x64 |

一、下载与安装(面向最终用户)

Windows 10/11

1. 下载 DeepSeek Harness Desktop--windows-setup.exe;
2. 双击运行安装程序(可自定义安装目录,自动创建桌面/开始菜单快捷方式);
3. 双击「DeepSeek Harness」图标即可启动。

若 SmartScreen 提示「未知发布者」,点击「更多信息 → 仍要运行」即可(应用未做代码签名)。

macOS(Intel / Apple Silicon)

1. 下载对应架构的 DeepSeek Harness Desktop--mac-.dmg;
2. 双击打开 DMG,把应用拖入「应用程序」;
3. 首次打开如被 Gatekeeper 拦截,右键应用 →「打开」,再点「打开」确认。

Linux(x64)

- AppImage:下载后执行 chmod +x .AppImage 再双击运行,无需安装;
- deb(Debian/Ubuntu):sudo apt install ./DeepSeek\ Harness\ Desktop--linux-amd64.deb。

二、使用

- 启动后应用会在后台拉起 Harness 服务,就绪后自动在窗口内显示界面;
- 关闭窗口 = 最小化到系统托盘(服务继续后台运行),右键托盘图标可「打开界面 / 退出」;
- 「退出」会停止后台服务;再次启动即可恢复;
- 菜单栏「帮助 → 打开日志目录」查看运行日志;
- 插件搜索:菜单栏「搜索 → 🔍 搜索 dsh-plugin 插件」可搜索 GitHub 上的第三方插件(topic: dsh-plugin,支持关键词过滤、按 Star 排序);「搜索 → 浏览 dsh-plugin 插件库」可直接打开 GitHub 插件主题页;
- 自动更新:安装版启动后会在后台检查新版本(更新源为 GitHub Releases),发现新版本自动下载,完成后提示一键重启安装;也可通过菜单「帮助 → 检查更新」手动检查;
- 数据与配置仍保存在 ~/.dsh(DSH_HOME),与命令行版互通。

三、配置

运行一次后,应用数据目录下会生成可编辑的 config.json:

| 平台 | 位置 |
| Windows | %APPDATA%\DeepSeek Harness Desktop\config.json |
| macOS | ~/Library/Application Support/DeepSeek Harness Desktop/config.json |
| Linux | ~/.config/DeepSeek Harness Desktop/config.json |

{
"port": 3080,
"host": "127.0.0.1"
}

出于安全,dsh web 只绑定 127.0.0.1,host 请保持默认。

四、从源码构建(面向开发者)

环境要求:Node.js 22+(仅构建需要;最终用户不需要)。

1. 安装依赖
npm install

2. 生成跨平台图标(首次/修改图标后)
npm run icons

3. 本地开发运行(原生窗口 + 开发者工具)
npm run start:dev

4. 打包安装包
npm run dist:win # Windows -> dist/.exe
npm run dist:mac # macOS -> dist/.dmg(需在 macOS 上执行)
npm run dist:linux # Linux -> dist/.AppImage, dist/.deb

5. 无 GUI 冒烟测试(验证服务拉起,不创建窗口)
npm run smoke

自动构建(GitHub Actions)

推送 v 标签(或手动触发 workflow)会在三个平台并行构建并发布到 GitHub Release:

git tag v1.0.0 && git push origin v1.0.0

产物:Windows -setup.exe、macOS -dmg(x64/arm64)、Linux .AppImage + .deb。

五、工作原理

启动应用 └─ Electron 主进程 ├─ ServerManager 解析运行环境(内置 dsh > npx 缓存 > npx 下载) ├─ 后台拉起 dsh web --port ├─ 轮询端口就绪 └─ BrowserWindow 加载 http://127.0.0.1:(原生窗口,非浏览器)

- 运行环境优先级:内置 dsh + 系统 Node → 内置 dsh + Electron 内置 Node(无系统 Node 时) → npx 缓存 → npx 联网下载;
- 若启动时端口已被占用(例如你手动跑着 npx @deepseek-ai/dsh web),应用直接连上现有实例、只显示窗口,退出时不会误杀它;
- 单实例锁:重复双击只会聚焦已有窗口,不会重复启动。

六、项目结构

electron/
main.js 主进程:窗口/托盘/菜单/单实例/生命周期 server-manager.js 跨平台服务管理(定位运行环境、拉起/看护/停止 dsh) updater.js 自动更新(electron-updater + GitHub Releases) config.js 配置读取 window-state.js 窗口状态持久化 menu.js 原生菜单 preload.js contextBridge 暴露的只读桌面信息 loading.html 启动加载页 error.html 启动失败页 assets/ 运行时图标(由 scripts/generate-icons.js 生成) plugins-search.js GitHub 插件搜索(主进程:GitHub Search API + IPC) inject-plugin-search.inject.js 注入「设置 → 插件」页面的搜索面板(浏览器端) scripts/ generate-icons.js 零依赖生成 ico/icns/png 图标 smoke.js 无 GUI 冒烟测试 build/ entitlements.mac.plist .github/workflows/build.yml 三平台自动构建与发布

七、历史说明

早期的「后台启动 + 打开浏览器」Windows 脚本封装(launcher.js、start.vbs、stop.vbs、 logs.vbs、tray.ps1、setup.ps1、uninstall.ps1、refresh-icon.ps1 及 assets/dsh.ico、 node-path.txt)已被 Electron 客户端完全取代,并已从仓库移除。

常见问题

Q:应用窗口里显示的是网页吗?
是 Harness 的本地 Web UI,但它运行在应用自带的原生窗口内(无地址栏、无标签页、无浏览器外壳),并拥有独立应用图标、菜单栏、托盘与单实例行为,等同于一个桌面客户端。

Q:为什么没有代码签名 / 报「未知发布者」?
发布未配置代码签名证书。企业/正式分发时可在 electron-builder 配置中接入 Windows 代码签名、Apple Developer ID 公证等,见 electron-builder 文档。

🤝 贡献

欢迎任何形式的贡献:报 Bug、提需求、改进代码、完善文档。

反馈问题 / 提需求

在 Issues 新建 issue,请选择对应的模板(Bug 报告 / 功能建议),并尽量附上:
- 操作系统与版本、应用版本(菜单「帮助 → 关于」可见)
- 复现步骤、期望行为、实际行为
- 运行日志(菜单「帮助 → 打开日志目录」)

提交代码

1. Fork 本仓库并克隆到本地;
2. 创建功能分支:git checkout -b feature/你的功能;
3. 修改代码,并保证 npm run smoke 冒烟测试通过;
4. 提交并推送到你的 Fork,然后发起 Pull Request(请填写 PR 模板)。

开发环境

npm install # 安装依赖
npm run icons # 生成图标(首次/修改图标后)
npm run start:dev # 本地开发运行
npm run smoke # 无 GUI 冒烟测试

📄 许可证

MIT © DH_Desktop contributors

使用本项目代码请保留 MIT 版权声明(LICENSE 文件或版权注释)。
预览分享卡片长什么样 ↓zeckauh/DSH_Desktop
分享 · DeepSeek Harness Hub
zeckauh/DSH_Desktop

把命令行工具封装成三平台一键安装的桌面应用

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部