⚠️ 通道说明 / Channel note
本版本为正式版(npm latest),仅支持 DSH 0.1.2-rc.1+(peer 下限 ^0.1.2-rc.1;DSH rc.x 发布在 npm next dist-tag)。不再支持 0.1.0-rc.8 ~ 0.1.1-rc.2——stable DSH 用户请固定安装 dsh-better-sidebar@0.17.1;仍停留在 0.1.2-alpha.x 的宿主请先升级 DSH,或继续使用 dsh-better-sidebar@alpha(v0.18.0-alpha.0)。
This is the stable release (npm latest), targeting DSH 0.1.2-rc.1+ only (peer floor ^0.1.2-rc.1; DSH rc.x ships on the npm next dist-tag). 0.1.0-rc.8 ~ 0.1.1-rc.2 are no longer supported — stable-DSH users should stay pinned to dsh-better-sidebar@0.17.1; hosts still on 0.1.2-alpha.x should upgrade DSH first, or keep dsh-better-sidebar@alpha (v0.18.0-alpha.0).
Summary / 摘要
自 v0.17.1 以来的全部更新(45 个合并 PR;中间版本号 v0.18.1-alpha.0 / v0.19.0-alpha.0 未单独发布,内容一并并入本版)。
头条 / Headline — 进入 DSH 0.1.2 线并毕业正式版:#472 删除 0.1.1-rc.x 及更早的兼容层(双方言 RPC、双形状 MarkdownText labels、dsh-client-runtime 残留四处清除)并修复 0.1.2-alpha.1+ 侧边对话转录空白;基线经 alpha.3(#497)→ alpha.5(#516,Session.events 属性 → 按需读 snapshotEvents())逐步上行;本版钉版 DSH 0.1.2-rc.1(相对 alpha.5 为零源码变化的纯版本升级,dsh-client-locale 恢复发版、全线对齐 rc.1,locale 落后例外消除)。
✨ 新功能 / Features
- 🌿 「文件变动」统一 tab(#475,基于 #471 的文件追踪原型):Git 视角(真 diff / 历史 / 暂存·提交·还原 / worktree·子仓库选择)与本轮文件视角(模型读/写/编辑实时追踪、按文件分组、按类型筛选)双视角合一;统一 diff 渲染(改蓝配对 + 行内字符级高亮 + 语法着色 + 上下文折叠)、底部可拖拽预览面板、一键展开独立 diff tab
- 💬 侧边对话渲染升级(#486):主对话级 Blocks 结构、turn 用量尾标、断线重连横幅
- ⚙️ 工作区路径围栏开关(#458):新增
workspaceFence声明式设置键,工作区外路径 403 时错误面一键关闭并指引 - 🎬 右上角开关按钮组位移动画(#537):展开/收起时按钮组与面板滑动同步平滑移动(
top3px ↔ 14px 过渡,reduced-motion 下禁用)
⚡ 性能 / Performance
- 🚀 核心包 -45%(#489):19 个非中英词典 chunk 懒加载、渲染稳定化(转录行复用 / tree Sets / 批量 drag)、启动与轮询开销削减(单次 settings fetch、每 tick 单 git 进程);新增 perf 测量 lane(挂载延迟 / longtask / bundle 体积 / 拖拽帧率);顺带修复底栏拖拽把面板宽度泄漏进宿主布局、DSH 原生左栏突跳的 bug
- 📉 会话列重复 DOM 查询削减(#456,issue #403)
🐛 修复 / Fixes
编辑器 / Markdown / Editor & Markdown
- SSH 远程编辑器链接改由客户端打开(#522,issue #517)
- 预览/编辑切换保持阅读位置(#467)
- Markdown 预览隐藏 YAML frontmatter(#394)
- 预览 TOC 外点关闭、popover 层级、代码块 banner 吸顶(#461)
- @-引用链接保留文件 basename(#417)
终端 / 平台 / Terminal & platform
- Windows 自定义 shell 可执行解析(#503,issue #487)
- 终端瞬时 resize 失败容错(#428,issue #426)
- 自定义字体解析失败兜底等宽(#366)
- WSL 会话 Linux 绝对路径解析(#455,issue #399)
- Windows 资源管理器 reveal 保留选中(#508,issue #504)
布局 / 状态 / 文件树 / 对话 / Layout, state, tree & chat
- 桌面 shell 布局与侧边卡片共存(#398)
- 窄屏自动激活不再强制全屏抽屉(#373,issue #162)
- 恢复的自由窗口 id 冲突修复(#385)
- 窗口聚焦自动刷新文件树 + 可派发事件(#469)
- 引用提示固定到行尾(#509,issue #438)
- 划选弹窗视口外关闭、草稿插入锚定光标(#427,issue #425)
- 折叠态开关组对齐 DSH 会话标题行(#361)
- 旧引擎滚动跳变兼容(overflow:hidden 兜底,#448)
- 旧版 Git worktree 列表支持(#454,issue #440)
宿主适配相关 / Host-adaptation fixes
- alpha 宿主聊天文件打开漏斗迁移
remote.session.openWorkspacePath(#494) - 「Show in folder」reveal 滚动限界到树体(#453,0.1.2-alpha.1 面板位移)
🧰 CI 与内部 / CI & internals
- Windows CI 车道(#520)
- Makefile 命令面规范化(
make check / mount / clean,#526) - e2e 脚本加固 + 聚合双挂载回归(#527)
- 共享组件测试工具收敛 28 个 spec 样板(#524)
- 重复实现收敛(api envelope / extOf / subagent lineage / 错误归一化)与死代码清理(#525)
🌐 生态收录 / Ecosystem catalog
新收录 10+ 插件(各条目均含 18+ 语言 i18n 词条补齐):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)等
🙏 贡献者 / Contributors
感谢本版 22 位社区贡献者(自 v0.17.1 以来的 24 个社区 PR):
Thanks to the 22 community contributors behind the 24 community PRs since v0.17.1:
@northwang-lucky @GeekRicardo @Hoemr @Jstn-1g @Johnblur @TaurusWood @YZDame @Beverly621 @SparkElf @AnakinCao @meyaomiao @ch3n4y @eg-bole @chendefine @g-yixuan @wang-kaopu @Guochaoo @elysia395 @lhh010 @Cyancat @jackie-cqz @Awesome-AI-Pedia
验证 / Verification
| 检查 / Check | 结果 / Result |
|---|---|
pnpm typecheck / pnpm build / pnpm check:consumer-types |
✅ |
pnpm test(vitest) |
✅ 118 文件,1241 通过 / 9 跳过 |
pnpm peers check |
✅ 零失配(全线 0.1.2-rc.1) |
CI plugin-mount(钉 @deepseek-ai/dsh@0.1.2-rc.1,npm 打包 → 真实挂载 → 无头渲染全量 lane) |
✅ |
本地真机实测(macOS + pm2 dsh web @ 0.1.2-rc.1 + 打包 tarball 安装,逐帧采样验证展开/收起动画) |
✅ |
注意 / Notes
- 版本号说明:v0.18.1-alpha.0 / v0.19.0-alpha.0 两个中间版本号从未发布,其内容全部并入本版(README 版本史已注记)。
- DSH 宿主侧:
@deepseek-ai/dsh@0.1.2-rc.1在 npmnextdist-tag;宿主latest仍是 0.1.1-rc.2,安装旧宿主 + 本插件 latest 会得到 peer 不匹配——按上方通道说明固定版本。
Full changelog: v0.17.1...v0.18.0