DSH Web Profile 的根 Client Bundle,替换官方 DSH Web 可见壳,承载本产品的工作区侧栏、会话和设置界面。
ⓘ 此插件是大仓库 vibeinging/deepseek-harness-desktop-app 的子包,星数与活跃度统计的是整个仓库。
- 语言
- JavaScript
- License
- MIT
- 分支
- dev
安装
$ dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app/packages/dsh-work-shell在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 vibeinging/deepseek-harness-desktop-app/packages/dsh-work-shell:先查看仓库 https://github.com/vibeinging/deepseek-harness-desktop-app.git 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
这个插件把 DSH Web 界面原本由官方负责的可见根替换为「DeepSeek Harness Desktop App」自己的工作区壳——侧栏、对话窗口和设置页都用本产品的样式承载。它必须挂载到 DSH Web Profile 里才能生效,不是单独可运行的程序。
核心能力
- 接管 DSH Web 的可见根:禁用官方 ui-layout / ui-sidebar / ui-conversation / ui-settings-general,改用本产品壳渲染
- 接管侧栏:在产品工作区侧栏底部追加 DSH 插件的页脚动作
- 接管会话窗口:在产品对话区暴露官方会话的「已排队输入」快照(只读)
- 接管设置:注册「常规」分区,集中渲染各插件的设置项(外观/语言/权限等内置项除外)
- 接管主题:把当前主题应用到页面主题色、字体色等
- 提供 layout 服务:响应切换侧栏、打开/关闭详情面板的请求
技术实现
- 语言: TypeScript + JavaScript
- 关键依赖:
@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-slots、@deepseek-ai/dsh-client-ui-layout、react-dom(portal) - 架构模式: Cordis Patch Bundle —— 用
cordis.patch.yml禁用官方 4 个 UI 插件并插入自身;通过ctx.reflect.provide注册 layout 服务,通过ctx.slots.register注册 4 个 slot;用 React Portal 把内容注入产品 DOM - 入口文件:
packages/dsh-work-shell/src/index.js(host 空壳) +packages/dsh-work-shell/src/client/index.tsx(浏览器端实现)
适用场景
DeepSeek Harness Desktop App 在打包发行时,把 DSH Web Profile 的可见壳替换为自己的产品壳,让用户在桌面客户端里看到品牌化的工作区/会话/设置体验,而不是 DSH 默认的官方界面。它必须配合官方 DSH 宿主运行,不是独立可分发的应用。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| Node | ^22.19.0 || >=24.0.0 | package.json#engines 声明的运行时 |
| Cordis | ^4.0.1 | 插件框架 |
| DSH Client locale | ^0.1.0-rc.6 | 语言服务 |
| DSH Client runtime | ^0.1.0-rc.6 | 客户端运行时 |
| DSH Client ui-conversation / ui-layout / ui-sidebar / ui-settings / ui-slots / ui-theme | ^0.1.0-rc.6 | 注入式 UI 模块 |
| DSH Client web-react | ^0.1.0-rc.6 | React 适配层 |
| React / ReactDOM | ^18.2.0 | UI 库 |
| 平台 | Web(macOS / Windows 桌面客户端打包目标) | package.json 中 dsh.client.platform: "web";父仓 Electron 桌面端仅打包 mac 与 Windows |
安装方式
dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app/packages/dsh-work-shell
配置项
本插件无需额外配置——源码中无 Schema、无 process.env 读取、无用户可配置字段,所有行为由 Cordis Patch 与 ClientContext 注入决定。
常见问题
Q: 安装后没看到任何变化?
A: 这个插件只对 DSH Web Profile 起作用,并且必须被 DeepSeek Harness Desktop App 通过 Profile bundle list 挂载。单独安装到通用 DSH Web 上不会让官方 UI 变成产品壳。
Q: 它是独立应用吗?
A: 不是。它是 Profile Bundle,需要 DSH 宿主承载,浏览器 bundle 必须通过 /plugins/<id>/client.js 路由加载,没有独立页面。
Q: 是否会替换掉 DSH 官方功能?
A: 不会替换。它只接管可见根(侧栏/对话/设置),官方运行时、传输、Client 图与特性行都保留,主题与语言状态直接复用官方共享服务。
Q: 能和官方插件共存吗?
A: 它会禁用官方 ui-layout、ui-sidebar、ui-conversation、ui-settings-general 这 4 个内置 UI;其余官方插件按 Profile 列表加载,DSH 官方 Models 等 section 在存在时仍会被渲染。
Q: 交互式输入扩展能用吗?
A: 暂不支持。源码与 README 明确写出「Interactive input and message Slots remain unsupported until they can reuse the same Session command path without introducing a second input or queue owner」,目前只暴露只读的 composer dock 快照。
Q: 卸载后会怎样?
A: 移除后 DSH Web 回退到官方默认 UI(ui-layout/sidebar/conversation/settings-general 重新启用),本插件不在本地持久化任何业务数据,因此不影响其他模块。
上手难度
专家 —— 这是面向 DSH Profile / Cordis Patch / Client Plugin 体系的双面扩展包,需要熟悉 DSH 内部 Slot、ClientContext 与 Profile Bundle 注入机制,普通用户不应直接安装。
已知问题与限制
- 交互式 input 与 message Slot 暂不支持,仅暴露只读的 composer dock 快照(README.md:5 / src/client/index.tsx:127-163)
detailsslot 已在 children 声明(src/client/index.tsx:175),但产品壳未渲染该面板(README.md:5)- App storage 仅作为独立开发时的 fallback,不在发行版生效(README.md:5)
- 浏览器 bundle 必须经由 DSH 的
/plugins/<id>/client.js路由加载,不存在独立页面(README.md:5) - 本包
"private": true,仅能通过 Profile bundle list 挂载,不能独立发布(package.json:5 / README.md:5)
中文 | 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/packages/dsh-work-shell)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

