dsh-vscode-mode 0.1.21 → 0.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,18 +4,21 @@
4
4
 
5
5
  仿 VSCode 的 **Agent 文件编辑器 + 差异审查** DSH 插件:
6
6
 
7
- - **中央「文件编辑」页签**(`conversation.view`,VSCode 式):文件页签(脏点/关闭/「+」打开)+ `Ctrl+P`
8
- 快速打开(QuickOpen)+ **Monaco Editor**(语法高亮/行号/minimap/`Ctrl+F`/`Ctrl+G`/`Ctrl+S`/700ms 防抖自动保存)+
9
- 顶部工具栏(路径/语言/Ln,Col/保存状态/差异/侧边栏/刷新)。**编辑器不占用底部**:底部整条留给 DSH 对话输入栏
10
- (`conversation.composer.bar` 由 DSH 自身渲染在 `conversation.view` 之下)。
7
+ - **侧边栏「文件编辑」Tab**(v0.1.23,推荐):检测到 [dsh-better-sidebar](https://github.com/omdsh-dev/DSH-better-sidebar)
8
+ (`ctx.betterSidebar` 服务)时,编辑器注册为右侧栏 Tab——**AI 对话(中央)与文件编辑(右侧栏)同屏**,
9
+ 类主流 Code Agent 布局;Tab 可拖到下方成底部面板(全宽)、支持分栏;文件打开/差异跳转自动展开面板。
10
+ **可选依赖**:未安装 dsh-better-sidebar 时自动回退旧「中央文件编辑页签」形态(插件零新依赖仍完整可用),
11
+ 并在编辑器顶部与设置页「兼容性」子 Tab 引导安装(`dsh plugin --profile web add dsh-better-sidebar`)。
12
+ 文件页签(脏点/关闭/「+」打开)+ `Ctrl+P` 快速打开(QuickOpen)+ **Monaco Editor**
13
+ (语法高亮/行号/`Ctrl+F`/`Ctrl+G`/`Ctrl+S`/700ms 防抖自动保存)+ 顶部工具栏(路径/语言/Ln,Col/保存状态/差异/侧边栏/刷新)。
11
14
  - **差异审查**:Host 捕获 agent 的 `edit`/`write`(`tools/result`),客户端统一使用**唯一一个挂在 DSH `conversation.input.dock` 的 DiffBox 实例**:
12
- 普通对话页显示单文案「差异 N 个文件 · 查看下一个」并循环跳转;文件编辑页只切换为同一实例的完整模式
13
- (Keep / Undo / 跳转 / 回滚 / 归档对比),不会再出现两个浮窗。header 差异角标 + DiffLauncher 全局总览 + 归档/批次回滚;
14
- 状态持久化到工作区旁车(`.dsh-edit-review.json`,重启不丢)。
15
+ 编辑器未打开时显示紧凑「差异 N 个文件 · 查看下一个」按钮(点击自动打开侧栏编辑器并聚焦差异);编辑器打开后 dock 切换为
16
+ 完整操作条(Keep / Undo / 跳转 / 回滚 / 归档对比),不会再出现第二个差异栏。header 差异角标 +
17
+ DiffLauncher 全局总览 + 归档/批次回滚;状态持久化到工作区旁车(`.dsh-edit-review.json`,重启不丢)。
15
18
  - **Monaco 离线分发**:`assets/vendor/monaco` AMD 构建随包发布,经 `/edrv/vendor/*` 前缀路由提供,全离线可用。
16
- - **文件管理侧边栏**(类 VSCode 活动栏 + 面板):左侧活动栏图标 + 可拖拽调宽的面板区;首期「资源管理器」= 懒加载目录树
17
- (展开目录实时读取、点文件在编辑器打开、差异角标、活动文件高亮、`edrv:refresh`/手动 ⟳ 刷新、`Ctrl+B` 显隐并持久化)。
18
- 面板通过注册表装配(`ctx.provide('edrvSidebarPanels')`),新增面板只加一条注册,不改编辑器布局。
19
+ - **文件管理侧边栏**(类 VSCode 活动栏 + 面板):编辑器内嵌活动栏 + 可拖拽调宽的面板区;首期「资源管理器」= 懒加载目录树
20
+ (展开目录实时读取、点文件在编辑器打开、差异角标、活动文件高亮、`edrv:refresh`/手动 ⟳ 刷新、`Ctrl+B` 显隐并持久化;
21
+ 侧栏形态默认收起以节省面板宽度)。面板通过注册表装配(`ctx.provide('edrvSidebarPanels')`),新增面板只加一条注册,不改编辑器布局。
19
22
  - **MCP 可视化管理**(设置 → VSCodeMode):子 Tab「我的 MCP」(profile 全局)+「项目 MCP」(各项目根 `.mcp.json`)。
20
23
  项目级 MCP 对齐 Claude Code/Cursor:配置存于项目根目录 `.mcp.json`(`mcpServers`),随仓库共享;
21
24
  可查看各项目连接状态/工具、添加(stdio / streamable-http)、刷新、启用/禁用、删除。工具全局生效。
@@ -33,13 +36,13 @@
33
36
 
34
37
  ```bash
35
38
  # ① Git 安装(clone + prepare 构建;推荐打固定 tag)
36
- dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.1.0
39
+ dsh plugin --profile web add github:Lenonss/DSH_VsCodeMode#v0.1.23
37
40
 
38
41
  # ② npm 注册表(发布到 npm 后)
39
42
  dsh plugin --profile web add dsh-vscode-mode
40
43
 
41
44
  # ③ GitHub Release tgz 直装
42
- dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.1.0/dsh-vscode-mode-0.1.0.tgz
45
+ dsh plugin --profile web add https://github.com/Lenonss/DSH_VsCodeMode/releases/download/v0.1.23/dsh-vscode-mode-0.1.23.tgz
43
46
  ```
44
47
 
45
48
  > `dsh plugin ...` 是 pnpm 转发器:git 安装会克隆仓库、执行该包 `prepare` 脚本(tsdown 双面构建)后安装,
@@ -103,18 +106,20 @@ src/
103
106
  ├── rpc.ts Host RPC 分发表(类型化 handler 表替代巨型 switch,含 compat)
104
107
  ├── routes.ts Host webServer 路由(/edrv/rpc、/edrv/assets/*、/edrv/vendor/*,带冲突护栏)
105
108
  └── client/
106
- ├── index.ts Client 入口:slot 注册(inject=['slots','timer'])
109
+ ├── index.ts Client 入口:slot 注册(inject=['slots','timer']);betterSidebar 探测分流(侧栏 Tab / 旧页签回退)
107
110
  ├── compat.ts ★ Client 兼容层:设置桥三级降级(webUiSettings→settingsScope)、slot 安全注册、openPath 链式补丁、外部插件常量
111
+ ├── sidebarBridge.ts ★ 侧边栏编辑区桥:可选探测 ctx.betterSidebar、注册「文件编辑」Tab、打开路由/角标计数(纯函数可单测)
108
112
  ├── rpc.ts Client 类型化 fetch 包装 + 诊断日志
109
- ├── events.ts 窗口事件助手(edrv:refresh/open-editor/show-launcher)
113
+ ├── events.ts 窗口事件助手(edrv:refresh/open-editor/show-launcher;侧栏路由优先、旧页签回退)
110
114
  ├── state/ records.ts(摘要/计数/空差异)+ regions.ts(差异区域/行裁剪)纯函数
111
115
  ├── monaco/ loader.ts(AMD 加载/语言映射)+ diffRender.ts(差异自绘渲染器)
112
- ├── diffDock.ts 差异 dock 轮转/文案纯函数(对话 dock 与 DiffBox 共用)
116
+ ├── diffDock.ts 差异 dock 轮转/文案/形态纯函数(对话 dock 与 DiffBox 共用)
113
117
  ├── sidebar/ ★ 侧边栏面板系统:registry.ts(注册表,镜像 fileOpeners)+ SidebarView.ts(活动栏/面板区/拖拽调宽)
114
118
  │ + types.ts(SidebarPanelDef/SidebarCtx)+ panels/FileExplorer.ts(文件树面板 #1)
115
- ├── styles/editor.css 编辑区样式(tsdown CSS-inline 注入)
116
- └── ui/ EditorView(编排)/ QuickOpen / DiffBox(chat/editor 双模式)/ ConversationDiffDock
117
- / DiffBarEmpty / DiffLauncher / DiffBadge / McpSettings(含「兼容性」子 Tab)
119
+ ├── styles/editor.css 编辑区样式(tsdown CSS-inline 注入;含侧栏形态/引导条)
120
+ └── ui/ EditorView(编排,tab/side 双形态)/ SideEditorTab(betterSidebar Tab 包装)/ QuickOpen
121
+ / DiffBox(chat/editor 双模式)/ ConversationDiffDock / DiffBarEmpty / DiffLauncher
122
+ / DiffBadge / McpSettings(含「兼容性」子 Tab)
118
123
  ```
119
124
 
120
125
  **兼容层(`src/compat.ts` + `src/client/compat.ts`)**:集中处理与其他插件 / DSH 版本的适配——
@@ -151,8 +156,9 @@ curl -s -X POST http://127.0.0.1:3080/edrv/rpc -H 'content-type: application/jso
151
156
  - **RPC**:静态包经 webServer 精确路由 `/edrv/rpc`,Client 同源 fetch;载荷形状由 `shared/rpc` 类型化。
152
157
  - **批次/融合/归档**:每次新 edit/write 递增文件 batch,早于最新批次的未归档差异自动"融合"归档;
153
158
  每条差异处理完成(采纳/拒绝/被覆盖)立即单条归档;DiffLauncher「归档」页按批次浏览 + 回滚。
154
- - **Client 挂点**:`conversation.view`(id `edrv-editor`)+ `conversation.session.header.utilities`
155
- (id `edrv-diff-badge`)。内部路由/slot/事件/CSS 前缀沿用 `edrv-*`(防回归),包身份为 `dsh-vscode-mode`。
159
+ - **Client 挂点**:betterSidebar Tab `edrv-editor`(侧栏形态,未装 dsh-better-sidebar 时回退 `conversation.view` 页签
160
+ id `edrv-editor`)+ `conversation.session.header.utilities`(id `edrv-diff-badge`)+ `conversation.input.dock`
161
+ (id `edrv-diff-dock`,唯一差异栏:编辑器未打开=紧凑按钮,打开后=完整操作条)。内部路由/slot/事件/CSS 前缀沿用 `edrv-*`(防回归),包身份为 `dsh-vscode-mode`。
156
162
  - **⚠️ Host 改动需重启 DSH 应用**(Node ESM 模块缓存);Client 经 `dsh-client-hmr` 热重载。
157
163
 
158
164
  ## 开发 / 卸载(超级模组注入器,开发期可选)