前言¶
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 许可证,确认符合你的安全与合规要求。
典型用法¶
- 安装并重启 Harness 后,打开某个 workspace 对应的看板面板(或通过侧边栏浮层进入)。
- 按 N 或界面操作新建任务:填写卡片内容,选择已有 Session 或新建;若连续做同一主题,可依赖默认「复用上次 Session」的行为。
- 任务留在「待办」列;需要执行时在卡片上 Start,任务进入「进行中」,Session 开始运行;角标会随 Host 推送变为 Running 或 Waiting for you 等。
- 点击卡片,在详情 pane 内直接与该 Session 的真实对话交互(补上下文、批准工具等)。
- 本次由该卡片启动的运行结束后,任务自动进入「完成」并记录时长;也可手动拖拽到其他列以反映你自己的任务划分。
- 需要改列名或增加阶段列时,在看板设置中调整;自定义列删除后,该列任务回到「待办」。
浮层入口适合在编辑代码或浏览文档时快速扫一眼「还有多少活跃任务」,再 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