vibeinging/deepseek-harness-desktop-app
项目介绍Project Overview
DSH Desktop 是基于官方 DSH Web 的 Electron 桌面发行版,固定官方 npm 运行时并预置社区 Bundle、离线 Profile、Git Worktree、文件附件与窄原生能力。核心是通过桌面适配层在官方 Web 中加载插件市场、任务看板和工作区工具。适合需要桌面原生能力、可复现默认插件组合与清晰权限边界的用户。注意:桌面专属 Bundle 依赖窄 Host 合同,离开本桌面环境将无法使用。
DSH Desktop is an Electron distribution wrapping the official DSH Web runtime, bundling curated community plugins, offline Profile initialization, Git Worktree, file attachments, and a narrow native host. It loads a default plugin marketplace, task board, and workspace tools inside the official web interface through desktop-adapter bundles. Suitable for users needing desktop-native capabilities with reproducible defaults and explicit permission boundaries. Note: desktop-adapter bundles depend on the narrow host contract and will report missing capabilities outside this distribution.
请帮我了解并安装插件:【deepseek-harness-desktop-app】【https://github.com/vibeinging/deepseek-harness-desktop-app】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:vibeinging/deepseek-harness-desktop-app
把 vibeinging/deepseek-harness-desktop-app 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
DSH Desktop
把官方 DSH Web、社区插件和桌面能力装进一个开箱即用的应用。
对话、文件、Git、终端、任务、Worktree 与插件市场,都运行在同一个 DSH Profile 中。
DSH Desktop 是一个社区维护的桌面发行版。它直接运行官方 DeepSeek Harness npm 运行时与官方 dsh-web-app,并预装一组经过固定和验证的社区 Bundle。你不需要先搭环境、找插件或维护另一套插件状态,打开应用即可从同一个 Profile 开始工作。
下载
| 平台 | 安装方式 | 状态 |
|---|---|---|
| macOS Apple Silicon | 下载 .dmg,拖入“应用程序” |
Developer ID 签名并完成 Apple 公证 |
| Windows x64 | 下载 .exe 安装器 |
以当前 Release 页面提供的产物为准 |
| macOS Intel / Linux | 暂无正式安装包 | 可以从源码运行 |
打开就能用
官方对话与 Agent主窗口就是官方 DSH Web。Session、Agent、Tool、Skill、MCP、设置和历史由 DSH 自己管理,没有第二套 Chat 页面。 |
Better Sidebar 工作台内置文件树、代码与 Markdown 编辑、Git、终端、网页与扩展 Tab。0.16.0 支持多仓库、Worktree、Vue 文件和本地 Markdown 图片。 |
插件市场在官方设置页里发现、安装、更新、停用和卸载插件。界面、CLI 和应用重启都以同一个 Profile 为准。 |
任务、附件与 Worktree任务看板、文件和文件夹附件、Git Worktree、项目工具、Office 与结构化结果都由独立 Bundle 提供,可以按需组合。 |
桌面 Host 与恢复应用负责窗口、原生文件选择、更新、启动和恢复。正式安装包发现新版本时先询问,再下载、预检 Profile 并安装;Profile 或 Client 出错时进入恢复页。 |
可复现的默认环境新 Profile 从随包固定产物离线初始化;普通启动不重写已有 Profile,也不会把用户卸载的插件悄悄装回来。 |
界面
对话、问题卡片与审批

对话、工具审批、问题卡片、排队消息和历史回放都留在官方 Session 中。
官方设置里的插件市场

插件市场使用官方设置 Slot,不替换设置页面,也不另建插件数据库。
Git Worktree 工作区

