dsh-board:在 DeepSeek Harness 里用看板管理 Session 任务

前言

DeepSeek Harness(DSH)以 Session 为中心:一个 Session 对应一页对话,侧边栏能看单个 Session 的状态,却没有「整个工作区里哪些在跑、哪些在等你、哪些已经做完」的全局视图。如果你同时在多个工作区里开多条长对话、又希望任务状态和真实对话留在同一条 Session 里,就需要在 Harness 之上加一层任务视图。dsh-board 是社区维护者 lihuu 发布的客户端插件,在每个 workspace 上挂一块可配置的 Kanban 看板,卡片绑定原生 Session,列表示任务状态,角标表示 Session 的实时运行状态。

这是什么

dsh-board(包名 @lihuu/dsh-board)是面向 DeepSeek Harness 的 Kanban 任务板:卡片是任务,列是任务状态,每个任务在一条长期存活的 native Session 里执行。 它不改变 Harness 的 Session 存储模型,只是在 Host 侧持久化任务与列配置,在 Web UI 里注册面板与浮层入口。

与「每个任务新建一个 Session、在侧边栏来回点」相比,看板默认会让新任务复用本看板上次使用的 Session,相关任务可以共享同一段长对话;任务列(待办 / 进行中 / 完成)与 Session 生命周期(Idle / Running / Waiting for you / Done)分开展示,避免把「对话是否在跑」和「你心里的任务进度」混为一谈。

核心功能

工作区即看板

顶栏按 workspace 切换标签,每个 workspace 各自一块板,只显示该工作区下的任务。

可配置列

内置 待办 / 进行中 / 完成 三列,可重命名;可增删自定义列,任务可在任意列之间拖拽。删除自定义列时,其中的任务回退到「待办」。列配置持久化。

任务与 Session 绑定

创建任务时可选择已有 Session,或新建 Session。默认情况下,新任务会复用本看板最近一次运行所用的 Session,便于同一主题的多步任务共用一条对话,而不是「一任务一 Session」。

实时状态

卡片上的小角标来自 Session 列表与 Host 推送的状态源(与侧边栏同源):Idle、Running、Waiting for you、Done。列位置表示任务状态,角标表示 Session 状态。

自动流转与计时

在卡片上按 Start:任务进入「进行中」;仅由该卡片触发的运行结束后(Session 空闲且稳定约 2.5 秒),任务才会被记为完成并记录耗时。在其他入口发起的运行不会擅自改动任务列状态。

板内原生对话

点击卡片后,详情区渲染 Harness 自带的 conversation.content 工厂,绑定对应 Session 引用——转录、输入框、模型与权限控件、问题卡片等与主界面一致,不是插件重写的聊天 UI。

快捷浮层与键盘

侧边栏底部的看板按钮可在任意页面上打开同一套任务的浮层(角标为活跃任务数)。看板内:↑/↓ 移动焦点,Enter 打开,N 新建,Esc 关闭;对话视图内 ↑/↓ 切换上/下一条任务,Esc 回到看板。

持久化

任务、列与当前选中项由 Host 写入磁盘(见下文「数据与风险」),应用重启后仍在;不仅依赖页面刷新时的浏览器缓存。

安装与启用

DeepSeek Harness 版本需 ≥ 0.2.2(依赖带 main、sidebar.panellist、shell.overlay、conversation.session.header.utilities 等插槽的 Web UI)。插件无构建步骤,客户端为直接提供的 JavaScript。

插件管理器(推荐)

dsh plugin add @lihuu/dsh-board

或在图形界面:Settings → Plugins → install bundle,输入 @lihuu/dsh-board。包内带 cordis.patch.yml bundle 层,会写入 Host 行。安装后重启应用一次(Host 半在启动时加载)。

bundle 使用的 patch 行形如:

- insert:
    - id: dsh-board
      name: '@lihuu/dsh-board'

插件以当前 DSH 进程权限运行。安装前建议在 GitHub 仓库阅读源码与 MIT 许可证,确认符合你的安全与合规要求。

典型用法

  1. 安装并重启 Harness 后,打开某个 workspace 对应的看板面板(或通过侧边栏浮层进入)。
  2. 按 N 或界面操作新建任务:填写卡片内容,选择已有 Session 或新建;若连续做同一主题,可依赖默认「复用上次 Session」的行为。
  3. 任务留在「待办」列;需要执行时在卡片上 Start,任务进入「进行中」,Session 开始运行;角标会随 Host 推送变为 Running 或 Waiting for you 等。
  4. 点击卡片,在详情 pane 内直接与该 Session 的真实对话交互(补上下文、批准工具等)。
  5. 本次由该卡片启动的运行结束后,任务自动进入「完成」并记录时长;也可手动拖拽到其他列以反映你自己的任务划分。
  6. 需要改列名或增加阶段列时,在看板设置中调整;自定义列删除后,该列任务回到「待办」。

浮层入口适合在编辑代码或浏览文档时快速扫一眼「还有多少活跃任务」,再 Enter 跳进对应对话。

数据存储与注意

层级 位置 作用
权威 ~/.dsh/dsh-board/state.json 任务、列、视图选中、删除墓碑
备份 ~/.dsh/dsh-board/state.json.bak 主文件损坏时回读上一代
缓存 浏览器 localStorage 仅同一次运行;Desktop 每次启动随机端口,不能跨重启当备份
对话 Harness Session 存储 转录与运行状态;任务只存 sessionId

写入在 Host 内串行、原子(tmp + rename),按任务 id 合并(较新的 updatedAt 优先)并合并删除墓碑;客户端约每 2.5 秒轮询,写前防抖 400 ms 会先 reconcile。风险: 仅一份主文件加一份备份,无版本历史;请把 state.json 纳入日常备份。删除整个 ~/.dsh 会丢失看板数据,但不影响已有 Session 对话。

开发时:浏览器半可通过刷新重载;改 Host 半(src/index.js)需重启应用。勿在生产环境盲目 git clone 替代正式 bundle 安装,除非你在做插件开发并已按 README 说明链接到 profile。

适用场景

  • 在同一 workspace 里并行多条 Agent 任务,需要列状视图区分「还没开始 / 正在跑 / 已完成」。
  • 希望多条相关步骤共用一条长 Session,而不是任务一切就新开页。
  • 需要在不离开当前页面的情况下,通过浮层和键盘快速切换任务与对话。

若你只偶尔单 Session 对话、不需要任务层与看板 UI,可以不装;若你依赖 DSH 低于 0.2.2 的旧插槽布局,需先升级 Harness 再安装。

结尾

dsh-board 在 Session -centric 的 Harness 上补了一层 per-workspace 任务看板:列管任务、角标管 Session、详情里是原生对话。社区插件目录与 DeepSeek / 幻方无官方从属关系,安装与升级以目录页与仓库说明为准。

  • 目录页:https://www.skillhub.cn/plugins/lihuu/dsh-board
  • GitHub:https://github.com/lihuu/dsh-board
  • 维护者:lihuu · 许可证:MIT · 当前包版本:1.0.0
羽毛球分组比赛记分
小程序二维码

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

小夜