
bruc3van/dsh-desktop
dsh-desktop
dsh-desktop is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:bruc3van/dsh-desktopRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/bruc3van-dsh-desktop)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from bruc3van/dsh-desktop, cleaned of badges and images.
DSH Desktop
中文 | English
一款主打安全且更尊重开发者的第三方 DSH 桌面客户端。官方 Web UI ,长任务常驻托盘,支持通知推送;内置安全市场,600+精选插件支持先审查、再安装。
DSH Desktop 是一个独立的 DeepSeek Harness(dsh)Electron 客户端。窗口里呈现的是官方 Web UI 本体——不是仿制版,官方产品什么样,窗口里就是什么样;而真正的工程投入都在窗口之外:关闭窗口任务照跑、托盘常驻随点随开、Agent 跑在经过治理的执行环境里、插件安装走「先审查、再安装」的内置市场、连接与更新链路逐层加固。
[!IMPORTANT] 这是社区维护的非官方第三方项目。 本项目并非 DeepSeek 官方产品,不由 DeepSeek 开发、发布、背书或提供支持,也不代表 DeepSeek 的立场。
DeepSeek、DeepSeek Harness、dsh及相关名称、标识和商标归其各自权利人所有。桌面客户端的问题请提交到本仓库,不要联系 DeepSeek 官方支持。
发布安装包内置固定版本的官方 @deepseek-ai/dsh 运行时;普通用户无需另外安装 Node.js、pnpm 或 dsh CLI。桌面外壳、安装包、连接增强与发布签名均由本项目独立负责,不属于官方运行时的一部分。桌面客户端与官方 dsh 使用各自独立的版本号;应用的连接设置页会同时显示两个版本号,便于排查兼容问题。
为什么值得使用
先说清楚我们为什么这样做。Harness 的使用形态正在从「对话」变成「委派长任务」,而长任务的痛点全在窗口之外:任务跑着的时候不敢关标签页、关掉终端服务就停、Agent 的执行环境里找不到 node 和你 shell 里配好的工具、一个有文件读写权限的进程更新链路却裸奔。界面本身反而是最不需要重做的部分——官方 Web UI 一直在快速演进,用户要的正是它原封不动。
因此本项目把界面完整交还给官方,把全部工程投入放在窗口之外:常驻与长任务、Agent 执行环境、内置安全市场、安全加固、连接与更新。 这样做的好处是天然成立的:
| 用户需要什么 | 我们的做法 |
|---|---|
| 长任务不被终端和浏览器标签页绑架 | 关闭窗口不退出应用,服务继续后台运行;托盘常驻,随点随开 |
| Agent 要跑在你自己的环境里 | 优先复用你的实例 / PATH 上的 dsh / npx 缓存包;macOS 对齐登录 shell 的 PATH;node 始终可用 |
| 安全与隐私是底线 | 小边界 + 逐层加固:只用公开接口;更新链路防劫持;权限最小化 |
| 装插件之前想知道它安不安全 | 内置安全市场:目录每日自动采集 + 人工精选,安装前先由 Agent 审查代码 |
| Harness 的全部能力,一个都不能少 | 窗口里就是官方 Web UI 本体,不用重写界面 |
| 官方新功能要当天可用 | 跟进速度与自己的发版解耦:智能模式复用你已有的最新 dsh;内置运行时只是回退 |
| 装好就能用,不折腾环境 | 安装包自带官方运行时:不用装 Node.js、不用敲命令,双击即用 |
| 工作要在终端与桌面之间延续 | 智能模式与 CLI、浏览器共享 ~/.dsh;固定地址模式连接你自行维护的 Web UI 地址 |
这些落到产品上:
- 长任务常驻桌面。 关闭窗口不等于中断任务:应用驻留在托盘 / 菜单栏,Harness 服务继续在后台运行,随点随开;本地服务意外退出有受控重启,系统唤醒或长时间后台导致页面异常时会在确认服务可达后自动恢复。终端窗口和浏览器标签页给不了这层保障。
- Agent 执行环境经过工程治理。 Agent 本质是在你电脑上执行命令的进程,它的环境值得被认真对待:优先复用你正在跑的实例与 PATH 上的
dsh,Agent 跑在你自己的完整 shell 环境里;内置运行时下没装过这些工具的用户也能执行node、dsh和pnpm;ELECTRON_RUN_AS_NODE不会泄漏给 Agent(否则code等 Electron 工具会启动失败);从 Finder/Dock 启动也能找到 Homebrew、~/.local/bin和写在~/.zshrc里的工具。详见内置运行时下的 Agent 执行环境。 - 安全是身份,不是特性列表里的一条。 一个能读写你文件的应用,值得用最保守的方式分发:客户端只用公开的
dsh web接口,不碰官方仓库内部;窗口开沙箱、关 Node 集成、导航锁在官方源站;打包后更新源与数据目录禁止被环境变量劫持;应用内更新下载后先校验 SHA-256 再安装;本机可信 Web UI 放行通知、剪贴板、全屏、媒体与用户主动选择的文件,远程地址保持更窄权限;外链一律交给系统浏览器。详见安全与隐私。 - 安全市场:先审查、再安装。 随安装包发布的内置市场默认关闭、开启后才联网;市场目录来自数据来源仓库的每日自动采集 + 人工精选,「安全安装」不替你执行任何命令,而是把审查提示词交给 Agent 先读代码、确认干净后再用官方命令安装。详见内置安全市场。
- 官方发版,当天就能用上。 窗口加载的是官方 Web UI 本体,不是仿制版。官方界面加功能、改交互,官方文档、教程和快捷键全部对得上,不会出现「教程里有的界面你找不到」;官方一发版,你升级自己已有的 dsh(或等应用内更新推送内置运行时),桌面端零改动、零等待。
- 双击就能用,不用懂命令行。 安装包自带官方运行时,不需要安装 Node.js、pnpm,也不需要敲任何命令;首次启动填一个 API Key 就能开始对话。对小白用户来说这就是全部;懂命令行的话,智能模式、固定地址这些进阶玩法也都在手边。
- 智能模式:复用你正在跑的实例。 依次探测:
127.0.0.1:3080上的官方实例(含~/.dsh/profiles/web/cordis.patch.yml里配置的其他端口)→ PATH 上的dsh→ npx 缓存 → 内置运行时。浏览器、CLI 与桌面端共享同一个 Harness 进程,会话状态实时同步。 - 固定地址:连接你自行维护的 Web UI 地址。 填地址直连,客户端不启动任何运行时;运行时版本、插件与环境完全由你掌控。官方 dsh 目前只面向本机使用——默认监听
127.0.0.1,暴露到网络的0.0.0.0绑定会被明确拒绝(会带来远程代码执行风险),远程或容器内实例并非官方支持场景。 - 运行时状态透明。 五种状态精确区分「谁启动了运行时」(复用你的 / 内置 / npx 缓存 / 本机安装 / 固定地址),并同时显示桌面端与内置 dsh 版本号,排障不用猜。
- 发布流水线自检。 空 PATH 打包冒烟(产物必须真的在用内置运行时)、更新链路夹具、运行环境隔离检查、Win32 选择器补丁、真实请求 e2e——一组门禁脚本拦住「能构建但不能用」的产物。详见开发指南。
快速开始
下载安装
从 GitHub Releases 下载适合当前系统的安装包并启动即可。发布版内置官方 dsh 运行时,不依赖开发环境,也不会在首次启动时执行 npm 安装。
当前安装包尚未经过正式的开发者签名认证,首次打开时系统可能会弹出提示,按下方说明操作一次即可正常使用。
首次打开被系统拦截时
- macOS:把应用拖入「应用程序」后双击打开。系统会提示无法打开,去「系统设置 → 隐私与安全性」,在「安全性」区域点击「仍要打开」,输入密码即可。
…

