Files
deepseek-harness/packages/client/ui-sidebar/README.zh.md
2026-08-12 22:56:36 +08:00

3.2 KiB
Raw Blame History

@deepseek-ai/dsh-client-ui-sidebar

English | 中文

侧边栏外壳插件负责字标、New Session 操作、布局持有的折叠控件、可感知滚动的区域 seat以及固定在底部的 Settings seat。ui-workspace 持有渲染到 sidebar.workspaces 的 Workspace 与 Session 浏览器;本包既不派生其中的行,也不持有其视图偏好。折叠到布局拥有的 56px 轨道仍属于本地呈现行为。约定:slot 系统标准

New Session 会启动运行时的页面局部前端 Session Intent。运行时优先使用作用域操作明确指定的 Workspace否则使用当前 Session 所属 Workspace再否则使用最近活跃 Workspace一个 Workspace 都没有时则清空选择,进入空白 New Session 页面。Workspace 专属控件与共享选择器由 ui-workspace 持有。

SidebarRootComponentProps 组合布局 owner share、全局 useSessionsuseWorkspaces 钩子、已声明的 sidebar.workspacessidebar.settings 子 slot以及注入的 startSession 与侧边栏切换回调。这里没有插件 store。

实时收起时,外壳会把展开内容固定在当前宽度,并用 150ms 将其淡出。随后,上方四个控件——外壳的侧栏切换与新建会话,以及通过 sidebar.workspaces 渲染的添加和搜索——共用一次 150ms 的淡入和 49px 左移,在布局的 300ms 栏滑动结束时一起进入 56px 轨道;每个 36px 控件盒都会沿同一条路径到达轨道左侧 10px 的内边距。固定在底部的 sidebar.settings 控件只共用淡入时序,不发生横向位移。页面初始即为收起状态时会静态渲染轨道;减少动态效果模式会禁用两段过渡。

栏内的滚动条是一种指针可供性:只要指针不在栏内,外壳就把 ui-theme 的滚动条间接层重新绑定为 transparent;指针离开后滑块再保留 2 秒,因此没人指向的列表不会带着滚动条。避免行位移的空间预留属于滚动区域本身(ui-workspace),所以显示滑块不会引起重排。

页脚承载 sidebar.settings:侧边栏只渲染固定在底部的布局 slot并共享其栏状态wideui-settings 在此注册触发行和设置面板。

/client 导出表层只包含插件主体(applyinject及约定类型SidebarRoot、行组件和树派生仍由 slot 注册封装在包内。

模型体验

无。侧边栏渲染浏览器会话列表;这里没有任何内容进入模型请求。

KV Cache 影响

该包package既不组装也不发送提供方请求。

已知限制与暂缓事项

  • Session 状态点渲染由 ui-workspace 持有:没有可用的 done/error 通知数据源。
  • Workspace 浏览行为由组合持有:分组、排序、搜索与行状态都属于 ui-workspace,不属于此外壳。
  • 「New task completed」未读标记是本地查看状态:完成时间 > 上次查看时间这一事实永远不会到达宿主。