Releases: omdsh-dev/DSH-better-sidebar
Releases · omdsh-dev/DSH-better-sidebar
Release list
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 个测试全部通过
v0.4.1 — 侧边栏设置声明式化 + 小卡片网格
v0.4.1 — 侧边栏设置声明式化
✨ 新增(含未单独发版的 v0.4.0 服务化改造)
- 服务化:暴露
ctx.betterSidebar服务(registerTab/registerFileViewer),其他插件可注册侧边栏 tab 与文件预览器;内置 6 个 tab + 8 个 viewer 全部迁移到注册表(吃自己的狗粮) - Side card 设置声明式化:设置页分区按注册表实时渲染功能清单——每个 tab/viewer 带类型 id + 图标 + 开/关
- 小卡片网格 UI:清单项为响应式小卡片(一行自适应多个),高亮 = 启用(品牌描边 + 勾选徽标钉在最右端)
- 二级设置弹窗:子代理 / 终端等声明了相关设置的卡片,齿轮按钮打开原生 Modal 弹窗(「检测到子代理自动展开」「为模型注入终端工具」)
- 文件查看器补
title/icon声明式元数据;偏好 schema 新增tabsEnabled/viewersEnabled开放 map(缺省全开,旧文档零迁移)
🎛 关闭语义
- 关闭某 tab:
+菜单隐藏、openTab拒绝新开、子代理自动展开 / agent 终端自动补 tab 停止;已打开的 tab 保留 - 关闭某 viewer:文件预览落到下一个匹配的 viewer(关闭兜底 code 后无法预览的文件显示下载按钮)
🔧 其他
- 文档:README、插件接入文档(AGENTS.md)、设计文档(含实施偏差记录)
- 测试:201 个(注册表 gating / 声明式渲染 / schema 断言 / 设置页卡片规格)
v0.3.0 — Git 面板真正的 diff 显示与 VSCode 式历史
✨ 新功能
- 真正的 diff 显示:解析统一 diff(
@@hunk 头 + 旧/新双行号对齐 + 红绿着色),长行自动换行无横向滚动;untracked 文件渲染为全新增视图;二进制提示、超长 diff 折叠 - 点击即开 diff tab(VSCode 式):点击变更文件行 / 历史提交行自动打开独立 diff tab,首次默认在下半栏新增分栏,同变更去重聚焦;diff tab 为临时页签(刷新不恢复)
- VSCode 式历史:分支/标签徽章 + 作者 · 相对时间;懒加载分页(20 条/页 + 加载更多)
- 右键高级操作:文件行(打开 / 暂存 / 放弃更改 / 复制路径)、历史行(查看差异 / 复制哈希与提交信息 / 还原此提交 revert / 捡取此提交 cherry-pick),破坏性操作确认弹窗
🐛 修复
- 暂存/未暂存分类错误(
' M'被误标为已暂存导致 diff 恒空) - git 相对路径解析(会话在仓库子目录时 diff / discard / show / read 均可用)
- 全部 tab 页面禁止横向滚动
🔧 内部
- host 新增
git.commit-diff/git.discard/git.revert/git.cherry-pick路由与git.log分页参数
v0.1.3
亮点
- 分割线细线化:侧边栏内部分割线从 7px 实底色块改为居中 1px 发丝线(
::after伪元素绘制),更贴合 DSH 扁平化设计语言;悬停/拖拽时线变色为强调色,不再整条填充;7px 拖拽热区保持不变,可拖拽性不受影响
安装
与 v0.1.2 相同,两种通道互斥二选一(详见 README「通道互斥」)。
A. plugin-registry(标准)——前置:DSH 已集成 plugin-registry(dsh registry 命令可用):
# 方式一:tarball(免克隆)
dsh registry install dsh-better-sidebar-v0.1.3.tgz
# 方式二:源码构建
git clone https://github.com/dsh-external/DSH-better-sidebar.git
cd DSH-better-sidebar && pnpm install && pnpm build
node scripts/package-registry.mjs
dsh registry install ./registry
dsh registry enable dsh-external/dsh-better-sidebarB. 官方 profile(不依赖 plugin-registry):
git clone https://github.com/dsh-external/DSH-better-sidebar.git
cd DSH-better-sidebar && pnpm install && pnpm build
dsh plugin --profile web add link:<绝对路径>
# 并在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
# - insert:
# - id: better-sidebar
# name: 'dsh-better-sidebar'重启 DSH 并硬刷新(Cmd/Ctrl+Shift+R)后生效。
Checks
pnpm typecheck✅pnpm test(66 用例)✅pnpm build✅
v0.1.2
亮点
- plugin-registry 标准发布面:新增原生清单
dsh.plugin.json(iddsh-external/dsh-better-sidebar,version 0.1.2)——dsh registry install ./registry+dsh registry enable即可安装管理;scripts/package-registry.mjs组装干净的registry/安装根(只含清单 + 构建产物 + README,不入库) - 双 client bundle:同一
src/client/index.tsx构建lib/client.js(官方 profile 通道,id = 包名)与lib/client-registry.js(registry 通道,id = 清单 id)——两通道的 bundle-id 契约互不相同、同源不漂移;本 release 附带 tarball asset,dsh registry install dsh-better-sidebar-v0.1.2.tgz免克隆安装 - 一致性测试:
tests/manifest-consistency.spec.ts5 项守卫(id 严格两段 / version 与 package.json 同步 / 入口文件存在 / 双 bundle id 不互换 / contributes 空声明) - DSH-native flat chrome:移除全部 box-shadow,面板用原生侧边栏填充面 + hairline 边框、原生 36px 圆形折叠按钮、原生 active 填充与 34px/14px session-row 排版
- Side card 设置:DSH 设置面板新增「Side card」分区——新会话默认展开 + 默认宽度占比(20–60%),经插件自有 fenced 路由走 in-process settings seam 持久化(官方设置 RPC 域只服务 allowlist namespace,第三方 namespace 需自造缝)
安装
两种通道互斥二选一(详见 README「通道互斥」)。
A. plugin-registry(标准)——前置:DSH 已集成 plugin-registry(dsh registry 命令可用):
# 方式一:tarball(免克隆)
dsh registry install dsh-better-sidebar-v0.1.2.tgz
# 方式二:源码构建
git clone https://github.com/dsh-external/DSH-better-sidebar.git
cd DSH-better-sidebar && pnpm install && pnpm build
node scripts/package-registry.mjs
dsh registry install ./registry
dsh registry enable dsh-external/dsh-better-sidebarB. 官方 profile(不依赖 plugin-registry):
git clone https://github.com/dsh-external/DSH-better-sidebar.git
cd DSH-better-sidebar && pnpm install && pnpm build
dsh plugin --profile web add link:<绝对路径>
# 并在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
# - insert:
# - id: better-sidebar
# name: 'dsh-better-sidebar'重启 DSH 并硬刷新(Cmd/Ctrl+Shift+R)后生效。
Checks
pnpm typecheck✅pnpm test(66 用例,含 5 项 manifest 一致性)✅pnpm build✅(双 bundle id 实测:dsh-better-sidebar/dsh-external/dsh-better-sidebar)
v0.1.1
亮点
- 规范重构:按 DSH 官方插件规范(参考 dsh-external/turtle-ui)重构——schemastery
Config+apply(ctx, config)、plugin-shapeguard 测试、peerDependencies 清单、./invariant伴生、createSidebarStore()工厂(去模块级单例)、client bundle 纯度门、lib/types类型声明、prepare消费者构建 - 跨平台支持:Windows / Linux / macOS 三平台适配——路径拼接走平台
join、媒体路由与相对路径投影容忍分隔符与大小写(win32 不敏感)、/tmp等 POSIX 假设从测试中移除、平台分支单测全覆盖 - 文件下载:资源管理器右键菜单新增「下载」(host 路由返回原始字节,二进制安全)
- 编辑器行号:CodeMirror 开启行号
- 一键安装:README 置顶自包含提示词——整段发给 DSH 即可完成克隆、构建、注册与安装
安装
把 README 顶部的提示词整段发给 DSH 即可一键安装;或手动:
git clone https://github.com/dsh-external/DSH-better-sidebar.git
cd DSH-better-sidebar && pnpm install && pnpm build
dsh plugin --profile web add link:<绝对路径>
# 并在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
# - insert:
# - id: better-sidebar
# name: 'dsh-better-sidebar'重启 DSH 并硬刷新(Cmd/Ctrl+Shift+R)后生效。
Checks
pnpm typecheck✅pnpm test(49 用例)✅pnpm build✅