从自绘面板到DSH原生右侧栏深度解析DSH-better-sidebar v0.19的架构演进【免费下载链接】DSH-better-sidebar开放的侧边栏底座支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git, and sub-agent pages.项目地址: https://gitcode.com/gh_mirrors/ds/DSH-better-sidebarDSH-better-sidebar v0.19 完成了一次关键架构演进插件不再自绘右侧面板而是把每一个侧边栏页面注册进 DSH 原生右侧栏。对于使用过 v0.18 及更早版本的读者来说这是一次承载面的彻底换血——右列归宿主所有插件专注内容与扩展服务。本文将从新手视角讲清楚v0.19 到底改了什么、为什么改、以及第三方插件用户需要知道什么。 一张图看懂架构演进先看结论再展开细节维度v0.18.x 及更早v0.19DSH 0.1.5-rc.1右列承载插件自绘右侧面板宽度拖拽、分栏树全归插件DSH 原生右侧栏插件 tab 注册为原生 tab悬浮窗口支持自由窗口拖出成悬浮窗已退役浮窗 API 一并删除文件打开插件内部路由统一走dsh-resource://file/**资源地址开合按钮插件自挂注册进 DSH 会话头 utilities 槽底部工作台插件自绘保留与原生右侧栏可同时展开第三方插件 APIctx.betterSidebar不变接入代码零改动一句话概括右列从插件的画布变成了DSH 的右侧栏插件从造面板的人变成了往面板里交作业的人。 退役自绘面板为什么是 v0.19 动手v0.18.x 时代DSH-better-sidebar 的右侧栏是插件自己画的面板宽度、分栏、悬浮窗自由窗口全部由插件掌控。这在功能上很灵活但代价也明显与 DSH 自身的布局体系并行两套皮肤、响应式、会话头控件都要插件自己适配自由窗口与分栏、持久化叠在一起状态面越积越厚旧文档里的floats字段、floatWindows能力位都成了历史包袱而 DSH 0.1.5 正式带来了自己的原生右侧栏能力——宿主自己就有右列插件再造一个就成重复建设。于是 v0.19.0 做了两记减法见 docs/external-plugin-guide.md §0 与 README.md 的 v0.19 更新段退役自绘右侧面板右列交给 DSH 原生右侧栏宽度、折叠、窄屏全屏抽屉等行为全部由宿主负责退役自由窗口floats/floatTab/dockFloat/raiseFloat及右键「移动到自由窗口」全部移除floatWindows能力位删除。旧持久化数据里的floats字段会被安全忽略不影响加载。 注册机制每个 tab 都变成原生 tab新架构的核心机制一句话插件的每个 tab 描述符TabDescriptor都被注册成一个原生 tab 类型 一个原生 tab 体注册代码集中在 src/client/native/index.ts。具体规则有三条理解它们就理解了整个 v0.19类型认领editor类型以extension优先级认领dsh-resource://file/**资源——这个优先级高于 DSH 内置的文本预览fallback与内置文件树builtin。效果是聊天里点开任意文件都落在插件的 CodeMirror 编辑器里而不是宿主的简单预览。接管内置「文件」页内置files页面 kind 被插件以同名 extension 注册接管——openTab(files)打开的是插件自己的资源管理器插件卸载或禁用时内置实现自动复位。生命周期跟随注册表第三方插件后注册的 tab 也会自动获得原生类型用户在设置页关掉某个 tab 类型对应原生类型即注销指南里不再出现。文件打开链路也统一了聊天中的文件一律通过ctx.sidebarRight.openResource(dsh-resource://file/…)打开若目标会话尚未上屏打开动作会排队待该会话挂载后自动重放——跨会话跳转不再丢操作。️ 保留的底部工作台双工作台并存v0.19 的减法不是把插件砍没而是收敛职责。插件自己只保留底部工作台分栏树、终端、随会话持久化的布局仍然完整存在。新形态下它和原生右侧栏是双工作台关系两者可同时展开互不遮挡拖 Tab 到分栏边缘拆分、拖到中间合并高度沿上缘拖拽调节这些操作手感与旧版一致底部工作台的开合按钮注册在 DSH 会话头右侧conversation.session.header.utilities槽收进宿主的会话头而不是插件自己的宿主落到底部工作台的打开如底栏菜单新建、首次展开的自动终端会确保底栏展开落点永远可见。触发逻辑的细节也打磨到位子代理/后台任务的自动激活落点由 src/client/sidebar/use-host-feeds.ts 统一决定——后台活动在窄屏768px只停放tab 不强制全屏抢占显式点击跳回则一律展开。相关设计记录见 docs/plans/2026-09-10-auto-activation-native-landing-fix.md。 第三方插件接入API 不变落点可选对生态开发者来说v0.19 最安心的一点是registerTab/registerFileViewer/openTab/closeTab/activateTab签名全部不变。内置的 8 个 tab 6 个 viewer 自己也是走同一套 API 注册的吃自己的狗粮第三方插件能力完全对等。新增的是一个可选参数OpenTabSeed.targetright默认落 DSH 原生右侧栏或bottom落插件底部工作台。行为上有几个新手容易踩的点完整版见 docs/external-plugin-guide.md事项说明生命周期回调原生面只有一次打开只触发onOpenonActivate仅在底部工作台触发去重规则原生按(类型, 地址)去重createTab类型终端/浏览器/侧边对话/diff每次新开布局持久化原生栏布局只在内存刷新回到折叠默认底部工作台仍随会话持久化终端上限上限只统计底部工作台里的终端原生栏终端不计入 内置能力一览Git 面板与多仓库承载面换成原生栏后插件内置页面的能力不减反增。以「文件变动」统一 tab 为例它把 Git 视角暂存/提交/还原、历史、worktree 与子仓库选择和本轮文件视角模型读/写/编辑实时追踪合并在一个页面。当会话工作目录本身不是 Git 仓库、而是多个子仓库的容器时面板顶部会出现仓库与分支选择器 版本兼容你的 DSH 该配哪个插件版本v0.19 是钉版演进——每个插件大版本只支持对应的 DSH 基线。package.json 中 v0.19.1 的 peer 下限为^0.1.5-rc.1并已在 0.1.5-rc.2 上完成真机挂载验证。对照表如下你的 DSH 版本应装的插件版本0.1.5-rc.1 / rc.2dsh-better-sidebarlatestv0.19.10.1.5-alpha.2dsh-better-sidebar0.19.0-alpha.1该基线最后一版0.1.2-rc.1 稳定线dsh-better-sidebar0.18.x≤ 0.1.1-rc.2dsh-better-sidebar0.17.1适配 DSH 0.1.5 契约的完整决策过程373 个上游变更文件的逐项核对、description字段回归的取舍等记录在 docs/plans/2026-09-10-dsh-0.1.5-rc.1-adaptation.md想看插件如何跟宿主一起演进值得一读。 快速上手三步体验 v0.19 原生右侧栏前置DSH 0.1.5-rc.1 已能正常运行dsh webNode.js ≥ 20。安装首次会因 pnpm 11 拦截 node-pty 构建脚本而失败属正常现象dsh plugin --profile web add dsh-better-sidebarlatest放行构建脚本后重跑安装cd ~/.dsh/profiles/web pnpm approve-builds --all dsh plugin --profile web add dsh-better-sidebarlatestWindows 或想要一键完成的可直接用仓库自带脚本 scripts/install.shWindows 原生用 scripts/install.ps1git clone https://gitcode.com/gh_mirrors/ds/DSH-better-sidebar bash DSH-better-sidebar/scripts/install.sh硬刷新浏览器Ctrl/Cmd ShiftR。点开会话头右侧的按钮原生右侧栏与底部工作台就都在手边了。✅ 总结从造面板到融入宿主DSH-better-sidebar v0.19 的演进可以浓缩为三件事右列归还宿主、浮窗彻底退役、服务 API 原样保留。插件不再与 DSH 抢谁画右侧栏而是把 8 个内置 tab、6 个文件预览器和 28 生态插件统一交给ctx.betterSidebar注册表——内置与第三方走同一套 API能力对等。对使用者你得到的是与 DSH 皮肤、会话、布局体系完全同频的原生体验对开发者你的接入代码一行不用改。这正是服务化底座该有的样子底座跟着宿主走能力跟着生态长。【免费下载链接】DSH-better-sidebar开放的侧边栏底座支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git, and sub-agent pages.项目地址: https://gitcode.com/gh_mirrors/ds/DSH-better-sidebar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
鼎耀国际驻车柴暖用户力荐,安装便捷与稳定性能兼顾的优选方案 跑遍全国跑货运,冬天驻车过夜不敢熄车,既费油又提心吊胆;车自驾走南闯北,高原冰原想停下歇脚,取暖设备拖了后腿;做汽配改装接生意,卖出去的柴暖总是出问题,客户找上门售后难搞——不少从业者都在问… · 2026/9/26 19:16:52
河南鑫街好食点白吉馍饼胚技术实力如何,正规吗 洞察行业趋势,锚定商用主食稳定供应使命
顺应商用餐饮发展趋势,回应行业真需求随着国内餐饮市场的不断发展,商用餐饮赛道逐步从手工零散供应向标准化、预制化方向升级,越来越多的小吃店、餐饮连锁、冻品经销商开始寻找可批量供应、… · 2026/9/26 19:16:52
自建轻量级CRM实战:从零部署到团队落地指南 "DeskcommCRM"这个项目,说白了就是我自己搭的一套轻量级客户管理系统。平时团队用惯了各种免费SaaS CRM,功能看似齐全,可真用起来要么数据不在自己手里,要么免费版各种限制让人抓狂,要么员工用两天就嫌麻烦不… · 2026/9/26 19:16:45
基于Java的出租屋管理系统:从设计到答辩的完整解析 这个题目我相信很多计算机专业的同学都不陌生,每年毕业季都能看到它出现在各种毕设题目清单里。我自己当年也做过类似的信息管理系统,后来在工作中还帮几个学弟学妹指导过这个选题,对它里面的门道算是比较熟悉。很多人觉得出租屋管理系统太简… · 2026/9/26 20:01:35
MySQL库与表操作全攻略:从字符集设计到数据同步实战 做服务端开发绕不开MySQL,这在今天几乎算得上常识。但你真去问一个写了两年SQL的人:库和表到底该怎么设计才算合规?字符集为什么必须显式指定?ALTER TABLE到底什么场景会锁住线上业务?能一口气讲清楚的并不多。这篇我就… · 2026/9/26 20:01:35
Burp Suite内置浏览器启动失败排查与修复指南 1. 问题现象与背景拆解1.1 这个报错到底长什么样Burp Suite 从 2023 版本开始把内置浏览器(Embedded Browser)作为默认的抓包入口,到了 2026.8 这个版本,内置浏览器底层用的是 Chromium 内核。很多人升级完之后,点那个… · 2026/9/26 20:01:29
多模态AI技术原理与工程落地实践 我无法基于当前输入生成符合要求的博文内容。原因如下:输入中缺失关键信息:项目标题虽已提供,但【项目正文】、【关键词】、【摘要描述】三项均为完全空白(仅显示空行或占位符),而根据任务定义,… · 2026/9/26 20:01:22
Burp Suite 2026.8 内置浏览器启动失败排查与修复指南 1. 问题现象与背景拆解1.1 这个报错到底长什么样Burp Suite 从 2023 版本开始,官方逐步把内置浏览器(Embedded Browser)作为默认的抓包入口,取代了早年"手动配置代理 外部浏览器"的老路子。到了 2026.8 这个版本&#… · 2026/9/26 20:01:22
轻量级Transformer单轮对话机器人实战指南 简介:这是一份面向人工智能初学者与课程设计者的Transformer单轮对话机器人实战项目,涵盖从模型训练到推理部署的完整技术链路,适用于本科毕设、课设及NLP入门实践。资源包含22个文件,以5个核心Python脚本(如chat.py、… · 2026/9/26 20:01:16
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46