Back to home

FlipFlopszzz

dsh-studio

Desktop workbench & plugin collection for DeepSeek Harness (DSH): Electron shell, IDE-ification plugins, and MCP services

Stars
0
Language
JavaScript
Created
Aug 14, 2026
Updated
Aug 14, 2026

Introduction

dsh-studio

DSH Studio —— 面向 DeepSeek Harness (DSH)桌面工作台与插件集合(monorepo)。

目标:把 DSH 的浏览器界面升级为完整的 IDE 式桌面工作台,并以插件生态的形式持续扩展能力。

点击启动 → 自动拉起 DSH 内核(dsh web)→ 打开完整可用的桌面窗口。

仓库结构

dsh-studio/
├─ apps/
│   └─ shell/            # Electron 壳(@dsh-studio/shell)
│       ├─ main.js       #   主进程:探测端口 / spawn 内核 / 开窗 / 清理
│       ├─ logs/         #   运行时日志(被 gitignore)
│       └─ dist/         #   打包产物(被 gitignore)
├─ plugins/              # DSH 插件集合(每个子目录一个插件包)
│   └─ (browser / filetree / viewer / terminal / remote … 规划中)
├─ mcp/                  # 自研 MCP 服务集合(规划中)
├─ package.json          # npm workspaces 聚合层
└─ README.md

特性(当前,shell)

  • 一键启动:探测 127.0.0.1:3080;内核未运行时自动 spawn dsh web 并等待就绪
  • 只连不托管:若 DSH 已在运行(浏览器里开着),壳直接复用,不重复启动
  • 干净退出:只杀掉自己拉起的内核进程,不碰用户自己启动的实例
  • 日志落盘:%APPDATA%\DSH Studio\logs\(打包环境安全位置)
  • 目录版打包:npm run build 生成 dist/win-unpacked/,双击 exe 即可运行

环境要求

  • Windows 10/11
  • Node.js ≥ 20
  • DSH 已全局安装:npm install -g @deepseek-ai/dsh(壳通过 PATH 中的 dsh 命令启动内核)

使用

# 安装依赖(根目录,workspaces 统一安装)
npm install

# 开发模式运行 shell
npm start

# 打包 shell(输出到 apps/shell/dist/)
npm run build

打包产物位于 apps/shell/dist/win-unpacked/,直接双击 DSH Studio.exe 即可运行。

工作原理

[双击 DSH Studio.exe]
    │
    ├─ 探测 http://127.0.0.1:3080
    │    ├─ 已在运行 → 直接开窗
    │    └─ 未运行   → spawn `dsh web` → 轮询端口(最多 60s) → 开窗
    │
    └─ BrowserWindow 加载 http://127.0.0.1:3080

配置

环境变量默认值说明
DSH_GUI_PORT3080DSH 内核监听端口

日志

  • %APPDATA%\DSH Studio\logs\dsh-gui.log — 壳自身日志
  • %APPDATA%\DSH Studio\logs\dsh-kernel.log — 内核 (dsh web) 输出

路线图

已完成

  • 最小壳:探测/拉起/开窗/清理
  • 日志落盘(userData 目录,打包安全)
  • 目录版打包(--win dir,双击运行)
  • monorepo 重组(shell / plugins / mcp 分层)

进行中 / 待做

  • 系统托盘、单实例锁
  • 生命周期策略插件化

后续目标(IDE 化改造)

目标:把 dsh-studio 从"浏览器窗口壳"升级为完整的 IDE 式桌面工作台,能力通过 Electron 渲染层 + DSH 插件体系 + MCP 工具 三层协作实现。

  • 右侧边栏内置浏览器:内嵌浏览器面板(基于 webviewTag / WebContentsView),agent 可通过工具导航、点击、填表、截图并反馈画面
  • 文件树:左侧工作区文件树(浏览/新建/重命名/删除),与 DSH 会话 cwd 联动
  • 文件查看器:点击文件树节点在面板中预览(文本高亮、图片、PDF、二进制识别)
  • 实时交互终端:内嵌 PTY 终端面板,agent 与用户可同时操作,输出可回流给 agent
  • 远程控制:远程桌面/移动端控制 GUI,或通过 MCP 暴露窗口控制能力

实现分层约定

Electron 薄壳         → 物理层:窗口、WebContentsView、PTY、IPC 桥(保持最薄)
DSH 插件体系          → 逻辑层:host 插件(工具、策略)+ 客户端插件(UI 面板)
MCP 服务              → 能力层:现成能力(Playwright/浏览器、文件、终端)直接挂载
  • 渲染层 UI(浏览器面板、文件树、查看器、终端面板)以 DSH 客户端插件 形式挂载
  • agent 操作能力(浏览器控制、文件操作、终端交互)以 host 插件工具 / MCP 形式暴露
  • 官方内核保持不动,所有扩展走 cordis.patch.yml 与独立 npm 包