by vibeinging
DeepSeek Harness Desktop App: a local AI desktop workspace for DSH Sessions, projects, files, web research, plugins, and Office artifacts.
# Add to your Claude Code skills
git clone https://github.com/vibeinging/dsh-desktopLast scanned: 8/23/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-23T04:35:09.806Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}dsh-desktop is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by vibeinging. DeepSeek Harness Desktop App: a local AI desktop workspace for DSH Sessions, projects, files, web research, plugins, and Office artifacts. It has 621 GitHub stars.
Yes. dsh-desktop passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/vibeinging/dsh-desktop" and add it to your Claude Code skills directory (see the Installation section above).
dsh-desktop is primarily written in JavaScript. It is open-source under vibeinging on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh dsh-desktop against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
DSH Desktop 是社区维护的 Electron 发行版。它固定并运行官方 DeepSeek Harness npm 运行时,把 dsh-web-app、Session、Agent、Tool、Skill、MCP 与 Profile Bundle 组成可直接运行的本地桌面环境。项目不修改 DSH 源码,不另存一套插件状态,也不用私有 Chat 替换官方 Web。
这个仓库做的是“桌面发行层”:从社区中选择值得默认安装的 Bundle,固定它们的来源、版本、依赖、权限和许可,然后在真实 Profile 与 Electron 中验证安装、停用、卸载、重启和恢复。用户得到的不是一堆手工配置,而是一个可组合、可移除、可复现的 DSH 工作台。
| 原则 | 产品承诺 | 直接收益 |
|---|---|---|
| 官方 Web 是唯一主界面 | 主窗口直接加载官方 Client 图,桌面能力也以 dshClient Bundle 加入 |
跟随 DSH 会话、设置与 Slot 演进,不等第二套界面重写 |
| Profile 是插件状态的唯一权威 | 市场、设置和 CLI 读写同一个 Profile;更新不补回用户已卸载的 Bundle | 不会出现“页面说已安装,DSH 实际没加载”的双状态 |
| 社区实现优先 | 任务看板、插件市场和附件输入直接采用独立社区 Bundle | 社区插件可同时服务官方 Web 与桌面发行版,不被锁在本项目里 |
| 默认组合可复现 | 新 Profile 从固定 tarball、SHA-256 和随包 pnpm 离线原子初始化 | 无需临时从 npm 拼装默认环境,安装失败不会留下半个 Profile |
| 原生能力按最小权限开放 | 窗口、文件、Browser Workspace 和更新只通过 Session 绑定的方法白名单暴露 | 第三方 Client 不能直接获取 Electron、Node 或通用 IPC |
| 失败必须可诊断、可恢复 | Profile 或 Client 启动失败时进入本地恢复页,保留原 Profile | 不用白屏、无限重启或静默改配置掩盖问题 |
这套路线适合想使用官方 DSH Web,同时需要社区插件、桌面原生能力、可控默认组合和清晰权限边界的用户与插件作者。
flowchart LR
A[Electron 桌面壳] --> B[官方 DSH 运行时]
B --> C[web Profile]
C --> D[官方 dsh-web-app]
C --> E[社区与 portable Bundles]
C --> F[desktop-adapter Bundles]
F --> G[窄 Native Host]
G --> H[macOS / Windows]
官方 DSH 运行时负责 Agent、Session、Tool、Skill、MCP、Profile 和 Web UI。社区与 portable Bundle 只使用公开 DSH 服务,因此可安装到兼容的官方 Web Profile。desktop-adapter Bundle 才能调用桌面 Host,而且只能使用已声明、按 Session 绑定的有限方法。
这个分层使“在官方 Web 中可用”和“在 DSH Desktop 中可用”不再是两套插件体系:普通 UI、Tool 和工作流优先保持 portable,只有文件对话框、窗口或内置浏览器等操作系统能力需要桌面适配。

会话、问题卡片、工具审批、消息排队和历史回放都留在官方 Session 中。截图使用真实 DeepSeek-V4-Flash 对话;密钥只注入当次临时进程,不写入 Profile 或截图。

在“设置 → 插件市场”中可以搜索、查看兼容性与权限,并对当前 Profile 执行安装、更新和卸载。市场是普通 Client Bundle,不替换官方设置容器。

