dsh-left-sidebar-collapse

by condathinker

2 会话与消息github收录于 08-23

选中会话时自动/完全折叠 DSH 左侧栏(独立 DSH 插件)

Auto-collapse / fully-collapse the DSH left sidebar on session select (standalone DSH plugin)

安装

dsh plugin --profile web add github:condathinker/dsh-left-sidebar-collapse

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

English | 中文

选中会话后自动收起 / 彻底收起 DSH 左侧边栏。一个独立、可安装的 DSH 插件(纯客户端,不改 ui-layout 框架)。

在 设置 → General 里有两个独立偏好:

  1. 自动收起侧边栏 —— 选中某个会话后,左侧边栏收起为 56px 的工具栏。行为确定:插件内置状态机驱动 ctx.layout,读取稳定的 data-sidebar-collapsed frame 信号,并对布局自身的反馈进行抑制,因此不会来回翻转。
  2. 完全缩回 —— 当侧边栏处于收起态时,把它整个隐藏(移除工具栏,grid 第一轨道收为 0),并在左上角显示一个浮动展开按钮。点击即恢复完整侧边栏;会话内容保持全宽,其余界面不受影响。

偏好存储在 localStorage(进程内浏览器偏好),因此开关始终可写、并能在刷新后保留。

安装

需要 DSH(DeepSeek Harness)的 dsh CLI。

dsh plugin --profile web add git+https://github.com/condaThinker/dsh-left-sidebar-collapse

然后重启目标 profile:

dsh --profile web

安装后打开 设置 → General,打开 自动收起侧边栏(可选再加 完全缩回)。

Git 安装与 prepare 构建

本插件携带一个自包含的 prepare 构建脚本(tsdown),符合 DSH 插件分发约定。以 Git 方式安装时,pnpm 会在 profile 里执行该脚本构建 lib/,因此需要网络来解析 DSH 的 peer/dev 依赖,且需在 profile 放行构建脚本:把 dsh-left-sidebar-collapse 加入 profile 的 allowBuilds(参见 pnpm ≥10 的 allowBuilds/strictDepBuilds),然后再跑 dsh plugin add。若想免构建安装,维护者可把构建好的 lib/ 提交进 Git 并去掉 prepare——但推荐路径是 prepare。

构建

pnpm install
pnpm build
pnpm test

工作原理

  • 自动收起:监听 ctx.sessions.list,当当前会话切到另一个真实会话时,AutoCollapseMachine 仅在 frame 渲染为展开(读取 data-sidebar-collapsed)时通过 ctx.layout.toggleSidebar() 收起,并抑制后续翻转直到 frame 确认收起——不会双击、不会弹回。
  • 完全缩回:shell.overlay 里的 FullCollapseButton 组件响应式监听 data-sidebar-collapsed;当已收起且开启“完全缩回”时,注入一条 grid-template-columns: 0 minmax(0,1fr) 0 !important 覆盖(侧边栏轨道 → 0,中心列重回全宽),并显示唯一的展开按钮。

client bundle 遵循 DSH 模块表纯度:仅值导入平台模块(ui-primitives、文档明确的 dsh-client-runtime 豁免);其余均为仅类型导入的契约拉取。

模型体验

无,因为插件只移动浏览器分栏布局,且从不进入 append-only 的 Session 日志、模型上下文或遥测。

KV Cache 影响

无;收起手势不触碰历史尾部。

Known Limitations and Deferred Work

  • 与 dsh-better-sidebar 共存 —— 两者各自独立管理侧边栏状态;若开关关着却看起来触发了收起,请检查是否另有侧边栏插件(如 dsh-better-sidebar)也在收起。本插件的开关关闭时严格不动作。
  • 收起动作是翻转而非 store 写入 —— 因为 ctx.layout 仅暴露 toggleSidebar(),插件以上述状态机避免来回翻转,但无法直接改动布局 store。

原始 README: https://github.com/condaThinker/dsh-left-sidebar-collapse/blob/master/README.zh.md ↗