# @dongasai/running-sessions-float 在 DSH Web GUI 左侧栏底部的动作区里放一块「进行中」坞:把**正在跑**、**卡在等你处理**和**刚跑完还没看过**的会话收成一张小列表,点一行就把主视图切过去;没有这类会话时收成一行细字,只留「暂无进行中」。坞是布局里的真实一块,排在这排动作的最上面,**不浮在会话列表上**。 官方侧栏本来就会在会话行上标运行状态点(`StateDot`)和待处理状态,但那些行分散在各个工作区分组里 —— 组一折叠就看不见,要判断「现在有几个会话在等我」得逐个展开找。 这个坞不新增数据源,只做聚合:复用同一套标准 Hook(`useSessions` / `useSessionStatus`),筛出 running、pending 或 `completionUnread` 的会话,按最近更新时间排,固定在侧栏底部动作区。它不轮询、不落盘、没有 Host 状态,也不改任何会话。 | 想知道 | 看 | |---|---| | 怎么装、怎么用、怎么排错 | 本文件 | | 为什么这么实现(槽位取舍、过滤规则、空态、locale 降级) | [IMPLEMENTATION.md](IMPLEMENTATION.md) | | 给 agent 的约束、命令、改动连带项 | [AGENTS.md](AGENTS.md) | 本仓库是 DSH 独立插件仓库,当前只有这一个插件;**仓库根就是插件包** —— `package.json`、`index.js`、`client.js`、`cordis.patch.yml`、`locale/` 都在根目录,装哪个 profile 都指到仓库根。 ## 功能列表 | 能力 | 说明 | |---|---| | 进行中聚合 | `running === true` 的会话进坞,行尾「运行中」 | | 待处理聚合 | 有 `pendingInteraction` 的会话进坞,按类型显示「等待审批 / 计划待审 / 等待回答」;待处理优先于运行中 | | 完成未读聚合 | `completionUnread === true`(主视图之外停了运行、结果还没看过)的会话进坞,行尾灰字「已完成」;打开该会话后官方清掉这个标记,行随之消失 | | 一键切换 | 点行调用 `uiWorkspace.openSession`,主视图切到该会话 | | 计数徽标 | 坞头右侧显示当前行数 | | 头部状态点 | 只要还有会话在跑或在等你处理,绿点就脉冲;只剩「已完成」提醒时切成静止的 6px 成功色圆点,不再假装有任务在跑 | | 空态细行 | 无进行中会话时收成一行无边框细字,灰点静止,不显示计数 | | 中英双语 | 内置 zh / en 两套文案,跟随界面语言;locale 服务缺失时回落中文 | | 仅 Web 客户端 | `dsh.client.platform: web`;headless 等没有 Web 客户端的 profile 不加载它 | | 占位不遮挡 | 注册在 `sidebar.footer.action`(侧栏底部动作区),是布局里的真实一块,不盖住会话列表 | | 与官方入口共存 | 坞独占动作区最上面一行,`用量统计` `会话管理` 等原有入口照旧排在它下面,一个都不少 | | 键盘可达 | 每行是 `