DSH Desktop
中文 | English
第三方 DSH 桌面客户端。使用官方 Web UI,支持后台运行、系统通知、运行时切换和内置安全市场。
DSH Desktop 是独立的 DeepSeek Harness(dsh)Electron 客户端。窗口直接加载官方 Web UI;桌面端负责运行时启动与连接、托盘、通知、更新和安全控制。
[!IMPORTANT] 这是社区维护的非官方项目。 本项目不是 DeepSeek 官方产品,也不代表 DeepSeek。
DeepSeek、DeepSeek Harness、dsh及相关名称和标识归各自权利人所有。
安装包内置固定版本的官方 @deepseek-ai/dsh 运行时。普通用户不需要安装 Node.js、pnpm 或 dsh CLI。桌面客户端和官方运行时使用不同版本号,连接设置会同时显示这两个版本。

主要功能
- 关闭窗口后继续在后台运行,可从托盘或菜单栏重新打开。
- 直接使用官方 Web UI,不维护另一套界面。
- 安装包内置官方运行时,可直接启动。
- 可复用正在运行的 dsh,也可使用 PATH、npx 缓存或内置运行时。
- 可选择与 CLI 共享
~/.dsh,或使用桌面端独立数据环境。 - 内置安全市场。市场默认关闭,开启后才联网;安装前由 Agent 审查代码。
- 更新包安装前校验 SHA-256。
- Electron 窗口启用沙箱和上下文隔离,并限制导航与权限。
快速开始
下载安装
从 GitHub Releases 下载对应系统的安装包。发布版已经包含官方 dsh 运行时,首次启动不会执行 npm 安装。
当前安装包尚未完成正式开发者签名认证,首次打开时系统可能拦截。
首次打开被系统拦截时
macOS:将应用拖入“应用程序”并打开。然后前往“系统设置 → 隐私与安全性”,点击“仍要打开”。
如果系统提示“已损坏,无法打开”,并且没有“仍要打开”按钮,可在终端执行:
xattr -dr com.apple.quarantine "/Applications/DSH Desktop.app"Windows:在 Microsoft Defender SmartScreen 中点击“更多信息”,再点击“仍要运行”。
开始对话
- 首次启动时输入 API Key,或选择“稍后配置”。
- 没有 Key 时,可打开 https://platform.deepseek.com/api_keys 创建。账户、余额和费用由 DeepSeek 开放平台管理。
- 根据需要选择 Agent 预设或模型。
- 需要访问文件时,先添加项目文件夹。
- 新建会话并发送任务。
[!TIP] 全新数据目录可能默认显示英文。可在 Settings → General → Language 中切换语言。
连接方式
| 模式 | 行为 |
|---|---|
| 智能模式(默认) | 按顺序尝试:正在运行的官方实例 → PATH 上的 dsh → npx 缓存 → 内置运行时。 |
| 自定义 | 连接指定的 Web UI 地址,不启动本地运行时。 |
智能模式只使用本机已有的运行时,不下载或安装 Node.js。连接设置可关闭任一来源,但至少保留一种。来源选择先暂存,点击“应用并重新连接”后生效;也可撤销未应用的更改。
客户端启动本地服务时,自动尝试 3080、13080,再使用系统分配的端口。也可以设置固定端口。固定端口被占用时不会自动换端口。
如果本机已有官方实例运行,但当前设置不允许复用,客户端不会另起进程,也不会结束用户启动的进程。请先在终端停止该实例。
可从托盘菜单、macOS 应用菜单或主窗口快捷键打开“桌面设置”:macOS 使用 Cmd+,,Windows/Linux 使用 Ctrl+,。

