dsh-task-board:用任务看板管多工作区会话

前言

在 DeepSeek Harness(DSH)里同时跑多个智能体任务时,左侧会话列表往往把不同工作区的对话混在一起:看不出某条会话属于哪个目录,也很难在「只开一个主会话视图」的前提下对比进度。mwge22629/dsh-task-board(包名 @local/dsh-task-board)是社区维护的客户端插件,在侧边栏挂一块任务看板:会话以卡片停在板上,点开则在独立浮动窗口里继续对话,多开互不抢焦点。下面介绍它做什么、怎么装、怎么上手。

这是什么

项目 说明
名称 dsh-task-board / @local/dsh-task-board
维护者 MWGE22629
分类 客户端(web profile)
许可证 MIT
当前版本 0.3.0(README 更新日志)
目录页 https://www.skillhub.cn/plugins/MWGE22629/dsh-task-board
源码 https://github.com/MWGE22629/dsh-task-board

插件定位一句话:钉在 DSH 侧边栏的任务看板——把工作区排成分区,会话变成卡片;卡面展示运行状态与最近输出,单击打开与主界面一致的浮动会话窗口。

核心能力

工作区分区

点「关注工作区」后,一个工作区一列,其下会话卡片各归其位。分区可拖拽排序并记住顺序;工作区多时可切换 1 / 2 / 3 行布局。分区里仍有任务时不能取消关注,避免卡片凭空消失。工作区被删后,相关卡片进入「未绑定工作区」兜底列。

卡片上的实时进度

卡片显示当前在做什么(例如工具调用 Bash · npm test、书写、思考及计时)。非运行状态会附带「上次更新距今」文案(与侧栏会话列表同一口径)。底部预览最近一条输出,悬停可看全文。运行中超过 60 秒无事件会显示静默时长,超过 5 分钟标红。失败或已停止的卡片可在卡面上点「▶ 继续」,直接向该会话补发「继续」而无需先开窗。

浮动多会话窗口

点卡片弹出浮动窗口,内含完整会话(消息流、输入框、待确认提问)。可同时开多个窗口,支持拖拽与八向缩放(最小约 340×240)。− 或 Esc 收回当前浮窗并释放会话引用。任务运行中时,Esc 仍遵循 DSH 的双击中止规则,停下后再按可收窗。窗口会避开标题栏,拖出屏幕会自动拉回。

按关注度排序

同一分区内卡片按处理优先级排序:故障停止 → 需决策 → 运行中 → 已停止 → 已完成 → 空闲 → 草稿。钉住(📌)的卡片不受该排序影响,始终置顶。

板内搜索与定位

「关注工作区」左侧的搜索框只在板上已有卡片对应会话正文里做字面匹配(不区分大小写,空白宽松),可按已关注工作区收窄范围;草稿卡不参与。点结果会打开浮窗,并尽力向前翻页、滚动到命中消息并高亮。实现依赖只读 ctx.sessionQuery.filterEvents,默认配置即可用;有输入防抖与 15 秒结果缓存。极早的命中可能无法自动滚到具体消息,此时仅打开会话。

其它适配

  • Turn 结局持久化:完成 / 失败 / 中止随卡片落盘,DSH 重启后不会把失败误读为已完成。
  • dsh-rewind 联动:浮窗内 /rewind、/undo 照常可用。
  • 蓝色文件标签:点击可在系统文件管理器中打开所在目录(Windows 会选中文件)。
  • 峰谷时钟:看板顶部显示 DeepSeek 计费峰/谷时段(北京时间工作日 9:00–12:00、14:00–18:00 为峰,其余半价),谷时显示距下一峰时倒计时。
  • 中英双语与基础键盘无障碍(Tab 聚焦卡片,Enter / 空格打开等)。

Host 与 Client 通过 POST /api/dsh-task-board 通信;看板上的卡片不订阅会话流,运行中摘要由 Host 侧轮询合并,只有打开浮窗才持有会话引用。

安装与启用

前置:已安装 DSH,并至少配置一个 profile(如 web、desktop)。

# 从 GitHub 安装(推荐)
dsh plugin --profile web add git+https://github.com/MWGE22629/dsh-task-board.git

# 或从 GitLink 安装
dsh plugin --profile web add git+https://www.gitlink.org.cn/GeDaamn/dsh-task-board.git

# 或从本地目录安装(开发时)
dsh plugin --profile web add link:D:/path/to/dsh-task-board

把包名加入该 profile 的 package.json 里 dsh.profile.bundles 数组:

{
  "dsh": {
    "profile": {
      "bundles": ["…", "@local/dsh-task-board"]
    }
  }
}

重启 DSH 后,侧边栏出现「任务看板」图标即表示启用成功。包名因历史原因固定为 @local/dsh-task-board,安装命令与 bundles 均按此引用。

典型用法

  1. 点击侧边栏「任务看板」图标。
  2. 点右上角「关注工作区」,选择一个或多个工作区排到板上。
  3. 在分区右上角点「+」新建任务卡,在浮窗里发送第一条指令(Enter 发送,Shift+Enter 换行)——DSH 会在该工作区创建会话并执行。
  4. 也可把侧栏已有会话拖到看板,或点会话行「加入看板」。
  5. 需要续跑时,在失败或已停止的卡片上点「▶ 继续」。
  6. 找历史表述时,用顶部搜索框输入关键词,点结果打开浮窗并定位。

看板数据写在 ~/.dsh/storages/dsh-task-board/board.json(卡片数变少时会生成 board.json.bak)。会话正文仍在 DSH 自有日志中,看板只保存分区、卡片与会话的映射等无法推导的信息。插件 README 明确说明不发起外部网络请求。

适用场景与注意

适合谁:经常在 DSH 里并行多个工作区任务、需要一眼扫状态、又希望多会话分窗对照的开发者。与「单会话主界面」相比,看板侧重编排与巡视,详细编辑仍可在浮窗或主会话完成。

运行与信任边界:插件以当前 DSH 进程权限运行,能读写本机 DSH_HOME 下看板存储并调用官方会话查询 API。安装前建议浏览 GitHub 仓库 源码与 MIT 许可证。SkillHub 等为社区目录站点,与 DeepSeek / 幻方无官方从属关系,不宜当作官方应用商店。

兼容性:浮窗依赖 shell.overlay 与 taskboard.window 等客户端槽位;若窗口空白,可先收起再打开,并查看 DSH 日志中 [dsh-task-board] 报错。Host RPC 未就绪时看板可能短暂显示「存储不可用」,一般会数秒内重试。

结尾

dsh-task-board 把「多工作区、多会话」从侧栏长列表里抽出来,用分区卡片 + 浮窗多开 + 结局持久化 + 板内搜索,降低并行任务时的导航成本。若要进一步了解说明或提交 issue,可看社区目录页与仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/MWGE22629/dsh-task-board
  • GitHub:https://github.com/MWGE22629/dsh-task-board
羽毛球分组比赛记分
小程序二维码

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

小夜