ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从自绘面板到DSH原生右侧栏:深度解析DSH-better-sidebar v0.19的架构演进

从自绘面板到DSH原生右侧栏:深度解析DSH-better-sidebar v0.19的架构演进 从自绘面板到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),仅供参考
返回列表