把 DSH Web 套进 Electron 桌面应用,加入项目管理、Git Worktree、Browser Workspace、Canvas、Site、Office 产物和本地主题,并注册 10 个应用自有工具。
- 语言
- JavaScript
- License
- MIT
- 分支
- dev
安装
$ dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 vibeinging/deepseek-harness-desktop-app:先查看仓库 https://github.com/vibeinging/deepseek-harness-desktop-app.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
DeepSeek Harness Desktop App 是 DeepSeek Harness(DSH)官方 Web 之上的一层 Electron 桌面外壳,把 DSH 的会话、Agent、Tool、Profile Bundle 与本地项目管理、Git Worktree、Browser Workspace、Canvas、Site、Office 产物合并到同一个桌面应用里。装到当前 DSH Web Profile 后,会自动给模型注册 10 个应用自有工具,并改写默认布局、侧栏、会话入口和通用设置页的根节点。
核心能力
- 在 DSH Profile 上挂载三组私有 Profile Bundle:主题包、双面根 Client 包、10 个产品工具桥接包
- 给模型注册 10 个应用自有工具:
project_list、conversation_list用来枚举项目与对话,canvas_inspect/canvas_create/canvas_edit/canvas_suggest处理 Canvas 与本地 Site,artifact_office_inspect/artifact_office_create/artifact_office_edit处理 Office 产物,ui_render渲染结构化交互界面 - 提供产品级工作台五件套:结果与证据、浏览器、文件、产物、Site 五个标签页取代 DSH Web 的默认页
- 接入项目管理、文件授权、Git Worktree 隔离开发、Browser Workspace 多标签浏览、本地 Office 文件预览与定点编辑、不可变版本 Canvas / Site
- 暴露两款官方主题:
professional-blue(默认,墨蓝底+钴蓝强调色)和anime-blue(可选,看板娘风格);支持本地主题新建、导入、预览、编辑、导出、删除,但只能改颜色与外观 token,不能注入原始 CSS - 插件中心提供 Profile Bundle 兼容性检查与安装入口,用户已装的 Bundle 可以卸载
- 在 DSH pre-step 把应用指令、项目指令和全局/项目记忆作为不可变用户消息注入上下文,并在 DSH Session Log 中保留
dsh-work-context与dsh-work-memory来源
技术实现
- 语言: JavaScript(三个 Bundle 包使用 ES Module)+ TypeScript(Electron 主进程与 Renderer 使用 TS/TSX)+ Vite/React 前端栈
- 关键依赖:
@deepseek-ai/cordis^4.0.1(插件编排)、@deepseek-ai/dsh-agent^0.1.0-rc.6(Agent 运行时)、@deepseek-ai/dsh-tools^0.1.0-rc.6(工具注册)、@deepseek-ai/dsh-invariants^0.1.0-rc.6(不变量校验)、@deepseek-ai/dsh-client-*^0.1.0-rc.6(Client Loader 注入)、electron^42 与electron-updater6.8.9(桌面宿主与更新) - 架构模式: 三个 private Profile Bundle 通过
dsh.bundle.patch(cordis.patch.yml)插入到当前 DSH Web Profile 的 Cordis 树;dsh-work-shell同时禁用官方ui-layout/ui-sidebar/ui-conversation/ui-settings-general四个壳,再以自身作为可见根;dsh-product-bridge监听agent/created、tools/pre-execute、agent/disposed,把 IPC 请求通过 Electron 主进程桥接到本机后端;进程间只发送 DSH Session id,身份与项目绑定在父进程 - 入口文件:
electron/main.js(Electron 主进程入口)、packages/dsh-product-bridge/src/index.js(Profile Bundle 1:产品桥接与 10 个工具)、packages/dsh-work-shell/src/index.js(Profile Bundle 2:根 Client 插件)、packages/dsh-theme-pack/src/index.js(Profile Bundle 3:主题数据)、renderer/src/app-init.ts(Renderer 启动初始化)
适用场景
适合希望把 DSH 从浏览器标签页搬进独立桌面 App 的重度用户:项目多、需要在多 Worktree 之间并行、经常同时打开会话、文件、Office 和网页对照阅读。Capable 之外典型场景是产品/设计/运营需要把对话、Markdown、Canvas、本地 Site、DOCX/XLSX/PPTX/PDF 全部留在一个桌面会话里同步追溯。如果只要一个最小 DSH 客户端,或只在 Linux 上跑,这个桌面应用还不在覆盖范围内(Linux 暂无桌面打包配置)。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 0.1.0-rc.6 | 三个 Profile Bundle 在 peerDependencies 中固定该版本族,未声明宽松范围 |
| Node.js | >=24.0.0(Bundle 兼容 ^22.19.0 / >=24) | 根 package.json、electron/package.json、renderer/package.json 的 engines 全部声明 >=24;三个 Bundle 的 engines 放宽到 `^22.19.0 |
| 平台 | macOS(arm64 与 x64)/ Windows x64 | macOS Apple Silicon 已通过开发与目录包验证;macOS Intel 通过 Rosetta 检查仍需实机验收;Windows x64 已接入构建流程,仍需安装包实机验收 |
| 原生模块 | electron / electron-updater | electron 由 electron/package.json 引入;electron-updater 6.8.9 提供应用内更新;未涉及 node-pty、sqlite 等其他原生依赖 |
| Windows arm64 | 不支持 | README 平台状态章节明确标注 |
| Linux | 暂无桌面打包配置 | renderer 可单独跑,但 Electron 桌面产物的打包配置未提供 |
安装方式
dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app
配置项
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
| 主题选择 | professional-blue | anime-blue | 切换官方主题;缺失时回落到 professional-blue | professional-blue |
| 明暗模式 | light | dark | system | 由 DSH Settings API 持久化为 ui-theme.preference,仅在尚无用户偏好时写入默认值 | system |
| 背景颜色 | 颜色 token | 个人背景调整,仅修改安全 renderer 颜色 token,不会注入远程图片 | 跟随主题 bgColor |
| 面板透明度 | 百分比 | 调节面板不透明度,独立于明暗与背景 | 主题 panelOpacity |
| 语言 | zh | en | 切换界面语言 | 跟随系统 |
| Bundle 安装源 | npm 精确版本包 | dsh-external 仓库 commit 地址 | 必须在兼容性检查结果为"可以安装"后才能写入当前 Profile | 无 |
主题相关的 vars、mantineColors、appearance.bgColor、appearance.panelOpacity、light/dark 两套色板完整定义在 packages/dsh-theme-pack/themes.json。第三方 Client UI Bundle(包含 dsh.client)一律在预检阶段被拒绝,不会进入 Renderer。
常见问题
Q: 这个插件跟 DSH 官方 Web 是什么关系?
A: 它不是 DSH Web 的 iframe,也没有复制一套 Agent 运行时。Electron 启动官方 DSH Web Profile,沿用同一套 Session、Agent、Tool、Skill、MCP、Settings、Profile Bundle 和 Client Loader;桌面壳建立在同一运行链上,并额外提供项目管理、文件授权、Browser Workspace、Git Worktree、Canvas、Site 和 Office 产物。
Q: 装上之后双击图标就能打开桌面应用吗?
A: 这个仓库本身是一个完整的 Electron 桌面应用代码库,需要本地 npm install → npm run doctor → npm run dev 启动开发模式,或使用 npm run package:mac / npm run package:win 打包出 macOS DMG / Windows NSIS 安装器后再双击运行。
Q: 普通用户能装哪些 Bundle?第三方 Client UI 可以进入主窗口吗?
A: Tool、Skill、MCP、Hook 等 Host Bundle 可以进入 DSH 运行时。包含第三方 Client UI 的 Bundle 在预检阶段会被直接拒绝,直到它们能在拥有 Electron 权限的主窗口之外独立运行;随桌面应用一起发布且经过审核的 Client Bundle 不受此限制。
Q: 装上这个 Bundle 后模型多了哪些工具?
A: 模型额外获得 10 个应用自有工具:project_list、conversation_list(只读项目/对话枚举)、canvas_inspect / canvas_create / canvas_edit / canvas_suggest(Canvas 与本地 Site 的读取/创建/编辑/行内建议)、artifact_office_inspect / artifact_office_create / artifact_office_edit(Office 产物的只读/写入)与 ui_render(结构化交互界面渲染)。
Q: 数据存在哪里?项目源码默认是只读吗?
A: Profile、Session、项目、运行记录和产物数据默认保存在本机 ~/.dsh。项目源码目录默认只读,Agent 写入需要用户明确授权。
Q: 哪些平台已经能用?哪些还在路上?
A: macOS Apple Silicon 已通过开发与目录包验证;macOS Intel 通过 Rosetta 检查但仍需 Intel 实机验收;Windows x64 已接入构建流程但安装包仍需实机验收;Windows arm64 不支持;Linux 暂无桌面打包配置。
Q: 模型写应用自有数据前需不需要批准?
A: 需要。tools/pre-execute 钩子会把 canvas_create / canvas_edit / canvas_suggest / artifact_office_create / artifact_office_edit 五个写入类工具拦下弹 DSH 审批,不会自动落入用户数据。
Q: 本地主题会不会夹带恶意 CSS 或远程图片?
A: 不会。本地主题只能改动颜色与外观设置,限定为 renderer-safe 的颜色 token;Bundle 的 Themes 描述符不允许注入原始 CSS、远程图片,也不允许改应用名称;过度宽松的字段会在加载时被丢弃。
上手难度
进阶 — 装好后可以直接用 DSH 默认的所有官方能力,并额外获得 10 个工具、五件套工作台和两款主题;但需要熟悉 DSH Session 的能力审批、Worktree 切回主检出再删除、子 Agent 模型继承等规则,否则容易踩到写入审批和分支状态机。
已知问题与限制
- 桌面应用目前没有五列任务看板、独立定时任务页、Git 图谱、stage/unstage 面板或独立的终端页(README.md 当前边界章节)
- 本地 Site 只支持预览和单文件导出,没有公开部署服务;公开分享仅提供只读查看
- 没有移动端远程控制、二维码配对、公网隧道、SSH、SFTP 或端口转发
- 子 Agent 可在对话与轨迹中执行,但还没有完整的独立管理页
- Windows arm64 暂不支持;Linux 暂无桌面打包配置
- macOS Intel 仍需实机验收,Windows x64 安装包仍需实机验收
- rc.6 SDK 不再发布原 ProductHost 与项目工具包,因此本应用的 Bundle 直接持有全部 10 个工具及其父进程桥接(已知替代约束)
- 依赖固定在
0.1.0-rc.6,未声明更宽版本范围;开发期间不同 RC 系列不能混装;运行 npmmirror 上的latest在某些细包上仍指向旧版本,需明确固定next/rc.6 系列 - 这三个 Bundle 都是私有包;成品构建必须携带相同审核版本和匹配的官方 NPM SDK 版本
中文 | English
DeepSeek Harness Desktop App 是建立在 DeepSeek Harness(DSH)之上的本地 AI 工作桌面。它把 DSH 的 Session、Agent、Tool、Skill、MCP 和 Profile Bundle 与项目、文件、网页、Git Worktree、Canvas、Site 和 Office 产物组织在同一个桌面应用中。
| 专业蓝亮色 | 专业蓝暗色 |
|---|---|
![]() | ![]() |
快速开始
本地开发要求 Node.js 24 或更高版本。当前项目使用 DSH 0.1.0-rc.6。
npm install
npm run doctor
npm run dev
切换 Node.js 大版本、CPU 架构或操作系统后,运行 npm run setup 重新准备依赖。
主要功能
| 功能 | 用户可以做什么 |
|---|---|
| DSH 对话 | 流式回答、思考过程、工具调用、停止、继续、重试、消息分支和重启恢复 |
| 模型与权限 | 选择 Provider、模型和推理强度,管理凭据引用、Session 权限、工具审批和模型提问 |
| Tool、Skill、MCP 与多 Agent | 使用当前 Profile 中的工具、技能、MCP、Hook、子 Agent 和 Workflow |
| 项目与对话 | 创建项目、全局或临时对话,置顶、排序、重命名、归档、恢复和删除 |
| 桌面外壳与设置 | 使用三列工作台、左右栏折叠、全局搜索、缩放快捷键和更新检查,调整语言、网络、通知、终端与隐私选项 |
| 项目上下文与记忆 | 设置应用指令、项目指令、授权源码目录、写入目标以及全局或项目记忆 |
| 输入与引用 | 使用 @ 引用文件、使用 # 引用对话,粘贴图片和大段文本附件 |
| 编码工作区 | 查看 Diff、逐行评论和编辑、在外部编辑器打开、发起 AI Review,并安全撤销模型产生的文件修改 |
| Git Worktree | 创建、启用、停用和删除隔离工作目录,让新对话在指定 Worktree 中运行 |
| 文件与搜索 | 浏览项目文件、任务和产物,预览文本、代码、图片和 Office 内容,按文件名或正文搜索 |
| Browser Workspace | 多标签浏览、历史、页内查找、缩放、下载、打印、开发者工具、站点权限、网页快照和“使用此页” |
| 结果与证据 | 直接查看当前 DSH Session 的完整轨迹、工具输入输出、耗时、Token 和最终回答 |
| Canvas 与本地 Site | 创建和编辑 Canvas、处理行内建议与版本冲突,生成并响应式预览单文件 Site |
| Office 产物 | 创建、查看和定点编辑 Markdown、DOCX、XLSX、PPTX 和 PDF,并保留版本 |
| 主题与外观 | 切换 Profile 主题,新建、导入、预览、编辑、导出和删除本地主题,调整明暗模式、背景和透明度 |
| 插件中心 | 检查兼容性,把 DSH Profile Bundle 安装到当前 Web Profile,并查看来源、版本和加载顺序 |
DSH 轨迹就是结果与证据
右侧“结果与证据”直接读取当前绑定 DSH Session 的 session.history。用户消息、请求上下文、模型输出、工具调用、工具结果、权限变化和最终回答都在同一条可回放轨迹中,不维护第二套运行中心。

对话和工作台
一个项目对话对应一个 DSH Session。右侧工作台可以添加结果与证据、浏览器、文件、产物和 Site 标签;项目文件树、Agent 工作目录、当前 Diff 和行编辑都跟随当前项目权限与活动 Worktree。


Canvas 保存不可变版本,支持正文编辑、版本比较、精确行内建议和冲突处理。Site 使用同一套版本能力,并在隔离沙箱中提供桌面、平板和手机预览。


Git Worktree 隔离开发
项目设置提供完整的 Worktree 工作流:
- 为项目创建一个或多个独立分支和工作目录,同一时间启用一个。
- 启用后,新建对话的 Agent、DSH Session、Diff 和行编辑使用该 Worktree,主检出保持不变。
- 切换工作目录不会迁移已有对话;应先启用目标 Worktree,再新建对话。
- 删除前必须切回主检出。删除工作目录后保留 Git 分支,避免误删提交。
- 非 Git 目录、重复分支、越界路径和异常符号链接会被拒绝;磁盘上丢失的 Worktree 会标记为不可用。

主题与外观
@deepseek-ai/dsh-theme-pack Profile Bundle 提供默认的 professional-blue 和可选的 anime-blue。正式产品也支持本地自定义主题的新建、导入、预览、编辑、导出和删除。
本地主题只能使用安全的颜色与外观设置,不能注入原始 CSS、远程图片或修改应用名称。个人背景、明暗模式和透明度可以独立调整。

插件中心
普通用户从左侧“插件”页面安装 DSH Profile Bundle:
- 输入带精确版本的 npm 包,或带完整 commit 的
dsh-external仓库地址。 - 先运行兼容性检查;只有结果为“可以安装”时才能写入当前 Profile。
- 安装后查看 Bundle 的来源、版本、加载顺序和能力,用户安装的 Bundle 可以卸载。
Tool、Skill、MCP、Hook 等 Host Bundle 可以进入 DSH 运行时。包含第三方 Client UI 的 Bundle 目前不会进入拥有 Electron 权限的主窗口;随应用提供并经过审核的 Client Bundle 不受此限制。

与 DSH 官方 Web 的关系
DeepSeek Harness Desktop App 不是 DSH Web 的 iframe,也没有复制一套 Agent 运行时。Electron 启动 DSH Web Profile,并继续使用同一套 Session、Agent、Tool、Skill、MCP、Settings、Profile Bundle 和 Client Loader。DeepSeek Harness Desktop App 在同一运行链上提供自己的桌面外壳,并增加项目管理、文件授权、Browser Workspace、Git Worktree、Canvas、Site 和 Office 产物。
需要模型使用的产品能力通过绑定 Session 和 DSH Tool 接入;项目数据、文件权限、网页、Worktree 和产物版本仍由 DeepSeek Harness Desktop App 管理。
当前边界
- 当前没有五列任务看板、独立定时任务页面、Git 图谱、stage/unstage 面板或独立终端页。
- 本地 Site 只提供预览和单文件导出,没有部署服务;公开分享目前只有只读查看。
- 当前没有移动端远程控制、二维码配对、公网隧道、SSH、SFTP 或端口转发。
- 子 Agent 可以执行并出现在对话与轨迹中,但还没有完整的独立管理页。
数据与安全
Profile、Session、项目、运行记录和产物数据默认保存在本机 ~/.dsh。项目源码目录默认只读,Agent 写入需要用户明确授权。
完整规则见 PRIVACY.md、SECURITY.md 和 THIRD_PARTY_NOTICES.md。
平台状态
| 平台 | 当前状态 |
|---|---|
| macOS Apple Silicon | 开发与目录包已验证 |
| macOS Intel | Rosetta 检查通过,仍需 Intel 实机验收 |
| Windows x64 | 已接入构建流程,仍需安装包实机验收 |
| Windows arm64 | 暂不支持 |
| Linux | 暂无桌面打包配置 |
许可证
项目代码使用 MIT License。第三方依赖与二进制文件的来源、许可证和分发限制见 THIRD_PARTY_NOTICES.md。
收录徽章
[](https://deepseek-plugin.org/plugins/vibeinging/deepseek-harness-desktop-app)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

