deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
专为 DeepSeek Harness (DSH) 打造的跨平台桌面控制中心
Desktop Control Center for DeepSeek Harness
"命令行留给极客,工作台交给 Dock。"
📥 下载安装 · 🎯 核心能力 · 🖥️ 运行时与桌面集成 · ⚡ 快速上手 · 🏛️ 架构 · 🗺️ 路线图
DSH(DeepSeek Harness)是 DeepSeek 官方的智能体开发工具链,通过文件驱动架构与 Cordis 插件系统提供强大的 AI 编程和任务编排能力。
DSH Dock 是为 DSH 打造的跨平台桌面客户端与独立控制中心(基于 Tauri v2 + Rust + React 19),补齐官方 CLI 尚未提供的可视化管理体验:
DSH Dock 的四个主模块与应用内导航一一对应,另有一层贯穿全局的壳层能力:
| 模块 | 应用内位置 | 解决什么 |
|---|---|---|
| ① 多工作台管理 | 控制中心 → Profile 列表 |
工作台的创建、克隆、重命名、删除与启动 |
| ② 插件中心 | 控制中心 → 插件中心 |
3,400+ 社区插件的检索与安装 |
| ③ 会话维护 | 控制中心 → 会话维护 |
会话健康巡检与损坏自愈 |
| ④ 系统控制台 | 控制中心 → 系统控制台 |
凭据、引擎配置、健康诊断与运行日志 |
| 壳层能力 | 贯穿全局 | 运行时自举、托盘常驻、熔断守护、自动更新 |
官方 CLI 只提供 --profile <name> 启动与 --from-default-profile <template> 从模板派生(派生即启动),没有工作台的列举、重命名、克隆或删除命令。Dock 提供完整的可视化生命周期管理:
node_modules,自动改写包名,保证物理隔离dsh plugin 官方 CLI 转发链,其余生命周期操作在文件层完成并严格遵循 dsh 的文件契约(不修改上游源码)启动中心(Launchpad) 是进入应用后的第一站:多工作台时以卡片网格呈现全部工作台及其运行态、默认标签与插件数,点卡片或按数字键 1-9 直达,勾选「记住我的选择」则下次启动直接进入——不必再记 --profile 参数:
启动中心:多工作台卡片网格、数字键直达与「记住我的选择」
控制中心:左侧工作台列表(状态、默认标签、插件数),右侧详情面板
✨ 新建工作台 输入名称即可创建隔离工作台,自动初始化基础依赖 |
📋 安全克隆 排除 node_modules,一致化改写包名,物理隔离
|
🛡️ 安全删除 运行中工作台自动锁定;删除时明确提示不影响全局历史会话 |
|
选中任一工作台后,右侧详情面板以 4 个 Tab 呈现其内部构成:
dependencies 与 bundles 依赖清单cordis.patch.yml外挂插件是一屏看清"这个工作台装了什么、跑没跑起来"的地方——每行展示插件名、已装版本、运行态徽标与说明文字,并提供行内开关(禁用 / 启用,重启工作台后生效)、更新与卸载。工具栏汇聚了插件管理的三个入口:安装插件、从其他工作台导入、检查更新;点「检查更新」后有新版的行会浮出可点的新版本号,可查看全部可用版本后选择性升级:
外挂插件:版本、运行态徽标(运行中 / 已禁用)、更新提示与行内开关
其中的 MCP 服务器管理器支持结构化配置(command / args / env 环境变量)、单个启用或禁用,并内置 4 个常用预设(GitHub Tools、Filesystem Sandbox、PostgreSQL Database、Brave Web Search)一键套用:
MCP 服务器管理器:结构化配置外部能力,常用预设一键应用
官方 CLI 的 dsh plugin add <package> 要求你已知确切包名,没有发现与浏览入口。Dock 直通 Awesome-DSH-Plugin 社区 Registry:
插件中心:社区插件市场浏览、分类筛选与一键安装
DSH 长任务会话在遭遇断电、进程强杀后,日志序列可能出现重放重叠、序列异常或世代分叉,导致引擎无法正常打开。Dock 提供非破坏性修复:
.bak 备份,针对重放重叠、序列异常、世代分叉等可修复损坏做原子级修整
会话中心:健康仪表盘、项目分组列表、状态标识与一键全量自愈
面向日常运维的系统控制台,包含 5 个子面板:
⌘ + , 或命令面板风格 ⌘ + ⇧ + P).credentials.yaml,保存时原子写入,并在 Unix 上强制 0600 文件权限(Windows 无等价文件模式,依赖用户 profile 的默认 ACL)settings.yaml,保存前弹出破坏性变更确认DSH_HOME 存储空间分布(Profile / 会话 / 缓存),支持一键复制诊断报告
模型凭据:各服务商配置状态一目了然,界面永不持有明文 Key
健康大盘:运行时版本与就绪状态、DSH_HOME 存储分布一屏掌握
运行日志:三类日志源切换、关键词过滤与实时追踪
贯穿各模块的壳层能力,让 DSH 在桌面上真正"开箱即用":
~/.dsh(Unix 下为 0600 权限;Windows 依赖 profile 默认 ACL),工作台与会话数据从不上传;网络面只用于引擎补齐、更新检查与插件市场拉取三件事content-visibility 策略,抑制 WebKit 内存膨胀
原生桌面融入:Apple HIG 规范圆角与透明边距,在 macOS Dock 中与系统应用同调
| 操作系统 | 支持架构 | 安装包格式 | 体积(约) | 说明 |
|---|---|---|---|---|
| macOS | Apple Silicon (arm64) | .dmg |
22 MB | 原生 ARM64,开箱即用 |
| macOS | Intel (x86_64) | .dmg |
24 MB | 原生 x86_64,非 Rosetta 转译 |
| Windows | x64 | .exe (NSIS) / .msi |
39 / 40 MB | 支持 Win 10 / 11,内置 WSL2 穿透;ARM64 设备经系统仿真运行 |
| Linux | x64 (amd64) | .deb / .rpm |
23 MB | Ubuntu / Debian / Fedora 等主流发行版 |
| Linux | x64 (amd64) | .AppImage |
94 MB | 免安装单文件;因内置 WebKit 运行时故体积偏大 |
[!IMPORTANT] 首次启动需要联网:安装包不内置 Node.js 与 DSH 引擎(这也是体积能保持在几十 MB 的原因)。首次运行时客户端会经镜像链拉取 Node 运行时并安装 DSH 引擎,补齐后即可离线启动,后续升级全部显式触发。
其他架构:当前发布产物覆盖 macOS(Apple Silicon + Intel)、Windows x64 与 Linux x64;Windows ARM64 等其余架构可参照 CONTRIBUTING.md 从源码自行构建。
[!TIP] Intel Mac 选哪个包:文件名带
x64的.dmg是 Intel 原生版,带aarch64的是 Apple Silicon 版。两者是独立构建(非 universal 通用包),各自只内置对应架构的 pnpm 引擎,因此体积与原生性能都不打折;客户端自更新会按 CPU 架构自动取对应版本。
[!WARNING] macOS 首次打开:若被系统安全策略拦截,在「系统设置 → 隐私与安全性」中点击「仍要打开」即可。
[!NOTE] Linux 托盘依赖:托盘图标(及其上的「关于 / 检查更新」入口)需要
libayatana-appindicator3。 我们的.deb/.rpm已把它声明为 Recommends,apt/dnf默认会装上;若系统确实没有它 (例如 AppImage + 精简桌面),应用仍能正常启动,只是没有托盘图标 —— 此时日志会给出原因与安装命令 (Debian/Ubuntu:libayatana-appindicator3-1,Fedora:libayatana-appindicator-gtk3)。
[!NOTE] Windows 首次打开:安装包目前未做代码签名(macOS 已签名并公证,Windows 侧待证书),因此 SmartScreen 可能提示「未知发布者」;点「更多信息 → 仍要运行」即可。自动更新不受影响 —— 更新包用的是本项目自己的签名校验。
Step 1:下载并打开 DSH Dock。首次运行时,引导引擎会自动补齐 Node.js / pnpm / DSH 运行时。
Step 2:在启动中心选择或新建工作台。点击「+ 新建工作台」输入名称即可创建独立配置档案。
Step 3:进入工作台后即可与 DSH 智能体协作。随时通过悬浮胶囊或快捷键(Cmd/Ctrl + ,)呼出控制中心,切换工作台或前往插件市场。
┌────────────────────────────────────────────────────────┐
│ DSH Dock 桌面壳 │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ 前端 UI 层 (React 19 SPA) │ │
│ │ 控制中心 │ 插件中心 │ 会话维护 │ 控制台 │ │
│ └───────────────────────┬────────────────────────┘ │
│ │ IPC (强类型安全通道) │
│ ┌───────────────────────▼────────────────────────┐ │
│ │ 内核层 (Rust + Tauri v2) │ │
│ │ Resolve 宿主解析 │ Updates 验签/镜像链 │ │
│ │ Profiles 管理器 │ Executor (Local / WSL2) │ │
│ │ Sessions 自愈器 │ Single-Instance 互斥锁 │ │
│ └───────────────────────┬────────────────────────┘ │
└───────────────────────────┼────────────────────────────┘
│ 严格遵守 Non-Fork 接口契约
┌───────────────────────────▼────────────────────────────┐
│ DSH 官方运行时 (@deepseek-ai/dsh) │
│ ~/.dsh/ (profiles, cordis.patch.yml, sessions) │
└────────────────────────────────────────────────────────┘
product.manifest.json 契约欢迎参与 DSH Dock 的开源共建!详见 CONTRIBUTING.md 了解开发环境搭建、代码规范与 PR 准则。
git clone https://github.com/realguan/dsh-dock.git
cd dsh-dock/frontend && pnpm install && cd ../src-tauri && cargo tdev
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: desktop-app、plugin-manager。