← 返回列表
未验证
把命令行工具封装成三平台一键安装的桌面应用
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/16 · 已提供中文文档
DeepSeek桌面版,支持Windows 10/11(x64)、macOS、Linux(x64)不同操作系统一键安装
综合分
27.5
GitHub 分
27.5
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add zeckauh/DSH_Desktop该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
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 文件或版权注释)。扫码进群