桌面端正式开源:Developer Preview 阶段

DeepSeek Harness 官方仓库 apps 目录已加入 desktop 子项目,标志着 DeepSeek 首款桌面客户端的开源。该项目目前处于 Developer Preview 状态,GitHub Releases 尚未提供可直接下载安装的 DMG 或 EXE 包件。
- 开发启动方式:
pnpm install && pnpm run dev:desktop - 发布状态:Developer Preview(存在破坏性兼容变更风险)
- 支持平台:macOS arm64、macOS x64、Windows x64(暂不支持 Linux)
- 正式发布障碍:macOS 需签名公证,Windows 需 EV 签名
Git 历史显示,首批 Electron 打包代码于 8 月下旬进入仓库,后续补全了 Windows 构建、macOS 签名公证、自动更新与启动恢复功能。
架构突破:无本地 Web 服务的桌面设计
桌面端最显著的技术反差在于:界面几乎与 Web 端一致,但完全不启动本地 Web 服务。传统 Electron 应用常通过 http://127.0.0.1:xxxx 加载 Web UI,而 DeepSeek 采用全新链路:
| |
具体实现解析:
- dsh-app:// 二合一分离协议:
dsh-app://shell提供启动页与插件管理器;dsh-app://app转发 API 请求至后端 - 独立 Node.js 运行时:内置固定版本 Node.js、pnpm 及完整生产依赖树,规避 Electron 自带 Node ABI 与系统 Node 版本不确定性
- 数据流隔离:Fetch 请求通过带版本分帧字节管道(单帧 ≤64KiB)传输;IPC 仅处理
ready/fatal/shutdown生命周期消息 - 严格安全沙箱:
nodeIntegration: false,contextIsolation: true,sandbox: true,webSecurity: true
功能差异:共享 UI,独占壳层能力
桌面端与 Web 端业务功能高度一致(对话/轨迹/会话/模型/权限/工具展示),真正新增功能集中在“桌面壳”层:
- 原生工作区选择:使用操作系统原生目录选择窗口
- 独立插件管理器:支持安装/删除/更新/启用/停用插件;失败后保留现场供人工修复
- 启动失败恢复页:不依赖 Harness Host,提供重启/禁用插件/重置配置选项
- 集成自动更新:electron-updater 更新包裹 Electron Shell + 匹配版 dsh + Node.js + pnpm + 依赖树整体(避免版本错配)
Desktop 与 CLI/SDK 共享 $DSH_HOME 下数据(会话/设置/凭据/工作区),但隔离运行时依赖(插件激活状态/锁文件/node_modules)
用户落地建议
建议再等等的用户:
- 普通终端用户:Developer Preview 阶段不稳定,暂无正式安装包
- Linux 用户:当前暂无构建支持
可立即体验的用户:
- Coding Agent 桌面客户端开发者:可参考 Electron 封装与插件隔离方案
- 桌面 Agent Runtime 研究者:可学习 Node.js 子进程嵌入与 IPC 设计
- 插件系统架构师:可借鉴插件管理失败保留现场与热重启机制
写在最后
DeepSeek 正在将 CLI 工具形态的 Harness 框架,演进为具备完整产品宿主边界的本地 Agent 平台。此次桌面端开源,意味着其桌面壳层技术栈已趋成熟,为未来扩展系统级能力(通知/托盘/跨应用集成)预留了 architecture runway,而无需重构底层 Agent Runtime。