Git Worktree Bundle 从当前 Session 的 cwd 识别主检出,在侧边栏和工作区中管理隔离 worktree,并为新工作区创建官方 Session。它只使用 DSH Workspace 与 Slot,可作为独立 portable Bundle 安装或移除。
从 GitHub Releases 下载 macOS Apple Silicon 安装包。该版本使用 Developer ID 签名并完成 Apple 公证,已经包含官方 DSH npm 运行时和默认 Bundle,不需要另外安装或修改 DSH 源码。Windows x64 安装包仍在完成真实打包验收,本次版本暂不提供。
.dmg,打开后将 DSH Desktop 拖入“应用程序”;需要 Node.js 24 或更高版本:
git clone https://github.com/vibeinging/dsh-desktop.git
cd dsh-desktop
npm install
npm run doctor
npm run dev:electron
npm run package:mac:dir
open "release/mac-arm64/DSH Desktop.app"
该命令生成本地未签名 App,只用于开发。面向用户的安装包以 GitHub Release 页面为准。
DSH Profile 是插件状态的唯一权威。新 Profile 通过官方 dsh plugin --profile web 原子安装默认 Bundle;已有 Profile 在应用更新时保持只读,不会补回、删除或重写用户选择。用户停用或卸载的 Bundle 在重启和升级后仍保持停用或卸载。
普通用户可以直接打开“设置 → 插件市场”。命令行使用同一套 Profile:
dsh plugin --profile web add -w <package>@<exact-version> --save-exact --ignore-scripts
dsh plugin --profile web remove <package>
新 Profile 默认安装固定的 dshmarket@1.17.1。发行包携带经过审查的固定 tarball、完整运行依赖闭包和 SHA-256;默认初始化不需要 npm 网络,也不执行上游生命周期脚本。浏览市场会访问社区目录,安装与更新可能访问 npm 或 GitHub;WebDAV 和 Gist 只有用户主动配置后才会使用。市场内展示的插件并不等于已经内置或通过发行审查。
新 Profile 也默认安装 dsh-multimedia-webui-input@0.1.0。它通过官方 conversation.input.left、conversation.input.dock、conversation.input.overlay 和 settings.section Slot 增加文件/文件夹选择按钮;文件只在发送时复制到当前 Session 工作区。官方 DSH 继续负责图片粘贴和拖拽,内置版去掉上游通用拖拽监听,防止图片被两条通道重复接收。它不修改官方 Chat,也不取得 Electron 或通用 IPC。与其他附件输入插件同时启用可能出现重复按钮或重复上传,默认 Profile 只保留这一套附件入口。
桌面侧的 @vibeinging/dsh-desktop-profile-host 只提供 desktopProfiles 和 desktopPnpm 两个公开结构服务。市场把用户确认的操作交给随包 pnpm 和官方 DSH CLI;它不能自行取得 Electron 权限或重启应用。
| 级别 | 用户体验 | 发行版责任 |
|---|---|---|
| 市场可发现 | 用户在市场中查看并主动安装 | 市场展示不等于本发行版审查、内置或背书 |
| 已记录候选 | 目录会显示兼容性、权限、冲突和已知阻塞 | 固定上游来源和审查结论,但不进入默认 Profile |
| 随包但可选 | 无网络也能从本地固定产物安装 | 保留许可证、哈希、依赖和安装/卸载证据 |
| 随包且默认 | 新 Profile 原子安装,用户仍可停用或卸载 | 在当前 DSH、源码 Profile、打包 Electron、断网启动和卸载恢复中逐项验证 |
这个分级把“社区里存在”、“可以自行安装”和“适合作为发行默认值”分开。新增默认 Bundle 不会被应用更新静默补到旧 Profile,已有用户始终保留自己的组合。
| 默认 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 |
上游仓库 |
dshmarket |
portable | 读取和修改当前 DSH Profile 的依赖、Bundle 顺序和启停状态、通过受控 pnpm 安装、更新和卸载用户确认的插件、访问插件目录、npm、GitHub 以及用户配置的 WebDAV 或 Gist、导出或导入包含 Profile 配置的备份 | dsh plugin --profile web remove dshmarket |
上游仓库 |
DSH Desktop 按能力边界识别两类 Bundle:
portable Bundle 只使用官方 DSH 服务,可以安装到兼容的官方 Web Profile;desktop-adapter Bundle 使用 DSH Desktop 提供的窄 Host 合同,离开桌面宿主时应直接报告缺少能力。与当前官方 DSH Web 兼容的标准 Bundle 可通过市场或官方 CLI 安装,不需要为 DSH Desktop 重写。需要窗口、文件对话框或 Browser Workspace 的插件,则显式声明对桌面 Host 的依赖;能力缺失时直接报告,不伪装成可用。
插件作者可从 packages/ 中的独立 Bundle 参考官方 Slot、Host 合同和打包方式。插件市场接入、权限和离线边界见插件市场选择与桌面接入。