Session Kanban:在 DSH 侧栏用看板管理多会话

前言

在 DeepSeek Harness(DSH)里同时开多个聊天会话时,会话列表往往只能看到标题或最近一条消息,当前在做什么、Todo 做到哪一步、哪些还在跑,需要逐个点进去才能确认。对经常切换任务、用子代理或 Team 并行跑会话的开发者来说,这种「点进会话才知道状态」的方式成本偏高。

下面介绍社区客户端插件 Session Kanban(npm 包名 dsh-session-kanban,仓库 Thunderunruly/session-kanban)。它在 DSH Web UI 左侧边栏增加一块看板:汇总各会话的当前工作、Todo 进度、运行状态,并提供可搜索的活动热力图;点卡片即可回到对应会话。维护者为 Thunderunruly,分类为客户端插件;项目在 GitHub 上的星标数为 0(以目录页线索为准)。插件以 MIT 许可证发布,当前 npm 版本为 1.1.5(见仓库 package.json)。

这是什么

Session Kanban 是面向 DeepSeek Harness 的会话看板插件。宿主侧把 user/message、assistant/message、turn/start、turn/end、todo/write 等事件折叠成卡片所需的投影(请求、回复、Todo 完成度等),客户端侧用 DSH 自带的 React 与 UI 原语渲染侧栏入口和看板面板,无需在插件包里再打包一份 react。

开发与测试针对 DSH 0.2.1-rc.3(desktop profile),且需要带 Web UI 与插件支持的 DSH 环境。

核心功能

侧栏入口与总览

左侧边栏会出现 Session Kanban 面板图标,与内置面板并列。打开后 Overview 页展示会话总数、正在运行数量、Todo 完成情况,以及类似 GitHub 贡献图的活动热力图,可在 Year / Month / Week / Day 间切换尺度;热力图可按所选国家区分工作日与非工作日 shading。

会话卡片与快捷操作

All 等标签页以瀑布流卡片列出会话:当前请求、最新回复、Todo 进度条、更新时间、工作目录、运行状态等。单击卡片(或按 Enter/Space)打开该会话。卡片底部悬停可 pin、重命名、fork、复制 Session ID、归档(带确认)等;子代理路由拥有的会话不可重命名,悬停会说明原因。

标签页包括 Overview / All / Running / With-todos / Completed,另有搜索框,会同时过滤看板与总览聚合。另有 Agent Team 范围(存在 Team 时)与 Workspace 过滤器(默认「All workspaces」,仅一个 Workspace 时隐藏,刷新后保持);子代理、团队成员、fork 子会话继承父会话的 Workspace,便于在同一工作区下筛选。

父子会话关系会在卡片上显示紧凑一行并链到父会话;同一「家族」共用强调色,便于在乱序卡片中辨认。Fork 出来的会话是独立顶层会话,不作为子卡片计数。

实现要点(便于排查)

同一 bundle 内 index.js 注册 sessionKanban 投影,client.js 注册侧栏、主面板与 Settings → General 配置项;cordis.patch.yml 把插件行写入 profile。看板偏好(标签、搜索、Workspace、热力图尺度等)保存在浏览器 localStorage,键前缀为 dsh.session-kanban.*。

工作日日历数据由浏览器从公开 CORS 端点拉取并按国家缓存在 localStorage;具体数据源与回退逻辑见仓库 Wiki(README 中 Workday calendar data sources 一节)。

安装与启用

在目标 DSH profile 下从 npm 安装(命令来自官方 README):

dsh plugin --profile web add dsh-session-kanban

安装后 重新加载 DSH 窗口一次,客户端 bundle 才会进入启动图;之后纯客户端改动可热更新。本地开发可用插件管理器的 install_bundle <本目录绝对路径>,或通过 link: 依赖配合 cordis.patch.yml,同样需在安装后重载窗口。

典型用法

  1. 点击侧栏 Session Kanban 图标打开看板。
  2. 在 Overview 查看汇总与热力图;在 Settings → General 中设置 Workday calendar(默认 China,共 24 国)与 Auto-update calendar(默认 1 month)。
  3. 切换到 All 浏览卡片,用 Running / With-todos / Completed、Team、Workspace、搜索框组合收窄列表。
  4. 点击卡片回到会话;需要时在卡片 foot 使用 pin、归档、fork 等操作。
  5. 热力图旁的状态行显示刷新图标、国家、上次刷新日期与数据源;悬停可看完整状态与工作日规则,点刷新图标可立即更新。

General 设置项如下(摘自 README):

设置 默认 选项 作用
Workday calendar China 24 countries 热力图工作日/非工作日 shading 的数据来源
Auto-update calendar 1 month 1 day / 1 week / 1 month / 3 months / 6 months / 1 year 浏览器重新拉取假日数据的频率

适用场景与注意

适合会话数量多、需要一眼对比「谁在跑、Todo 还剩多少、最近哪天活跃」的 DSH 用户;与子代理、Team、多 Workspace 并行时,关系着色与 Workspace 继承有助于在同一张看板上对齐上下文。

插件与 DSH 客户端同进程运行,安装前建议阅读 GitHub 仓库 源码与 MIT 许可证;热力图会按配置从公网拉取假日数据并在本地缓存,若对出站请求或数据驻留有要求,请在 Privacy 与 Wiki 中自行核对说明。离线测试才需要 node 与 pnpm;运行时从 DSH 宿主加载 React,不额外捆绑运行时依赖。

限制与边界以 README Limitations 为准;问题可提交至 Issues。

结尾

Session Kanban 把多会话的状态从「逐个打开」收成侧栏看板:卡片跳转、Todo 进度、过滤搜索与活动热力图在同一面板完成。DeepSeek Harness 社区采用「一切皆插件」的扩展方式;插件目录由独立站点维护,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