从当前 Session 的工作目录创建隔离 Worktree,并为新工作区建立官方 Session。
为什么选择这条路线
| 你关心的事 | DSH Desktop 的做法 |
|---|---|
| 是否依赖私有前端 | 直接加载官方 Web 与 npm 运行时,不维护私有 Chat 分叉 |
| 社区插件能否直接使用 | 普通 UI、Tool 和工作流继续使用官方 Bundle、Service 与 Slot |
| 插件状态会不会错乱 | 官方 Profile 是唯一权威;市场、设置和 CLI 操作同一份数据 |
| 默认插件是否可靠 | 固定版本、完整性、权限、依赖和许可证,并保留离线安装产物 |
| 原生能力是否过大 | 文件、窗口和 Browser Workspace 只通过按 Session 绑定的有限方法开放 |
| 启动会不会覆盖配置 | 已有 Profile 保持用户选择;失败时保留原 Profile 并进入恢复页 |
| 应用更新会不会改插件 | 更新前只读预检 Profile;不恢复用户已停用或卸载的 Bundle |
Electron 在这里是一层很薄的桌面 Host。真正的 Agent、会话和插件系统仍属于 DSH;项目自己的功能也尽量拆成 Bundle。这样,portable 插件可以同时安装到兼容的官方 Web 和 DSH Desktop,桌面专属能力才使用明确的 desktop-adapter。
开始使用
- 从 Releases 下载适合的平台安装包。
- 启动应用,选择一个工作目录或直接创建会话。
- 在侧栏打开文件、Git 或终端;在输入框添加文件和文件夹。
- 需要更多能力时,打开“设置 → 插件市场”。
模型凭据由 DSH 设置与本地环境管理。项目不会把 API Key 写入 README、截图或插件清单。
安装更多插件
普通用户直接使用“设置 → 插件市场”。插件市场会显示来源、版本、兼容性和权限;安装前仍应查看上游说明,市场可见不等于本项目已经审查或默认内置。
也可以使用官方 CLI 操作同一个 Profile:
dsh plugin --profile web add -w <package>@<exact-version> --save-exact --ignore-scripts
dsh plugin --profile web remove <package>
符合官方 DSH Bundle 与 dshClient 合同的插件,不需要专门为 DSH Desktop 重写。需要窗口、原生文件对话框或 Browser Workspace 的插件,则要显式使用 DSH Desktop 的窄 Host 合同;在其他宿主中缺少这些能力时应直接报告。
默认插件
新 Profile 默认包含 Better Sidebar、dshmarket、任务看板、附件输入、Git Worktree,以及项目、Canvas、Office、结构化结果和模型继承等能力。所有可管理 Bundle 都能被停用或卸载。
查看新 Profile 默认安装的 14 个 Bundle
| 默认 Bundle | 类型 | 声明权限 | 官方管理方式 | 来源 |
|---|---|---|---|---|
@vibeinging/dsh-work-product-host-ipc |
desktop-adapter | dsh-work-parent-ipc、browser-workspace-host、file-dialog-host、window-host | 桌面基础服务,不提供卸载 | 本地包 |
@vibeinging/dsh-desktop-profile-host |
desktop-adapter | dsh-profile-filesystem、controlled-pnpm-runtime、dsh-cli-runtime | 桌面基础服务,不提供卸载 | 本地包 |
@vibeinging/dsh-desktop-chrome |
desktop-adapter | 无 Host 权限 | dsh plugin --profile web remove @vibeinging/dsh-desktop-chrome |
本地包 |
@vibeinging/dsh-project-tools |
desktop-adapter | product-host | dsh plugin --profile web remove @vibeinging/dsh-project-tools |
本地包 |
@vibeinging/dsh-canvas-tools |
desktop-adapter | product-host | dsh plugin --profile web remove @vibeinging/dsh-canvas-tools |
本地包 |
@vibeinging/dsh-structured-ui-tools |
desktop-adapter | product-host | dsh plugin --profile web remove @vibeinging/dsh-structured-ui-tools |
本地包 |
@vibeinging/dsh-model-inheritance |
portable | 无 Host 权限 | dsh plugin --profile web remove @vibeinging/dsh-model-inheritance |
本地包 |
@vibeinging/dsh-product-bridge |
desktop-adapter | product-host | dsh plugin --profile web remove @vibeinging/dsh-product-bridge |
本地包 |
@vibeinging/dsh-office-tools |
desktop-adapter | office-artifact-host | dsh plugin --profile web remove @vibeinging/dsh-office-tools |
本地包 |
@vibeinging/dsh-client-ui-worktree |
portable | 无 Host 权限 | dsh plugin --profile web remove @vibeinging/dsh-client-ui-worktree |
本地包 |
@linxin666/dsh-client-ui-task-board |
portable | 读取当前 DSH Session、Workspace 与完成历史、在 DSH_HOME 写入任务账本和执行记录、按用户操作或 Host cron 启动 DSH Session 任务、可选启动固定的跨平台防休眠 helper | dsh plugin --profile web remove @linxin666/dsh-client-ui-task-board |
上游仓库 |
dsh-multimedia-webui-input |
portable | 读取用户主动选择的文件和文件夹、向当前 Session 工作区的 .dsh/tmp/attachments 写入附件、按用户二次确认清理带插件所有权标记的附件目录 | dsh plugin --profile web remove dsh-multimedia-webui-input |
上游仓库 |
dsh-better-sidebar |
portable | 读取、搜索、创建、修改和删除当前 Session 工作区文件、在当前 Session 工作区执行 Git 操作、启动和停止本地终端进程;模型终端工具默认关闭、打开用户输入的网页或外部编辑器,并接收用户主动上传的文件、用户开启后向模型注册 sidebar_open 工具,用于在当前会话侧栏打开工作区文件、文件夹或 HTTP(S) 页面;默认关闭 | dsh plugin --profile web remove dsh-better-sidebar |
上游仓库 |
dshmarket |
portable | 读取和修改当前 DSH Profile 的依赖、Bundle 顺序和启停状态、通过受控 pnpm 安装、更新和卸载用户确认的插件、访问插件目录、npm、GitHub 以及用户配置的 WebDAV 或 Gist、导出或导入包含 Profile 配置的备份 | dsh plugin --profile web remove dshmarket |
上游仓库 |
插件选择、权限和离线边界见插件市场选择与桌面接入。
从源码运行
需要 Node.js 24 或更高版本:
git clone https://github.com/vibeinging/dsh-desktop.git
cd dsh-desktop
npm install
npm run doctor
npm run dev:electron
本地构建 macOS Apple Silicon App:
npm run package:mac:dir
open "release/mac-arm64/DSH Desktop.app"
本地目录包用于开发;面向普通用户的签名安装包以 GitHub Release 为准。
数据与权限
- Profile、Session 和本地运行数据默认保存在
~/.dsh; - 官方 Web 没有产品 preload、Node 权限或通用 IPC;
- 文件与目录只有在用户主动选择或插件已声明权限时才进入当前 Session;
- 插件启动失败不会静默修改原 Profile;恢复页可重试、安全启动、移除问题插件和导出过滤后的诊断;
- 正式安装包从本项目公开 GitHub Release 检查更新,用户确认后才下载和安装;
- 第三方 Bundle、原生二进制与视觉资产各自遵守上游许可证和再分发条件。
与其他社区桌面项目的区别
DSH Desktop 选择“官方 Web 单一界面 + 官方 Profile 单一权威 + 精选社区 Bundle + 窄 Native Host”。它不追求再做一套完整前端,而是把桌面体验做成 DSH 插件生态的一个可靠发行组合。
DSH Desktop by anywhere-labs 是另一个独立社区桌面发行版,更强调完整桌面 Shell 与跨平台客户端体验;dataelement/dsh-desktop 也是独立社区项目。三个项目的代码、发行和路线互不从属,用户可以按界面、插件方式和平台产物选择。
相关项目
| 项目 | 关系 |
|---|---|
| DeepSeek Harness | Agent、Session、Tool、Skill、MCP、Profile 与官方 Web 运行时 |
| Cordis | 插件化基础 |
| DSH Better Sidebar | 默认工作区侧栏、编辑器、Git 与终端 |
| dsh-market | 默认插件市场 |
| dsh-web-ui | 默认任务看板的上游社区仓库 |
| dshfind | DSH 学习、分享与插件发现社区 |
与 DeepSeek Harness 的关系
DSH Desktop 是基于 DeepSeek Harness 与 Cordis 插件体系构建的独立社区项目。“DeepSeek Harness”仅用于说明兼容性和技术来源。本项目与深度求索不存在隶属、合作、授权或背书关系。
许可证
项目代码使用 MIT License。第三方组件、固定 tarball、原生二进制和视觉资产的来源与分发条件见 THIRD_PARTY_NOTICES.md。
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/distilly
titanwings/colleague-skill