READMESource: main@97ae0283
🏛️ 会话廊 (Session Booth)
一个 DeepSeek Harness (DSH) 插件:在主窗口中并排显示多个会话,布局持久保存。
📖 简介
会话廊 🏛️ 在左侧栏新增一个常驻入口,让你在主窗口中同时查看 n 个会话。每个会话一个分屏,互不干扰,适合并行监控多个 Agent 任务。
✨ 功能
| 功能 | 说明 |
|---|---|
| 📌 左侧栏常驻入口 | 点击「会话廊」进入分屏视图 |
| 🎯 首次点击多选 | 弹出会话选择器,可勾选多个会话 |
| 🔲 分屏布局 | 阶梯网格自动排列(奇数个也无空格,如 5 个→上 2 下 3) |
| 📐 分栏布局 | 一键切换为单行 N 列等宽分栏(网格 / 分栏切换) |
| 🏗️ 横排 / 纵排 | 货架式布局:横排为横向多栏自动换行(非一行挤五个),纵排为单列竖直堆叠,点击图标立即切换并持久化 |
| 📏 面板拉宽拉高 | 每个面板右/下边缘拖拽 handle 调整尺寸,自动归一化并持久化 |
| 🖱️ 拖拽排序 | 拖面板标题栏(或长按空白处)浮起,拖到目标面板即可换序,落点有高亮反馈 |
| ➕ 定向添加 | 从哪个面板点「+」,新窗口插在哪个面板后面 |
| ⚙️ 每格控制 | 右上角:状态点、删除(−)、添加(+) |
| 🏷️ 标题栏 | 「工作区 / 会话」分体:点工作区名跳转当前会话,点会话名切换同工作区会话 |
| 📜 实时滚动 | 默认滚动到底部,流式输出时自动跟随;输入框聚焦时暂停跟随 |
| 🟢 状态点 | 完成=绿,运行中=绿闪(上一轮失败但现在在跑也显示绿闪),待处理=黄(含已提问但首轮未完成),报错=红 |
| 💾 持久化 | 布局与布局模式写入 localStorage,重启 DSH 后自动恢复 |
| 🚀 懒加载 | 每个分屏按帧错峰挂载,避免 N 个会话同时渲染卡顿 |
| ⏳ 加载动画 | 首次进入显示统一加载动画,渲染完成后淡出 |
📦 安装
方式一:插件管理器
在 DSH 中通过插件管理安装:
plugin_manager install_bundle C:\\...\\session-booth
如果默认镜像(
registry.npmmirror.com)返回ERR_PNPM_NO_MATCHING_VERSION,请改用官方源:plugin_manager install_bundle <插件目录> --registry https://registry.npmjs.org
方式二:从 GitHub 安装(远程,推荐给别人用)
无需下载目录,直接从 GitHub 源安装。按所用 DSH 形态二选一:
# 桌面 App(DSH Desktop)
dsh plugin --profile desktop add github:Fadegentle/dsh-session-booth
# 命令行 dsh web
dsh plugin --profile web add github:Fadegentle/dsh-session-booth
装完重启 DSH 即可。
<profile>是 DSH 的 profile 名(desktop/web),不是用户名。若用了别的 profile,把命令里的desktop/web换成实际名字即可。从 GitHub 源安装时 pnpm 会在运行构建脚本前询问确认;若想跳过确认,直接装发行页打包好的
tgz:dsh plugin --profile desktop add https://github.com/Fadegentle/dsh-session-booth/releases/download/v0.3.7/dsh-session-booth-0.3.7.tgz
方式三:手动放置
将整个 session-booth/ 目录放入 DSH 的插件目录,重启 DSH 即可。
🚀 使用
- 点击左侧栏 会话廊 图标。
- 首次进入会弹出选择器:勾选要显示的会话,点击「确认」。
- 每个分屏标题栏:点左侧「工作区」名跳转当前会话;点右侧「会话」名切换同工作区会话。
- 每个分屏右上角:+ 添加更多会话、− 移除该会话。
- 网格右上角的 🏗️ / 📐 按钮可切换 横排 / 纵排 / 网格 布局。
- 每个面板右边缘或下边缘的半透明高亮区可拖拽调整尺寸。
- 拖面板标题栏(或长按空白处)浮起窗口,拖到目标面板上方即可换序。
- 重启 DSH 后自动恢复上次的分屏布局。
🎨 状态点颜色
| 状态 | 颜色 / 动效 |
|---|---|
| ✅ 完成 | 实心绿 #30a46c |
| 🔄 运行中 | 绿色渐入渐出闪烁 |
| 🟡 待处理(尚无已定局轮次) | 黄 #f5a623 |
| 🔴 意外终止 / 报错 | 红 #e5484d |
🧩 兼容性
- DSH 版本:需要支持
@deepseek-ai/dsh-client-ui-conversation与@deepseek-ai/dsh-client-ui-sidebar的版本。 - 平台:Web / Electron(客户端渲染)。
- 无宿主依赖:仅客户端注入,宿主侧为空实现。
📁 文件结构
session-booth/
├── client.js # 客户端逻辑(注册槽位、分屏网格、状态点、拖拽、布局模式)
├── index.js # 宿主 no-op
├── cordis.patch.yml # 插件插入配置
├── package.json # dsh-session-booth 清单
├── icon.svg # 24×24 宫格图标
└── src/locale/
├── zh.json # 中文本地化
└── en.json # 英文本地化
📛 名称
- 英文:Session Booth
- 中文:会话廊
⚖️ 许可
MIT License。可用于个人及商业用途。
No comments yet. Be the first to write one.