Releases: omdsh-dev/DSH-better-sidebar
Releases · omdsh-dev/DSH-better-sidebar
Release list
v0.13.1
v0.13.1
✨ 新功能
- 📊 Markdown 预览安全渲染 Mermaid 图表(#164):含 mermaid fence 时按需加载
client-mermaid.jschunk;securityLevel: 'strict'+htmlLabels: false+ 注入前二次清洗的纵深防御;点击图表放大弹窗(缩放/平移/快捷键),深浅色跟随、失败回退原码 - 🖥️ 终端 shell 与 shellArgs 可配置(#125):
cordis.patch.yml可指定shell/shellArgs(UI 终端与 agent 终端同时生效);终端标题改用 shell 名,内部标识改 UUID
🐛 修复
v0.13.0
dsh-better-sidebar v0.13.0
✨ 新功能
- 📁 文件窗口与资源管理器二合一(#151):新
editorExplorer设置(默认开)——文件 tab 增加路径输入框头部 + 可开关的右侧停靠文件树(每 tab 记忆展开/宽度、左缘拖拽调宽 160~480px、全局文件名搜索走 hostfs.search路由,预算封顶并跳过.git与符号链接目录);合并模式下树点击 / 输入框 Enter 原地切换当前 tab,独立模式按路径新开;新会话默认 seed 空文件窗口(Files),无路径窗口在合并模式为带 chrome 的空文件窗口、独立模式为纯资源管理器;树右键「在新 Tab 中打开」「在侧边打开」(split) - 🎛️ 声明式设置 select 行(#151):设置项新增
type: 'select'(options支持 value/title/desc/icon,multi多选存数组);带图标的选项渲染大图标选项卡、收起态同样显示图标;editorExplorer改为图标化下拉(合并 / 独立);能力清单新增settingSelect - 🔀 与 dsh-web-ui 家族右侧面板互斥(#181):读取
aionui-panel设置命名空间的提供方选择——选择「使用 aionui-panel」时整个 better-sidebar(右侧栏 / 底部面板 / 浮动入口 / 各类接管)不再挂载;选择 DSH-better-sidebar(或未安装 aionui)时正常。设置页保存后实时生效(settings-document 推送),无需刷新
📝 其他
- 安装 / 更新命令统一为
dsh-better-sidebar@latest(双语 README 同步)
v0.12.3
✨ v0.12.3
安装 / 更新:dsh plugin --profile web add dsh-better-sidebar@latest
v0.12.3
✨ 新功能
- 🎨 皮肤兼容(令牌驱动):全面消费 DSH 设计令牌,与 dsh-web-ui 皮肤中心 10 款皮肤兼容,换肤自动跟随;终端/编辑器表面在透明/半透明玻璃值下回退不透明底色(#110,修复 #106 #105 #90 #60,附带 #52 #57 #92)
- 🗂️ 统一路径处理:UNC 路径 / 软链接分类(目录软链接可展开、失效链接标红)、HTML 路由平台守卫(#134,#65 #67 #43 #79 #115)
- 🖥️ 终端 shell 可配置:设置项自定义 shell,Windows 自动探测 pwsh(#95)
- 📝 编辑器新增语言:C# / Kotlin / Swift 语法高亮(#120)
- 🧭 设置页导航图标:设置页导航图标与布局优化(#114)
- ➕ 推荐插件目录新增:
dsh-git-remotes(Git 远程 Tab:分支/上游/ahead-behind、fetch 可 prune、ff-only pull、确认后才 push)(#91);dsh-video-preview(视频内联预览,/video 宿主路由支持 HTTP Range 206 拖进度条,不受 20MB mediaLimit 限制)(#126)
🐛 修复
- 🔧 xterm 依赖迁移:弃用的 xterm 迁移至
@xterm/xterm(Closes #122,#128) - 📝 Markdown 编辑器:选区转对话弹窗恢复可用(#24)
- 🐛 node-pty 加载失败不再拖垮 server(#140):宿主半懒加载 node-pty,缺失时插件照常挂载,终端显示修复横幅(可复制命令 + 重试),agent 终端工具自动跳过
- 🧪 测试工程:单元测试拆分(#141)+ smoke 偶发失败修复
🚀 工程
- 接入 GitHub Release 自动发版 npm(Trusted Publishing,产物带 provenance),本版起打 tag 即自动发布(#148)
v0.12.2
- 📐 位置兼容模式:为 Windows 右上角原生标题栏预留顶部空间(0–120px 可调)
- 🔌 服务化基座:能力探测 / 状态订阅 / tab 角标 / 生命周期回调 / 定向打开 / meta 持久化 / 插件自有设置 / urlTarget 外链认领
- ➕ 添加插件:设置页推荐插件目录 + 一键复制安装命令
- 🖱️ 标签页滚轮横向滚动
- 🐛 修复:远程 403、侧边栏崩溃 #31、Windows HTML 预览盘符路径
v0.12.1 / v0.12.0
- 🔌 服务化基座:完整类型导出 + 能力探测、状态订阅、tab 角标、生命周期回调、定向打开、meta 持久化、插件自有设置
- ➕ 添加插件:推荐插件目录 + 一键复制安装命令
- 🖱️ 标签页滚轮
- 🐛 修复:远程 403、侧边栏崩溃 #31、Windows HTML 预览盘符路径
0.12.0 正式版因 npm 判定版本已发布无法复用,正式发布改用 0.12.1,两者内容一致。
v0.12.2 — 位置兼容模式 + urlTarget 外链认领 + 终端登录 shell
📐 位置兼容模式(Windows 原生标题栏)
- 设置页新增「位置兼容模式」开关:为 Windows 右上角原生标题栏预留顶部空间,侧边栏按钮与内容整体下移(默认关闭)
- 下移距离可在齿轮弹窗中自定义(0–120px,默认 40,偏好
titleBarStripPx),CSS 变量驱动、实时生效
🎯 urlTarget 外链认领 + 浏览器链接二级设置
- 服务化 API 新增
TabDescriptor.urlTarget(url):聊天/界面中被拦截的外链按注册顺序路由到第一个命中的插件 tab 类型(openTab({ type, url, title })),内置浏览器退居隐式兜底 - 浏览器链接设置改为二级菜单(齿轮弹窗):新增
browserInterceptHttp(默认开)+browserInterceptHttps(默认关),browserInterceptLinks保留为总闸
💻 终端以登录 shell 启动
- 修复:解析账号登录 shell(显式
$SHELL→ passwd 登录 shell →/bin/bash兜底)并以登录 shell 启动终端——服务管理器 / 容器环境未设SHELL时也能打开正确的登录 shell
➕ 推荐插件目录
- 收录 dsh-sidebar-qa(Tab 注册):侧边栏 QA 面板
🔧 CI
- 新增 plugin-mount 冒烟门禁:npm 打包 → 真实挂载 DSH → 无头渲染防 crash;强制覆盖 editor 懒加载 chunk,缺失内置 tab 即失败
📚 文档
- README 服务化定位前置、精简功能一览;标题下新增 MIT / dshfind 徽章,功能小标统一为徽章样式;最近更新补充 v0.12.2 文本说明(双语同步)
- 友情链接收录 DeepSeek Harness Desktop
- 仓库硬约束:代码改动必须走 PR,仅纯文档改动可直推 main;AGENTS.md 同步 urlTarget 字段/示例/设置键
v0.12.1
🔌 服务化基座(公共 API)
v0.12.1 补齐 ctx.betterSidebar 服务基座,消费插件可按能力探测、订阅状态、定制 tab 与设置:
- 完整类型导出:
SidebarTab/SidebarState/SidebarStore/SidebarSnapshot/SidebarDiffRef/TabType/SessionScope/SidebarPrefs/OpenTabSeed/SidebarSettingsRenderProps等可直接命名;client 声明图零 Node 依赖(无@types/node、skipLibCheck: false也可编译) version+features能力探测:'badge' | 'tabLifecycle' | 'updateTab' | 'openFile' | 'targetedOpen' | 'stateSubscription' | 'tabMeta' | 'pluginSettings'- 状态订阅:
getSnapshot()/subscribeState() - tab 角标
badge、生命周期回调onOpen/onActivate/onClose updateTab/activateTab/openFile- 定向打开
openTab(seed, scope):跨会话定向打开 SidebarTab.meta跨刷新持久化- 设置 seam 开放:
settings.pluginToggles/settings.render,值持久化在pluginSettings[id]
➕ 添加插件(推荐插件目录)
- 设置页「侧边卡片」两个网格末尾的虚线卡片打开 Tab / 预览插件弹窗
- 推荐插件目录:名字 / 仓库 / 简介 / 安装脚本,「跳转」直达仓库、「复制」安装命令
- 内置 Office 三件套预览迁至推荐插件(不再内置)
🖱️ 标签页滚轮
- 标签页栏支持鼠标滚轮横向滚动
🐛 修复
- 远程访问全部 403:
/sidebar信任栅栏改用webRuntime.trustedHosts - 侧边栏崩溃 #31:layout-push CSS 变量泄漏 + 每 tab 错误隔离
- Windows 下 HTML 预览盘符路径解码(去掉前导斜杠,修复被
isWithin拒绝)
📚 文档
🔧 CI
- 新增 GitHub Actions:typecheck / test / build / consumer-types 声明面守护
v0.11.0 — 终端自定义字体 + 侧边卡片设置页重构 + WKWebView 终端空白修复
✨ 新增
- 终端自定义字体:设置页「侧边卡片」→ 终端卡片 → 齿轮弹窗新增「终端字体」(自定义 font-family,留空跟随主题等宽字体)与「终端字号」(9–32px,默认 13);提交后所有已打开终端实时生效(UI tab 与 agent 终端共用),无需重启(issue #19 / #22)
- 侧边卡片设置页视觉重构:分组容器卡片、计数徽标、自定义开关、加宽设置弹窗(描述 + 完成按钮),卡片齿轮与勾选徽标纵向对齐同尺寸
🐛 修复
- WKWebView 下底部面板展开后终端空白(issue #25):xterm 5.3.0 在零尺寸容器初始化崩溃(
Cannot read properties of undefined (reading 'dimensions'))导致渲染器未创建、终端空白;修复为Terminal.open()推迟到容器有实际尺寸后执行(新增openWhenSized,rAF 轮询 + 卸载安全取消),推迟期间write()数据由 WriteBuffer 缓冲、不丢初始 transcript,含 6 个单元测试(PR #27)
📄 文档
- README 新增「最近更新」块、精简功能一览、新增友情链接(dsh-tianshu-tui)、版本引用更新;中英文同步
📦 其他
- 版本 0.11.0;npm 包
dsh-better-sidebar@0.11.0;Git tagv0.11.0
v0.10.3 — turnTail 拦截修复 + 安装体验升级
🐛 修复
- 聊天「产出文件」行拦截改用
slots.inject延迟注册(issue #15):修复 turnTail 拦截在部分场景失效/竞态的问题(src/client/intercept.tsx+ 回归测试)。
🚀 安装体验升级
- 新增 Windows PowerShell 一键安装脚本
scripts/install.ps1:irm ... | iex即可安装,支持-Version/-Restart/-DryRun。 scripts/install.sh健壮性提升:- 版本解析三级回退:npm view → pnpm view →
latest(不再因网络/缓存问题直接中断); - 预写
allowBuilds(node-pty/protobufjs)与minimumReleaseAgeExclude,一次跑完,规避 pnpm 11 两道供应链策略; - 幂等清理旧手动挂载行(修复缩进/引号变体),避免双挂载;
- 新增
--help、DSH_HOME的USERPROFILE回退(Windows Git Bash)。
- 版本解析三级回退:npm view → pnpm view →
- README 安装章节重排:技术细节折叠进
<details>,正文只保留前置 + 两条一键命令;新增常见问题表;中英文同步。
📦 其他
- 版本 0.10.3;npm 包
dsh-better-sidebar@0.10.3。
v0.8.2 — 跟随 DSH 的 i18n(语言偏好实时切换)
✨ 新功能
- 🌏 界面文案跟随 DSH 的 i18n:侧边栏全部文案(+ 菜单、Tab 标题、Git/Explorer/终端/浏览器/任务管理页、Side card 设置页)跟随 DSH 语言设置实时切换——Host 偏好(
locale.preference)优先于浏览器语言,切换语言无需刷新 - 词典注册进 DSH 的 i18n 命名空间(
betterSidebar),locale 服务缺失时回退浏览器语言 - 设置页语言切换后已打开的 Tab、标题、菜单即时更新(根级订阅 + 整树重渲染)
- xlsx 预览的 Univer 界面语言同步跟随
🔧 变更
- client 注入
locale服务(@deepseek-ai/dsh-client-locale),boot 元数据同步 - 新增
tests/locales.spec.ts(8 用例:跟随/回退/切换/插值/键集相等)
v0.6.0 侧边栏双面板
✨ 新功能
- 底部面板:独立的第二个工作台(与右侧栏同类的标签页),只挤占中间 Agent 输出区、不覆盖左右侧边栏;首次展开自动开一个新终端(终端卡片的二级设置可关,默认开);右上角 x 一键折叠
- 右上角持久按钮簇:底栏 / 侧拉两个独立 glyph,横向排列、始终位于右上角(侧边栏展开时嵌入其标签条右端,真实挤占 Tab 空间)
- 跨面板拖 Tab:两个面板之间的标签可互相拖动(中心合并 / 边缘拆分)
- 欢迎卡片改响应式网格(一行多个,挤不下自动裁切)
- 会话隔离升级:两面板开关/尺寸/标签树按会话持久化,旧状态平滑迁移
⚡ 优化
- 拖动性能:rAF 节流 + 直写 DOM,消除拖动卡顿(此前每次移动触发全量重渲染)
- 面板尺寸互钳制:底部面板高度上限 = 视口 − 280,侧边栏/中间列永不被挤丢
- 底部面板右缘分割线,宽度计算修正(拖动中右缘实时跟随、计入应用细节列)
🛠 其他
- README 更新(双工作台说明)
- 295 个测试全绿
v0.4.3 — README 精简 + npm 启动模式实测兼容
v0.4.3
📦 npm 启动模式实测兼容
- 验证通过:以
npx -p @deepseek-ai/dsh@0.0.1-rc.1 dsh web启动的 DSH(lib 生产模式)完整挂载本插件——host 路由(/sidebar/api)、settings 回路(dsh-settings-local按名注入)、设置文档读写、client UI(侧边栏/声明式设置卡片)全部正常
🛠 构建依赖去硬编码
devDependencies的 14 条link:/Users/menghuan/.dsh/source/current/...绝对路径改为从 npm registry 解析(^0.0.1-rc.1,官方已发布 0.0.1-rc.1);peerDependencies同步 rc 范围- 安装者需自己的只读令牌(
~/.npmrc配置,勿写进仓库),或改回link:指向自己的 checkout;.npmrc已加入 .gitignore
📄 README 精简重排
- 341 → 130 行:安装/更新合并为一份提示词 + 手动要点;功能一览逐节压缩;registry 通道降为可选小节;开发/架构/限制精简
其他
- vitest.config.ts:npm 版 ui-primitives 的 katex css import 在 node_modules 外部化下需 inline(stub)
- 201 个测试全部通过