@dsh-local/dsh-workbench
VS Code-style three-column layout for the DSH web GUI: docked Explorer file tree + Monaco code editor that replaces the chat column when a file is opened
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗DSH Workbench — VS Code 风格三栏布局插件
参考 microsoft/vscode 的设计,为 DeepSeek Harness(DSH)Web GUI 增加:
- 右侧常驻 Explorer 文件树(VS Code 官方 seti 文件类型图标、展开/折叠、新建文件/文件夹、刷新、全部折叠、可拖宽/折叠面板)
- 中间区域点击文件即切换为代码编辑器(monaco-editor 0.52.2 —— VS Code 编辑器核心;多标签页、语法高亮、minimap、Ctrl+S、脏标记、保存冲突"重新加载/强制覆盖")
- 编辑器占满整列(编辑时下方输入框/停靠条自动隐藏,"返回会话"或顶部"对话"标签切回)
- 安全边界:所有文件操作经 DSH 的
ctx.fs服务,双重围栏在工作区沙箱内,越界拒绝;写入走版本号 CAS 防覆盖
┌─────────┬──────────────────────────┬────────────┐
│ 左侧边栏 │ 中间:会话 ⇄ 文件内容 │ 右侧:文件树 │
│ (不变) │ 点文件 → Monaco 编辑器 │ Explorer │
└─────────┴──────────────────────────┴────────────┘
架构
| 文件 | 作用 |
|---|---|
index.js | 主机半部(Cordis 插件):注册 /wb/* 静态资源路由 + /wb/api/ 文件操作(describe/listDir/readFile/writeFile/createFile/createDir/assetText),工作区围栏 |
client.js | 客户端半部(浏览器插件 bundle):引导加载 /wb/workbench-client.js |
assets/workbench-client.js | UI bundle:右栏 ExplorerRoot(explorer slot)+ 中栏 EditorView(conversation.view 的 workbench.editor 视图) |
assets/vs/ | monaco-editor 发行版(npm run setup:assets 生成,不入库) |
assets/seti.* | seti 图标字体与生成产物(npm run generate:seti) |
patches/*.patch | 对 DSH 检出包的三处内嵌补丁(三栏布局依赖它们) |
scripts/*.mjs | 资产下载/图标生成/补丁应用/profile 安装 |
dynamic/ | 会话内动态插件形态(cordis_define 用),可选 |
三处补丁(patches/,对 DSH 0.1.0-rc.6 生成):
ui-layout.patch— AppFrame 新增第 4 条网格轨道explorer(240–420px、默认 300)+explorerslot + 拖宽手柄 +toggleExplorer服务方法ui-conversation.patch— 暴露window.__DSH_CONV_BRIDGE__[sessionId].setView,点击文件自动切换中间视图ui-sidebar.patch— 页面加载即挂载 UI bundle(刷新自愈)
安装
前置:Node.js ≥ 18、git、可访问 npm registry 的网络。