All plugins

DSH / BUNDLE / CLIENT-UI

dsh-recent

v0.1.0ttmouse / dsh-recent30991a2ad1

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-recent

DSH web GUI plugin: a Codex-style 最近 (Recent) section in the left sidebar that flattens the newest sessions of every workspace into one jump list, directly below the workspace tree.

README / EN

Package documentation

Registry summary

DSH web GUI plugin: a Codex-style 最近 (Recent) section in the left sidebar that flattens the newest sessions of every workspace into one jump list, directly below the workspace tree.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **只在宽栏显示**:56px 导轨状态不渲染本区块(需要在导轨上占一格的入口,应改用 `sidebar.panellist` 走面板形态)。 - **工作区折叠依赖外壳的 DOM 结构**:靠 `_groupSection` / `_footArea` 两个 CSS Module 后缀和「第一个 group 的父节点」定位,分组的身份则靠标题行上的 `data-row-key="workspace:<id>"`;外壳若改名或改结构,折叠会静默失效(退化成外壳原本的完整列表),不会报错也不会破坏列表——identity 读不到的分组一律排到最后,等于按列表顺序裁。折叠按分组计数(未分组那一组也算一个),不按会话数。区块所在的滚动容器也走这条定位:外壳若改成不给列表自己的 `overflow-y`,区块会跟着那次解析落到别的元素上。 - **折叠只裁不排序**:新鲜度只决定谁留下,不改变顺序——工作区的顺序沿用列表自身顺序(新建在前 + 手动排序),插件不按「最近活跃」重排;要重排需要动外壳的列表顺序,属于上游改动。 - **会话折叠同样依赖外壳的 DOM 结构**:行靠 `data-row-key="session:<id>"` 定位、靠 `_groupSection` 划归属(嵌套分组不串行);外壳若去掉行上的 key 或改掉槽位结构,会话折叠会静默退回外壳自己的配额(5 个空闲会话 + 运行中豁免),不会报错。顺带一提,外壳自己那行的数字只看它自己没渲染的部分,点开时会比它承诺的多露出插件折叠的那几条。 - **一次一页**:默认渲染最近 20 条,之后每次滚动追加 20 条;会话很多时要一路滚到底才能看到最老的,没有页码或跳转入口。 - **不做搜索、不能重命名**:搜索仍在工作区树里;重命名也留在树里——外壳的重命名对话框由 `ui-workspace` 的内部 store 驱动,插件拿不到入口,所以最近行的 ⋯ 菜单比外壳的会话菜单少一项「重命名」。要找很久以前的会话,搜索仍然比滚到底快。 - **标题为空时会显示会话 id**:标题由宿主从日志投影;尚无标题的旧会话,行标题就是 `displayTitle` 的回退值(通常是项目目录名或会话 id)。