dsh-plugin-command-centre:DeepSeek Harness 任务指挥台

前言

在 DeepSeek Harness(DSH)里跑多个对话、子 agent 和并行任务时,默认界面往往是「左列表 / 中对话 / 右输出」——一次只能盯住一条会话。任务一多,谁在跑、谁在等你批准、子 agent 树和最近产出,就要在侧栏和标签之间来回切。

Command Centre 是社区插件 dsh-plugin-command-centre(维护者 BadCalna,分类:工作流),给 Harness Web UI 增加整页「任务指挥台」:一屏汇总各会话进度、subagent 关系和产出摘要,并支持跳回对应对话。当前版本标注为 V1a:只读——观察与跳转,不做批准、回答或打断。

这是什么

插件在宿主里纯增量挂载:新增一个 main 面板、左侧一个图标、一个全局快捷键,不替换宿主的 root / sidebar / rightbar,可随时卸载。

一句话定位:赛博朋克风格的 mission-control 看板 + 可选矩阵 / 节点画布,数据全部来自宿主 Client 已有投影,不额外开历史流。

核心功能

看板与视图

  • 看板(默认):需要你 / 运行中 / 空闲 等列(README 亦提到 失败 列,来自宿主 turn/end.reason 如 error / blocked / max-tokens);列头带 CH-0N 编号与计数。
  • 矩阵:按 v 在视图间循环(看板 → 矩阵 → 画布)。
  • 节点画布:任务为节点、父子连线;可拖节点、空白处平移、滚轮缩放;布局与手动位置存 localStorage(键名 dsh.command-centre.canvas.v1),画布位置另存本机 ~/.dsh/command-centre/canvas.json(不随账号迁移)。

任务卡片与详情

卡片展示状态点、标题、工作区、AGENTS 主/子(含活跃数)、CTX 上下文占用、todo 分段进度、最后活动,以及产出码(如 OUT 2F 表示写入文件次数、TXT 有回答、ERR 出错,悬停可看摘要)。

详情抽屉含概览、目标(goal)、团队、todo 全量、子任务、产出区(文件区 + 对话区);点文件可在面板内预览文本/代码或图片,其他类型提供「在桌面打开」。对话区对 markdown 做轻量扁平化,不引第三方库。

subagent:卡片内嵌第一层子 agent,更深一层以 +N 计数展示。

需要你横幅:审批 / 计划审核 / 提问等项顶在最上方,处理完自动消失。

过滤、设置与安静模式

  • 搜索、工作区下拉、过滤循环(全部 / 只看活跃 / 只看待你),快捷键 f。
  • 设置(⚙):默认界面(看板 / 矩阵 / 画布)、安静模式默认开、是否记住上次界面;安静模式 s 降饱和。
  • 只看所有工作区(可下拉过滤);「只看当前工作区」需宿主暴露当前工作区,资料标明暂缺。

节点间投递(写操作)

从详情抽屉「产出 · 文件区」把文件拖到看板卡片或画布节点,确认后以 queue 模式向目标会话投递带文件路径的用户消息(不打断正在跑的回合);可选附来源会话最近回答摘要。文件不拷贝,由目标 agent 自行读取;无撤销,取消需到目标会话删消息。目标是 subagent 会话时可能被宿主拒绝。

跳转与快捷键

  • 打开对话:↗、双击卡片、o,回到 Conversation 视图。
  • 全局:⌘⇧P(Windows / Linux 为 Ctrl+Shift+P)打开或返回 Command Centre;宿主 ⌘P 已被工作区文件面板占用,插件刻意选用 ⌘⇧P。
  • 其他:j/k 或方向键移动任务,Enter 详情,/ 搜索,Esc 关抽屉;画布 0 适配全图。

完整快捷键表见 GitHub README。

数据来源(只读投影)

信号 来源
会话列表 + parentId 树 useSessions(s => s)
running / 待处理 / 未读 useSessionStatus(m => m)
工作区名 useWorkspaces(s => s)
todo / 上下文 / token / 子 agent / 目标团队 投影 todos、contextPressure、tokenUsage、subagentCatalog、subagentTiming、goal、agentTeam

冷会话用 ctx.sessions.refreshProjections(id) 拉一次投影。

当前明确不做的事

  • 只读:不批准、不回答、不打断。
  • 产出来自 tool/call 里 write/edit 的 file_path(最近 5 个,计数为累计写入),不是 git diff;最后回答截断约 200 字符。
  • 不持久化面板选中态(刷新回对话页,故强调 ⌘⇧P)。
  • 不支持拖拽改状态;画布不能画 workflow 阶段节点(workflow/* 未转发,待 Host 投影)。
  • 文件预览在插件面板内,非宿主右栏原生预览 API。

安装与启用

前提:DeepSeek Harness 0.2.1-rc.3(README 写明 main / sidebar.panellist / locale / shortcuts 契约在该版本核对;其他版本可能需小改)。package.json 中插件版本为 0.9.0,许可证 MIT,Node >=22(开发校验用)。

在 Harness Web UI:插件 → 安装插件,安装源填:

github:BadCalna/dsh-plugin-command-centre

本地开发可用目录或软链:

link:/absolute/path/to/dsh-plugin-command-centre

装完后左侧面板列表出现 Command Centre,按 Ctrl+Shift+P(或 macOS 上 ⌘⇧P)或点图标进入。卸载在插件页「停用 / 删除」即可,不改动宿主文件。

命令行 profile(非桌面 App 独占管理的 profile)等价:

dsh plugin --profile <name> add github:BadCalna/dsh-plugin-command-centre

再将其加入该 profile 的 dsh.profile.bundles(插件管理页可代劳)。

DSH 生态是「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

  1. 安装并打开 Command Centre,默认看板按「需要你 / 运行中 / 空闲(及失败)」浏览所有工作区任务(可用工作区下拉收窄)。
  2. 顶栏「需要你」横幅优先处理待批准、待回答项;点卡片或 Enter 打开抽屉,查看 goal、团队、todo 与产出文件,必要时在面板内预览文件。
  3. 需要继续在某会话里操作时,o 或「打开对话」跳回 Conversation。
  4. 多任务并行时用 v 切矩阵或画布,从看板卡片右上角 ⌗ 进入画布可 fit 到该任务子树;子 agent 关系在卡片或画布上一目了然。
  5. 要把某次产出的文件交给另一会话处理:从抽屉文件区拖到目标卡片或节点,确认 queue 投递(注意无撤销、路径引用非拷贝)。
  6. 长时间盯屏可开安静模式(s 或设置里默认开启)。

适用场景与注意

适合:同时在 Harness 里维护多条 agent 会话、依赖 subagent 树协作、需要总览「谁在跑、谁在等你、最近写了什么文件」的开发者;偏好键盘流(j/k、f、v)的操作者。

注意:

  • 插件以当前 DSH 进程权限运行;安装前应阅读 源码与 LICENSE,自行评估信任边界。
  • 投递会在目标会话写入排队用户消息,属于写操作,与「V1a 只读观察」并存,使用前理解 queue 语义与不可撤销。
  • 画布与部分 UI 偏好存本机,换机器不自动同步。
  • 无构建步骤的纯 JS + CSS 插件;开发侧可 node --check client.js 与 node scripts/smoke-client.cjs 做逻辑冒烟,不替代真机视觉验收。

结尾

Command Centre 把 DSH 多会话状态收成一块 mission-control 面板:看板、矩阵、画布三种视图,只读洞察 subagent 树与产出,并用快捷键和跳转回到具体对话;V1a 边界清晰,写操作仅体现在可选的文件 queue 投递。

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

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

Xiaoye