dsh-better-sidebar 0.18.0 → 0.18.1
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 +29 -13
- package/README_EN.md +26 -4
- package/lib/client-editor.js +661 -475
- package/lib/client-mermaid.js +266 -180
- package/lib/client-registry.js +3243 -1782
- package/lib/client-terminal.js +374 -209
- package/lib/client.js +3243 -1782
- package/lib/index.js +108 -8
- package/lib/types/client/FileTree.d.ts +4 -0
- package/lib/types/client/MarkdownHtml.d.ts +4 -4
- package/lib/types/client/TextEditor.d.ts +0 -8
- package/lib/types/client/TreePanel.d.ts +4 -0
- package/lib/types/client/api.d.ts +17 -0
- package/lib/types/client/changes/DiffPane.d.ts +7 -0
- package/lib/types/client/changes/ops.d.ts +8 -0
- package/lib/types/client/chunk-loader.d.ts +4 -4
- package/lib/types/client/cm-themes.d.ts +5 -4
- package/lib/types/client/diff/DiffFiles.d.ts +7 -1
- package/lib/types/client/diff/DiffRows.d.ts +6 -2
- package/lib/types/client/diff/rows.d.ts +10 -0
- package/lib/types/client/html-preview.d.ts +14 -0
- package/lib/types/client/ime-guard.d.ts +5 -2
- package/lib/types/client/locales.d.ts +40 -0
- package/lib/types/client/menu-flip.d.ts +38 -0
- package/lib/types/client/mermaid-lazy.d.ts +3 -0
- package/lib/types/client/one-dark-palette.d.ts +60 -0
- package/lib/types/client/plugins-shared.d.ts +4 -2
- package/lib/types/client/redact.d.ts +41 -0
- package/lib/types/client/service.d.ts +1 -1
- package/lib/types/client/shell-presets.d.ts +4 -14
- package/lib/types/client/sidebar/TabContent.d.ts +30 -0
- package/lib/types/client/sidebar/free-windows.d.ts +58 -0
- package/lib/types/client/sidebar/use-center-column.d.ts +18 -0
- package/lib/types/client/sidebar/use-host-feeds.d.ts +12 -0
- package/lib/types/client/sidebar/use-pinned-tabs.d.ts +12 -0
- package/lib/types/client/tree-mutations.d.ts +21 -0
- package/lib/types/client/use-polling.d.ts +19 -0
- package/lib/types/fs-operations.d.ts +46 -0
- package/package.json +9 -3
- package/src/agent-opens.ts +3 -3
- package/src/client/DiffTab.tsx +78 -3
- package/src/client/EditorHost.tsx +18 -0
- package/src/client/FileTree.tsx +210 -17
- package/src/client/FreeWindow.tsx +1 -0
- package/src/client/MarkdownHtml.tsx +17 -13
- package/src/client/PdfView.tsx +3 -0
- package/src/client/SideCardSection.tsx +4 -3
- package/src/client/SideChatView.tsx +18 -10
- package/src/client/Sidebar.tsx +55 -709
- package/src/client/SubagentView.tsx +26 -37
- package/src/client/TabBar.tsx +6 -0
- package/src/client/TerminalView.tsx +14 -13
- package/src/client/TextEditor.tsx +14 -14
- package/src/client/TreePanel.tsx +7 -1
- package/src/client/add-plugin-modal.tsx +15 -9
- package/src/client/api.ts +14 -0
- package/src/client/builtins/tabs.tsx +1 -1
- package/src/client/changes/ChangesTab.tsx +9 -6
- package/src/client/changes/DiffPane.tsx +293 -9
- package/src/client/changes/GitLens.tsx +14 -5
- package/src/client/changes/changes.module.css +8 -0
- package/src/client/changes/ops.ts +28 -4
- package/src/client/chunk-loader.ts +6 -8
- package/src/client/cm-themes.ts +44 -42
- package/src/client/conversation-draft.ts +1 -0
- package/src/client/diff/DiffFiles.tsx +29 -4
- package/src/client/diff/DiffRows.tsx +68 -16
- package/src/client/diff/highlight.ts +85 -25
- package/src/client/diff/rows.ts +35 -0
- package/src/client/html-preview.ts +15 -0
- package/src/client/ime-guard.ts +6 -3
- package/src/client/index.tsx +14 -8
- package/src/client/layout.css +60 -0
- package/src/client/lazy-chunk.tsx +2 -2
- package/src/client/locales-ar.ts +40 -0
- package/src/client/locales-de.ts +40 -0
- package/src/client/locales-fr.ts +40 -0
- package/src/client/locales-hi.ts +40 -0
- package/src/client/locales-id.ts +40 -0
- package/src/client/locales-it.ts +40 -0
- package/src/client/locales-ja.ts +40 -0
- package/src/client/locales-ko.ts +40 -0
- package/src/client/locales-nl.ts +40 -0
- package/src/client/locales-pl.ts +40 -0
- package/src/client/locales-pt.ts +40 -0
- package/src/client/locales-ru.ts +40 -0
- package/src/client/locales-sv.ts +40 -0
- package/src/client/locales-th.ts +40 -0
- package/src/client/locales-tr.ts +40 -0
- package/src/client/locales-vi.ts +40 -0
- package/src/client/locales-zh-HK.ts +40 -0
- package/src/client/locales-zh-MO.ts +40 -0
- package/src/client/locales-zh-TW.ts +40 -0
- package/src/client/locales.ts +80 -0
- package/src/client/markdown-images.ts +1 -0
- package/src/client/menu-flip.ts +68 -0
- package/src/client/mermaid-lazy.tsx +16 -0
- package/src/client/one-dark-palette.ts +62 -0
- package/src/client/plugins-shared.ts +4 -2
- package/src/client/plugins-tabs.ts +20 -20
- package/src/client/plugins-viewers.ts +7 -6
- package/src/client/redact.ts +148 -0
- package/src/client/selection-popup.ts +5 -6
- package/src/client/service.ts +2 -2
- package/src/client/shell-presets.ts +6 -3
- package/src/client/sidebar/TabContent.tsx +75 -0
- package/src/client/sidebar/free-windows.tsx +167 -0
- package/src/client/sidebar/use-center-column.ts +171 -0
- package/src/client/sidebar/use-host-feeds.ts +269 -0
- package/src/client/sidebar/use-pinned-tabs.ts +153 -0
- package/src/client/sidebar.module.css +82 -4
- package/src/client/terminal-links.ts +1 -1
- package/src/client/tree-mutations.ts +50 -0
- package/src/client/use-polling.ts +83 -0
- package/src/config.ts +0 -2
- package/src/context-types.ts +1 -0
- package/src/fs-operations.ts +124 -3
- package/src/index.ts +30 -2
- package/src/sidechat-core.ts +0 -3
- package/src/sidechat-routes.ts +13 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<a href="https://github.com/omdsh-dev/DSH-better-sidebar/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/omdsh-dev/DSH-better-sidebar" /></a>
|
|
10
10
|
<a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /></a>
|
|
11
11
|
<a href="https://dshfind.com/zh/plugins/omdsh-dev/DSH-better-sidebar?ref=badge"><img alt="dshfind" src="https://dshfind.com/api/badge/omdsh-dev/DSH-better-sidebar?lang=zh" /></a><br /><br />
|
|
12
|
-
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.
|
|
12
|
+
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.1 正式版):0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a>
|
|
13
13
|
<a href="https://github.com/topics/dsh-better-sidebar"><img alt="插件生态:GitHub topic dsh-better-sidebar" src="https://img.shields.io/badge/%E6%8F%92%E4%BB%B6%E7%94%9F%E6%80%81-topic%20dsh--better--sidebar-4d6bfe" /></a><br /><br />
|
|
14
14
|
<img alt="文件管理" src="https://img.shields.io/badge/-文件管理-4d6bfe" /> <img alt="编辑预览" src="https://img.shields.io/badge/-编辑预览-4d6bfe" /> <img alt="内嵌浏览器" src="https://img.shields.io/badge/-内嵌浏览器-4d6bfe" /> <img alt="真实终端" src="https://img.shields.io/badge/-真实终端-4d6bfe" /> <img alt="文件变动" src="https://img.shields.io/badge/-文件变动-4d6bfe" /> <img alt="后台任务" src="https://img.shields.io/badge/-后台任务-4d6bfe" /> <img alt="侧边对话" src="https://img.shields.io/badge/-侧边对话-4d6bfe" /> <img alt="插件接入" src="https://img.shields.io/badge/-插件接入-4d6bfe" /><br /><br />
|
|
15
15
|
<b>右侧栏 + 底部面板双工作台</b>,并把 <code>ctx.betterSidebar</code> 服务开放给所有插件——<br />
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
- **🌐 内嵌浏览器**:多开网页 tab,后退 / 前进 / 刷新;内容运行在沙箱 iframe;外链默认按协议分流——HTTP 在侧边栏打开、HTTPS 走系统浏览器(设置页可分别调整)
|
|
45
45
|
- **💻 真实终端**:xterm.js + node-pty 真实 shell,断线重连回放;可选为模型注入 `terminal_*` 工具
|
|
46
46
|
- **📂 模型侧边栏打开(可选)**:全局设置开启后注入 `sidebar_open` 工具——模型可主动在侧边栏打开文件 / 文件夹(树以该目录为根)/ HTTP(S) 网页
|
|
47
|
-
- **🌿 文件变动**:Git 视角(真 diff / 历史 / 暂存·提交·还原 / worktree·子仓库选择)与本轮文件视角(模型读 / 写 / 编辑实时追踪,按文件分组、按类型筛选)**双视角合一**;统一 diff 渲染(改蓝配对 + 行内字符级高亮 +
|
|
47
|
+
- **🌿 文件变动**:Git 视角(真 diff / 历史 / 暂存·提交·还原 / worktree·子仓库选择)与本轮文件视角(模型读 / 写 / 编辑实时追踪,按文件分组、按类型筛选)**双视角合一**;统一 diff 渲染(改蓝配对 + 行内字符级高亮 + 语法着色(含 mjs/cjs/mts/cts、CSS/SCSS/Less、HTML/XML/SVG/Vue、GraphQL、JSONC/JSON5)+ 上下文折叠),底部可拖拽预览面板,可一键展开为独立 diff tab(默认自由浮窗,可在设置改为面板下半 split);`.md` 操作(读 / 写 / 编辑)预览头部可切换**阅读模式**——经共享 MarkdownText 渲染 GFM 表格 / 任务列表 / 删除线 / 脚注 / 数学公式,本地图片自动改写为 `/sidebar/file` 媒体路由;含 ```mermaid 围栏时走编辑器同款懒加载 mermaid 渲染器(图可点击缩放 / 平移);**敏感内容脱敏**——凭据形态路径整文件遮罩、普通文件按内容形态遮值(api_key: / Bearer / sk- / AKIA / ghp_ / PEM 等,字段名保留),默认开启、预览面板一键开关(localStorage 记忆),仅影响显示、不改会话数据。已知边界:mermaid 无引号节点标签含被遮密钥时,图回退源码(规避:标签加引号);`.html` 操作(读 / 写 / 编辑)预览头部可切换**渲染模式**——复用编辑器同款 `/sidebar/html` 路由 iframe,相对资源(./style.css、img/x.png)同路由解析,分段读取也渲染完整文档,恒定沙箱(opaque origin + CSP 头,无逃生门);`.pdf` 操作(读 / 写 / 编辑)同样可切换**渲染模式**——复用编辑器同款 PDF 预览(媒体路由字节流 + 显式 Blob,浏览器原生查看器内嵌,附下载入口)
|
|
48
48
|
- **🧩 后台任务页**:subagent 拓扑 + 后台任务(退出码 / 实时输出 / 强制终止)
|
|
49
49
|
- **💬 侧边对话(beta)**:Codex 风格的侧边线程——继承主会话完整上下文(含进行中的回合与工具调用)独立运行,不进入主会话;线程内可持续追问,一键「保存为新会话」提升为顶层会话
|
|
50
50
|
- **🪟 双工作台**:右侧栏 + 底部面板;拖 Tab 拆分 / 合并分栏(可跨面板),移动端自动合并全宽抽屉
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
**前置**:已装好 DSH(`dsh web` 能正常运行),Node.js ≥ 20、pnpm ≥ 10。
|
|
63
63
|
|
|
64
64
|
**支持的 DSH 版本**:
|
|
65
|
-
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.
|
|
65
|
+
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.1 正式版):0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a>
|
|
66
66
|
|
|
67
67
|
> 📌 **正式版**:`v0.18.0` 起适配 DSH **0.1.2-rc.1+**(npm dist-tag `latest`),不再支持 0.1.0-rc.8 ~ 0.1.1-rc.2——DSH stable(≤ 0.1.1-rc.2)用户请固定安装 `dsh-better-sidebar@0.17.1`(`@latest` 已由 v0.18.0 接管);停留在 0.1.2-alpha.x 的宿主请先升级 DSH,或继续用 `dsh-better-sidebar@alpha`(v0.18.0-alpha.0)。
|
|
68
68
|
|
|
@@ -261,17 +261,32 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar
|
|
|
261
261
|
|
|
262
262
|
## 🆕 最近更新
|
|
263
263
|
|
|
264
|
-
**支持的 DSH 版本**:<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.
|
|
264
|
+
**支持的 DSH 版本**:<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="支持的 DSH 版本(v0.18.1 正式版):0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a> · 完整发布历史见 [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases)
|
|
265
265
|
|
|
266
|
-
### v0.18.
|
|
266
|
+
### v0.18.1
|
|
267
267
|
|
|
268
|
-
> 📌 **正式版**(npm `latest
|
|
268
|
+
> 📌 **正式版**(npm `latest`):DSH 基线不变(**0.1.2-rc.1+**,peer 下限 `^0.1.2-rc.1`)——本版是 v0.18.0 之后的增量发布:变更面板预览能力增强、文件树可写,以及五项修复。
|
|
269
|
+
|
|
270
|
+
**✨ 新功能**
|
|
271
|
+
|
|
272
|
+
- 📄 **变更面板操作预览增强**(#499):`.md` 阅读模式(含 mermaid 渲染)、`.html` 与 `.pdf` 内嵌渲染预览;diff 语法高亮扩展到 mjs/cjs/mts/cts、CSS/SCSS/Less、HTML/XML/SVG/Vue、GraphQL、JSONC/JSON5;新增**密钥脱敏**层(预览默认开启,面板头部可切换)
|
|
273
|
+
- 🗂️ **文件树重命名 / 删除**(#550):行内重命名 + 确认式删除,右键菜单减重与子菜单视口钳制
|
|
274
|
+
- 🧩 **插件目录名与 shell 预设文案词典化**(#535):跟随宿主语言
|
|
275
|
+
|
|
276
|
+
**🐛 修复**
|
|
277
|
+
|
|
278
|
+
- 🔀 **git diff 折叠上下文真实展开**(#576,修复 #577):折叠行此前显示「n 行…点击展开」却点不动(`-U3` 裁剪使 gap 段没有行文本);现按需经 `git.show` 拉取两侧完整内容切片填充,带加载 / 失败降级三态与请求去重;顺带修复该路由的 `rev:path` 寻址(此前恒返空)
|
|
279
|
+
- 💬 **侧边对话种子不再继承父会话未领取的 inbox 消息**(#562):补 fork 标记对,消除「上下文很长时侧边对话先把之前的 User 消息发出去」的幽灵消息
|
|
280
|
+
- 🖼️ **Markdown 分栏渲染器内的本地图片**(#569):改写为可访问 URL,不再 404
|
|
281
|
+
|
|
282
|
+
**🧰 CI 与内部**
|
|
269
283
|
|
|
270
|
-
|
|
284
|
+
- ESLint flat config 接入 CI 与 Makefile(#536)、Makefile 命令面规范化(#526)、e2e 脚本加固(#527)、共享组件测试工具收敛样板(#524)
|
|
285
|
+
- 重构:Sidebar.tsx 按关注点拆分(#542)、四处轮询习语收敛到 `use-polling`(#541)、删除 rc.7 宿主的 `__DSH_MODULES__` 回退路径(#540)、One Dark/Light 语法色板单源化(#534)、重复实现收敛与死代码清理(#525)
|
|
271
286
|
|
|
272
|
-
|
|
287
|
+
### v0.18.0
|
|
273
288
|
|
|
274
|
-
|
|
289
|
+
> 📌 **正式版**(npm `latest`):本版仅支持 **DSH 0.1.2-rc.1+**(peer 下限 `^0.1.2-rc.1`);不再支持 0.1.0-rc.8 ~ 0.1.1-rc.2——DSH stable 用户请固定安装 `dsh-better-sidebar@0.17.1`,停留在 0.1.2-alpha.x 的宿主继续用 `dsh-better-sidebar@alpha`(v0.18.0-alpha.0)。
|
|
275
290
|
|
|
276
291
|
**✨ 新功能**
|
|
277
292
|
|
|
@@ -298,6 +313,9 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar
|
|
|
298
313
|
|
|
299
314
|
- 新收录 10+ 插件:dsh-better-sidebar-icons(#441)、dsh-sidenote(#451,原 dsh-sidechat #470)、dsh-github-workbench(#410)、dsh-bilingual-reader(#379)、dsh-server-deck(#413)、dsh-md-export(#405)、dsh-code-nav(#404)、dsh-suhuang-scroll(#392)、dsh-better-overleaf(#370)等(均含 18+ 语言 i18n 补齐)
|
|
300
315
|
|
|
316
|
+
<details>
|
|
317
|
+
<summary><b>历史版本(v0.12.0 – v0.15.2)</b></summary>
|
|
318
|
+
|
|
301
319
|
### v0.19.0-alpha.0
|
|
302
320
|
|
|
303
321
|
> 🧪 **alpha 通道**:本版仅支持 **DSH 0.1.2-alpha.x**(peer 下限 `^0.1.2-alpha.5`,npm dist-tag `alpha`,安装 `dsh-better-sidebar@alpha`)。该版本号未单独发布,内容已并入 **v0.18.0** 正式版。
|
|
@@ -370,9 +388,6 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar
|
|
|
370
388
|
- 🔧 **git 源安装修复 `unrun` devDependency**([#336](https://github.com/omdsh-dev/DSH-better-sidebar/pull/336)):tsdown 0.22 经 `unrun` 加载配置而 pnpm 11 不自动装 peer——git-hosted 安装的 `prepare` 不再报 `Failed to import module "unrun"`(npm tarball 不受影响)
|
|
371
389
|
- 🍃 **`ctx.effect` 严格化顺手修了 4 处**:拦截注册失败时 effect 体返回 `undefined` 改为 no-op disposer(vendored cordis 的 effect 契约要求返回 disposer,返回 `undefined` 属非法形状)
|
|
372
390
|
|
|
373
|
-
<details>
|
|
374
|
-
<summary><b>历史版本(v0.12.0 – v0.15.2)</b></summary>
|
|
375
|
-
|
|
376
391
|
### v0.15.2
|
|
377
392
|
|
|
378
393
|
自 v0.15.1 以来的全部更改:
|
|
@@ -491,7 +506,7 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar
|
|
|
491
506
|
推荐添加QQ群(577011007)
|
|
492
507
|
|
|
493
508
|
<div align="center">
|
|
494
|
-
<img width="220" alt="微信群二维码" src="https://github.com/user-attachments/assets/
|
|
509
|
+
<img width="220" alt="微信群二维码" src="https://github.com/user-attachments/assets/cbf211c6-e5b8-49c3-a412-7210c0b33d73" />
|
|
495
510
|
<img width="220" alt="QQ群二维码" src="https://github.com/user-attachments/assets/9be34629-26ef-4537-aad4-1393c147f81c" />
|
|
496
511
|
</div>
|
|
497
512
|
|
|
@@ -524,6 +539,7 @@ GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sidebar
|
|
|
524
539
|
```sh
|
|
525
540
|
pnpm install # @deepseek-ai/* devDependencies 已发布(基线 0.1.2-rc.1,next dist-tag),直接解析、无需令牌
|
|
526
541
|
pnpm typecheck # tsc --noEmit
|
|
542
|
+
pnpm lint # eslint .(flat config:js + typescript-eslint + react-hooks recommended)
|
|
527
543
|
pnpm build # → lib/index.js + lib/invariant.js + lib/client.js + lib/client-registry.js + lib/types
|
|
528
544
|
pnpm test # vitest(含 manifest 一致性守卫,需先 build)
|
|
529
545
|
pnpm watch # tsdown --watch
|
package/README_EN.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<a href="https://github.com/omdsh-dev/DSH-better-sidebar/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/omdsh-dev/DSH-better-sidebar" /></a>
|
|
10
10
|
<a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /></a>
|
|
11
11
|
<a href="https://dshfind.com/en/plugins/omdsh-dev/DSH-better-sidebar?ref=badge"><img alt="dshfind" src="https://dshfind.com/api/badge/omdsh-dev/DSH-better-sidebar?lang=en" /></a><br /><br />
|
|
12
|
-
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.
|
|
12
|
+
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.1): 0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a>
|
|
13
13
|
<a href="https://github.com/topics/dsh-better-sidebar"><img alt="Plugin ecosystem: GitHub topic dsh-better-sidebar" src="https://img.shields.io/badge/plugin%20ecosystem-topic%20dsh--better--sidebar-4d6bfe" /></a><br /><br />
|
|
14
14
|
<img alt="File management" src="https://img.shields.io/badge/-File%20management-4d6bfe" /> <img alt="Edit & preview" src="https://img.shields.io/badge/-Edit%20%26%20preview-4d6bfe" /> <img alt="Embedded browser" src="https://img.shields.io/badge/-Embedded%20browser-4d6bfe" /> <img alt="Real terminal" src="https://img.shields.io/badge/-Real%20terminal-4d6bfe" /> <img alt="Changes" src="https://img.shields.io/badge/-Changes-4d6bfe" /> <img alt="Background tasks" src="https://img.shields.io/badge/-Background%20tasks-4d6bfe" /> <img alt="Side Chat" src="https://img.shields.io/badge/-Side%20Chat-4d6bfe" /> <img alt="Plugin integration" src="https://img.shields.io/badge/-Plugin%20integration-4d6bfe" /><br /><br />
|
|
15
15
|
<b>A dual workbench (right sidebar + bottom panel)</b> that opens its <code>ctx.betterSidebar</code> service to every plugin —<br />
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
- **🌐 Embedded Browser**: multiple web tabs with back / forward / refresh; content runs in a sandboxed iframe; external links are routed by protocol by default — HTTP opens in the sidebar, HTTPS goes to the system browser (both adjustable in settings)
|
|
45
45
|
- **💻 Real Terminal**: xterm.js + node-pty real shell, reconnect with transcript replay; optionally injects `terminal_*` tools for the model
|
|
46
46
|
- **📂 Model-driven sidebar opens (opt-in)**: with the global setting on, the `sidebar_open` tool lets the model actively open files / folders (tree rooted there) / HTTP(S) pages in the sidebar
|
|
47
|
-
- **🌿 Changes**: one tab, two lenses — **Git** (real diff / history / stage·commit·revert / worktree & child-repo selection) and **This Session** (live tracking of every file the model reads / writes / edits, grouped by file with kind filters); a unified diff renderer (mod pairing + intra-line character highlights + syntax coloring + context folding), a draggable bottom preview pane, and one-click expansion into a dedicated diff tab
|
|
47
|
+
- **🌿 Changes**: one tab, two lenses — **Git** (real diff / history / stage·commit·revert / worktree & child-repo selection) and **This Session** (live tracking of every file the model reads / writes / edits, grouped by file with kind filters); a unified diff renderer (mod pairing + intra-line character highlights + syntax coloring incl. mjs/cjs/mts/cts, CSS/SCSS/Less, HTML/XML/SVG/Vue, GraphQL, JSONC/JSON5 + context folding), a draggable bottom preview pane, and one-click expansion into a dedicated diff tab; `.md` ops (read / write / edit) offer a **reading-mode** toggle in the preview header — the shared MarkdownText renders GFM tables / task lists / strikethrough / footnotes / math, with local images rewritten through the /sidebar/file media route; documents with ```mermaid fences render through the editor's lazy mermaid renderer (click-to-zoom / pan diagrams); **secret redaction** — credential-shaped paths mask whole files and ordinary files mask secret-shaped values (api_key: / Bearer / sk- / AKIA / ghp_ / PEM …, field names kept), on by default with a one-click preview-pane toggle (persisted in localStorage), display-only — session data untouched. Known edge: an unquoted mermaid label containing a redacted secret breaks the diagram (falls back to source); workaround: quote the label. `.html` ops (read / write / edit) gain a **Render** toggle in the preview head — the editor's `/sidebar/html` route iframe, with relative assets resolving inside the route and segmented reads rendering the full document; always sandboxed (opaque origin + CSP header, no escape hatch). `.pdf` ops (read / write / edit) gain the same **Render** toggle — the editor's PDF preview reused verbatim (media-route bytes + explicit Blob, the browser's native viewer inline, with a download fallback)
|
|
48
48
|
- **🧩 Background Tasks**: agent topology + background tasks (exit codes / live output / force-kill)
|
|
49
49
|
- **💬 Side Chat (beta)**: Codex-style side threads — the child inherits the parent's FULL context (completed turns + the pending question + the in-progress turn's assistant output and tool activity, honestly frozen as "interrupted") and runs independently without entering the main conversation; threads support continuous follow-ups (auto-resumed after a DSH restart) and one-click "Save as new session" promotion to a top-level session
|
|
50
50
|
- **🪟 Dual Workbench**: right sidebar + bottom panel; drag tabs to split / merge panes (cross-panel), mobile auto-merges into a full-width drawer
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
**Prerequisites**: DSH installed (`dsh web` boots), Node.js ≥ 20, pnpm ≥ 10.
|
|
63
63
|
|
|
64
64
|
**Supported DSH versions**:
|
|
65
|
-
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.
|
|
65
|
+
<a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.1): 0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a>
|
|
66
66
|
|
|
67
67
|
> 📌 **Stable release**: starting with `v0.18.0` the plugin targets DSH **0.1.2-rc.1+** (npm dist-tag `latest`) and drops 0.1.0-rc.8 ~ 0.1.1-rc.2 — stable-DSH (≤ 0.1.1-rc.2) users should stay pinned to `dsh-better-sidebar@0.17.1` (`@latest` now points at v0.18.0); hosts still on 0.1.2-alpha.x should upgrade DSH first, or keep `dsh-better-sidebar@alpha` (v0.18.0-alpha.0).
|
|
68
68
|
|
|
@@ -265,7 +265,28 @@ The GitHub topic [`dsh-better-sidebar`](https://github.com/topics/dsh-better-sid
|
|
|
265
265
|
<a href="https://github.com/user-attachments/assets/946f7028-4967-461e-a750-d1b5056b62d0"><img width="33%" alt="Service API base screenshot" src="https://github.com/user-attachments/assets/946f7028-4967-461e-a750-d1b5056b62d0" /></a>
|
|
266
266
|
</div>
|
|
267
267
|
|
|
268
|
-
**Supported DSH versions**: <a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.
|
|
268
|
+
**Supported DSH versions**: <a href="https://www.npmjs.com/package/@deepseek-ai/dsh?activeTab=versions"><img alt="Supported DSH versions (v0.18.1): 0.1.2-rc.1+" src="https://img.shields.io/badge/DSH-0.1.2--rc.1%2B-4d6bfe" /></a> · full release history on the [Releases](https://github.com/omdsh-dev/DSH-better-sidebar/releases) page
|
|
269
|
+
|
|
270
|
+
### v0.18.1
|
|
271
|
+
|
|
272
|
+
> 📌 **Stable release** (npm `latest`): the DSH baseline is unchanged (**0.1.2-rc.1+**, peer floor `^0.1.2-rc.1`) — this is the incremental cut after v0.18.0: richer op previews in the changes panel, a writable file tree, and five fixes.
|
|
273
|
+
|
|
274
|
+
**✨ Features**
|
|
275
|
+
|
|
276
|
+
- 📄 **Op-preview upgrades in the changes panel** (#499): markdown reading mode with mermaid fences, plus inline `.html` and `.pdf` render previews; diff syntax highlighting extended to mjs/cjs/mts/cts, CSS/SCSS/Less, HTML/XML/SVG/Vue, GraphQL, JSONC/JSON5; new **secret redaction** layer (on by default for previews, toggleable in the pane header)
|
|
277
|
+
- 🗂️ **File-tree rename / delete** (#550): inline rename plus confirmed delete, slimmer context menus and viewport-clamped submenus
|
|
278
|
+
- 🧩 **Plugin catalog names and shell preset text localized** (#535): they now follow the host language
|
|
279
|
+
|
|
280
|
+
**🐛 Fixes**
|
|
281
|
+
|
|
282
|
+
- 🔀 **Git diff gap folds really expand** (#576, fixes #577): the fold row promised "n lines… click to expand" but did nothing (`-U3` leaves gap segments without row text); the hidden rows now load on demand through `git.show`, sliced from both sides' contents, with loading / failure states and request deduplication — plus a fix to that route's `rev:path` addressing (it always returned empty before)
|
|
283
|
+
- 💬 **Side-chat seeds no longer inherit the parent's unclaimed inbox messages** (#562): the seed carries the fork markers, so the "side chat sends earlier User messages first on long contexts" ghost message is gone
|
|
284
|
+
- 🖼️ **Local images in the split markdown renderer** (#569): rewritten to reachable URLs instead of 404ing
|
|
285
|
+
|
|
286
|
+
**🧰 CI and internals**
|
|
287
|
+
|
|
288
|
+
- ESLint flat config wired into CI and the Makefile (#536), Makefile command surface (#526), hardened e2e scripts (#527), shared component-test utilities (#524)
|
|
289
|
+
- Refactors: Sidebar.tsx split by concern (#542), four polling idioms converged onto `use-polling` (#541), rc.7 `__DSH_MODULES__` fallback removed (#540), One Dark/Light syntax palettes single-sourced (#534), duplicated implementations converged and dead code removed (#525)
|
|
269
290
|
|
|
270
291
|
### v0.18.0
|
|
271
292
|
|
|
@@ -519,6 +540,7 @@ The dashed cards at the end of the "Sidebar content" / "File viewers" grids in t
|
|
|
519
540
|
```sh
|
|
520
541
|
pnpm install # @deepseek-ai/* devDependencies resolve (baseline 0.1.2-rc.1, next dist-tag) — no token needed
|
|
521
542
|
pnpm typecheck # tsc --noEmit
|
|
543
|
+
pnpm lint # eslint . (flat config: js + typescript-eslint + react-hooks recommended)
|
|
522
544
|
pnpm build # → lib/index.js + lib/invariant.js + lib/client.js + lib/client-registry.js + lib/types
|
|
523
545
|
pnpm test # vitest (includes manifest consistency guard; build first)
|
|
524
546
|
pnpm watch # tsdown --watch
|