连接状态说明:
| 状态 | 含义 |
|---|---|
| 本机已运行 | 复用用户启动的实例 |
| 客户端启动·客户端内置 | 使用安装包内置运行时 |
| 客户端启动·npx 缓存 | 使用 npx 缓存运行时 |
| 客户端启动·本机已安装 | 使用 PATH 上的 dsh |
| 自定义地址 | 连接指定地址,不启动运行时 |
官方 dsh 目前主要面向本机使用,默认监听 127.0.0.1,并拒绝 0.0.0.0。远程或容器实例不属于官方支持场景。若通过 SSH 隧道等方式连接,请使用可信网络和 HTTPS。
运行时选择、端口和认证细节见开发指南。
数据与安全
| 数据 | 默认位置 | 管理方 |
|---|---|---|
| 共享环境的会话、凭据、模型配置和插件 | ~/.dsh |
官方 dsh |
| 桌面端设置、命令 shim 和更新下载 | ~/.bruc3van-dsh-desktop |
桌面客户端 |
| 独立环境的会话、凭据、模型配置和插件 | ~/.bruc3van-dsh-desktop/dsh |
官方 dsh |
设置中的“数据环境”可以在共享环境和桌面端独立环境之间切换,重启后生效。切换不会复制原环境中的会话或插件。
旧版 ~/.dsh-desktop 会在新目录不存在时迁移到 ~/.bruc3van-dsh-desktop。移动失败时会复制数据并保留旧目录。
主要安全措施:
- 只使用公开的
dsh webCLI 和/api协议。 - Electron 启用沙箱和上下文隔离,关闭 Node 集成。
- 页面导航限制在当前 Web UI 源站,外部链接使用系统浏览器打开。
- 打包版本不允许环境变量覆盖更新源、数据目录或连接探测设置。
- 更新清单和安装包文件名会进行校验,安装包会校验 SHA-256。
- 本机 Web UI 和自定义远程地址使用不同权限策略。跨域子框架、USB/HID/串口、定位、屏幕捕获和存储权限升级默认拒绝。
- 安全市场默认关闭,开启后才联网。
Windows 安装版支持系统通知。Linux 使用 Chromium 通知。当前 macOS 包没有正式签名,因此系统通知会降级为 Dock 角标、Dock 弹跳和应用内提醒。
使用本客户端仍需遵守 DeepSeek、模型提供方和所连接服务的条款与隐私政策。API Key、模型请求、费用、生成内容以及 Agent 对本机文件和命令的操作由用户和对应服务负责。
桌面端行为
- 关闭主窗口后继续后台运行;从托盘或菜单栏可重新打开。
- “重启客户端”会重启客户端管理的本地运行时,不会结束用户在终端启动的
dsh web。 - 本地 Web UI 意外退出时会进行有限次数的重启。
- 系统唤醒或长时间后台运行后,页面异常时会在服务可用后重新加载。
- 智能模式复用的实例失联时,可回退到其他已启用来源。自定义地址失败时不会自动切换。
- 同一
DSH_HOME不会同时启动两个写入进程。无法安全接管或停止旧进程时,客户端会拒绝启动新进程。 - 共享环境因插件失败而无法启动时,可卸载确认存在的问题插件后重试,或保留插件并切换到独立环境。
发布版启动后会检查 GitHub Releases,12 小时内不重复自动检查。也可从设置、托盘菜单或 macOS 应用菜单手动检查。更新窗口显示下载、校验和安装状态;下载失败可重试,关闭窗口后下载可以继续。
macOS 可在应用目录可写时自动替换并重启应用。更新失败时会尝试恢复旧应用。更新会中断客户端管理的本地任务,请选择合适的时间执行。
内置运行环境
- 安装包提供
node、dsh和pnpm,路径为~/.bruc3van-dsh-desktop/bin。用户自行安装的版本仍优先使用。 - 该目录不提供
npm或npx。需要这些命令时,请安装 Node.js,或连接自行维护的运行时。 - 客户端不会把内部的
ELECTRON_RUN_AS_NODE设置传给 Agent 命令。 - 应用未启用 macOS App Sandbox。Agent 的文件权限与当前用户进程相同,访问受保护目录时可能出现系统授权提示。
- 内置运行时随客户端发布,不能单独升级。
内置安全市场
安全市场随安装包发布,可用于客户端启动的运行时,也可在复用本机实例时接入。自定义地址不接入市场。
市场默认关闭。开启后才会读取目录,并缓存上一次成功获取的数据。关闭市场会移除市场插件,之后启动时不会自动装回。

市场目录来自 awesome-dsh-plugin:
- 每日采集带
dsh-plugin标签的仓库。 - 排除已归档、停用或不符合收录条件的项目。
- 使用人工维护的排除名单,并在展示前再次校验数据。
“安全安装”不会直接执行安装命令。它会在新会话中填入安全审查提示词,但不会自动发送。用户确认发送后,Agent 检查凭据访问、数据外传、远程代码执行、安装脚本、混淆文件和权限范围。确认后才使用官方命令安装。
收录不代表安全背书。安装前仍需查看审查结果。

已安装插件可以查看版本、启用、停用或卸载。已安装但未加载的插件也会显示。

市场与当前运行时不兼容时,客户端会停止接入市场,不影响其他插件。更完整的配置、目录协议和限制见安全市场仓库。
常见问题
Q:这是浏览器套壳吗?
窗口加载官方 Web UI,但客户端还负责运行时管理、连接、托盘、通知、权限控制和更新。项目不维护另一套产品界面。设计说明见架构文档。
Q:与直接在浏览器访问 Web UI 有什么区别?
浏览器方式通常需要用户安装 Node.js、启动 dsh web 并保持终端运行。桌面客户端内置运行时,可在后台管理服务,并提供托盘、通知、连接设置和应用内更新。
Q:如何使用最新的官方 dsh?
智能模式可以复用用户已更新的本机实例,也可以连接自行维护的 Web UI。内置运行时固定为客户端发布时的版本,通过客户端更新升级。
Q:安全市场会自动安装插件吗?
不会。市场默认关闭。“安全安装”只填写审查提示词,不自动发送或安装。安装前需要用户确认。
相关项目
- awesome-dsh-plugin:安全市场的目录数据来源。每日采集插件仓库并维护排除记录。
- dsh-desktop-safe-market:本客户端内置安全市场的实现。
- deepseek-harness:官方 dsh 和 Web UI 的上游项目。
许可证
MIT 许可证只适用于本仓库维护的代码和素材。官方 @deepseek-ai/dsh 及其他第三方依赖使用各自许可证。“DSH”仅用于说明兼容对象,不表示官方关系。
还没有评论,来写第一条。