dsh-session-manager 使用指南
为 DSH Web 界面补齐完整的会话管理能力:回收站删除、归档恢复、继续/暂停、未读标记、fork、工作区管理与上下文压缩阈值。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-session-manager
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-session-manager
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 设置页新增独立的「会话管理」分栏(与 Notifications 同级的设置分区)
- 面板列出全部会话(标题 / 工作目录),底部折叠区单独展示已归档会话,支持一键恢复回到会话列表
- 回收站:删除的会话移入回收站(保留最近 10 条,超出自动清除最早一条),可恢复或彻底删除
- 统计:每个会话可在居中弹窗中查看完整近期活动统计(轮次 / 用户消息 / 助手消息 / 全部工具调用 / 活动窗口)
- 继续会话:一键打开会话并关闭面板;暂停:停止正在运行会话的当前回合
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
安装后需要做什么?
安装完成后需要重启 dsh web。Host 插件和服务端的 client bundle 都在启动时加载,不重启不会生效。
能不能删除正在运行的会话?
不能。删除按钮在运行中的会话上会被禁用并拒绝请求;只要当前会话处于思考中状态就受保护。当前打开但空闲的会话可以删除。
回收站能保留多少条?满了怎么办?
最多保留 10 条。再删除新会话时,最早进入回收站的那条会被自动彻底清理(文件也会被删除),无法恢复。
子代理(subagent)会话被删了怎么办?
即使主会话已经删除,子代理会话变成"孤儿"也能在会话管理里直接清理。子代理会话非运行中即可删除。
"上下文压缩阈值"配置保存在哪里?
持久化在 DSH 存储域(~/.dsh/storages/dsh_delete_session.json)。如果默认 Agent 预设是用户预设,会同步写入对应 agent.cordis.yml 的 compaction-basic 配置;系统预设只读。运行时每个 agent/pre-step 钩子强制把阈值套用到所有预设的压缩引擎上,所以重启后也立即生效。
未读标记和官方未读有什么区别?
官方未读是琥珀色(等待输入)和绿色(完成提醒)的点,点它们会"就地已读"——不跳转页面,只清除官方提醒。本插件的蓝色未读是手动标记,存在浏览器 localStorage(共享 key dsh.session-unread.v1,可与其他会话管理插件互通);打开会话自动已读。
侧边栏的蓝色未读点会一直准确吗?
官方侧边栏的行元素不带会话 id 属性,本插件按标题文本匹配并用 MutationObserver 注入蓝色点;会话管理抽屉内部按真实会话 id 精确标记,不受影响。重复标题的会话在侧边栏会共享同一个点。
— 源: plugin_wiki.faq_json
兼容性
- DSH: >=0.1.0-rc.6
- Node: ^22.19.0 || >=24.0.0
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则