Skip to content

Releases: omdsh-dev/DSH-better-sidebar

v0.11.0 — 终端自定义字体 + 侧边卡片设置页重构 + WKWebView 终端空白修复

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 14 Aug 07:37
cde107c

✨ 新增

  • 终端自定义字体:设置页「侧边卡片」→ 终端卡片 → 齿轮弹窗新增「终端字体」(自定义 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 tag v0.11.0

v0.10.3 — turnTail 拦截修复 + 安装体验升级

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 13 Aug 17:05
efb2e2b

🐛 修复

  • 聊天「产出文件」行拦截改用 slots.inject 延迟注册(issue #15):修复 turnTail 拦截在部分场景失效/竞态的问题(src/client/intercept.tsx + 回归测试)。

🚀 安装体验升级

  • 新增 Windows PowerShell 一键安装脚本 scripts/install.ps1irm ... | iex 即可安装,支持 -Version / -Restart / -DryRun
  • scripts/install.sh 健壮性提升:
    • 版本解析三级回退:npm view → pnpm view → latest(不再因网络/缓存问题直接中断);
    • 预写 allowBuilds(node-pty/protobufjs)与 minimumReleaseAgeExclude一次跑完,规避 pnpm 11 两道供应链策略;
    • 幂等清理旧手动挂载行(修复缩进/引号变体),避免双挂载;
    • 新增 --helpDSH_HOMEUSERPROFILE 回退(Windows Git Bash)。
  • README 安装章节重排:技术细节折叠进 <details>,正文只保留前置 + 两条一键命令;新增常见问题表;中英文同步。

📦 其他

  • 版本 0.10.3;npm 包 dsh-better-sidebar@0.10.3

v0.8.2 — 跟随 DSH 的 i18n(语言偏好实时切换)

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 12 Aug 16:43

✨ 新功能

  • 🌏 界面文案跟随 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 侧边栏双面板

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 12 Aug 08:54

✨ 新功能

  • 底部面板:独立的第二个工作台(与右侧栏同类的标签页),只挤占中间 Agent 输出区、不覆盖左右侧边栏;首次展开自动开一个新终端(终端卡片的二级设置可关,默认开);右上角 x 一键折叠
  • 右上角持久按钮簇:底栏 / 侧拉两个独立 glyph,横向排列、始终位于右上角(侧边栏展开时嵌入其标签条右端,真实挤占 Tab 空间)
  • 跨面板拖 Tab:两个面板之间的标签可互相拖动(中心合并 / 边缘拆分)
  • 欢迎卡片改响应式网格(一行多个,挤不下自动裁切)
  • 会话隔离升级:两面板开关/尺寸/标签树按会话持久化,旧状态平滑迁移

⚡ 优化

  • 拖动性能:rAF 节流 + 直写 DOM,消除拖动卡顿(此前每次移动触发全量重渲染)
  • 面板尺寸互钳制:底部面板高度上限 = 视口 − 280,侧边栏/中间列永不被挤丢
  • 底部面板右缘分割线,宽度计算修正(拖动中右缘实时跟随、计入应用细节列)

🛠 其他

  • README 更新(双工作台说明)
  • 295 个测试全绿

v0.4.3 — README 精简 + npm 启动模式实测兼容

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 11 Aug 07:47

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 — 侧边栏设置声明式化 + 小卡片网格

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 11 Aug 06:34

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 式历史

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 10 Aug 14:29

✨ 新功能

  • 真正的 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

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 09 Aug 15:54

亮点

  • 分割线细线化:侧边栏内部分割线从 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-sidebar

B. 官方 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

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 09 Aug 15:50

亮点

  • plugin-registry 标准发布面:新增原生清单 dsh.plugin.json(id dsh-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.ts 5 项守卫(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-sidebar

B. 官方 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

Choose a tag to compare

@Menghuan1918 Menghuan1918 released this 09 Aug 14:08

亮点

  • 规范重构:按 DSH 官方插件规范(参考 dsh-external/turtle-ui)重构——schemastery Config + apply(ctx, config)plugin-shape guard 测试、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