前言¶
在 DeepSeek Harness(DSH)里跑复杂需求时,常见做法是单会话里堆指令、靠人工盯工具调用和进度。任务一多,就难以拆清依赖、并行执行,也缺少统一的验收与返工闭环。卡片工坊(dsh-card-workbench)是社区维护的工作流类插件:把需求拆成多张可验收的任务卡,在 Host 侧派单、盯办、处理卡顿并逐张核对,也可选择把已有工作对话接管成卡片组统一看进度。下面介绍它是什么、能做什么,以及如何安装与使用。
这是什么¶
卡片工坊面向「交办整段工作」和「把 Harness 里已有工作对话纳入看板」两类场景。维护者在 GitHub 上的仓库为 xiaoxue-car/dsh-card-workbench,上游开发仓库在 Gitee(见 README)。插件分类为工作流;简介为:Card-based task orchestration for DeepSeek Harness——拆卡、观察执行、处理停滞、验证结果,并可将工作对话纳入编排。
实现上不引入第三方运行时、无需构建,只依赖 Harness Host 服务、Node 内置模块与默认模型;同一份目录可装到任意 profile、任意工作区,支持 Windows / macOS / Linux。package.json 中声明的 DSH 引擎范围为 >=0.2.1-rc.2 <0.3.0-0,许可证为 MIT。
界面与启用方式¶
启用插件后,左侧原生侧边栏会被隐藏,工作区切换为全宽卡片工坊(任务卡、交办区、管家设置、可接管对话列表);禁用后原生布局立即恢复。顶部「卡片工坊」按钮内嵌开关:勾选则插件运行,取消则关闭相关页面与入口;若需再次启用,可在 Harness「设置 → 插件」中重新打开 dsh-card-workbench。
打开面板:Ctrl/Cmd+Shift+B,或点击输入框右侧的「卡片工坊」。
核心功能¶
交办工作(默认模式)¶
- 用默认模型拆卡,一般拆出 2–6 张(上限由
maxCards控制,默认 6)。 - 每张卡开独立执行会话,携带任务与验收标准。
- Host 监听执行会话;长时间无进展时可自动催办、中断、续跑(阈值与次数见配置)。
- 卡片结束后进入核对队列;不通过则退回返工。
- 全部完成后做整体终审,发现缺口可自动补卡。
工作目录在交办时必选;目录树懒加载,选中文件夹即定为工作目录。若目录不在现有工作区,会自动注册新工作区。全局并发由所有项目共享,按最久未派单优先轮转。执行心跳在 Host 进程 lib/executor.js 中运行,不依赖页面是否打开——关闭浏览器不会暂停已在跑的任务。
接管工作对话(默认关闭)¶
在「管家设置」中开启「自动接管对话」后,会扫描已有与新建的工作对话,把每个 turn 变成卡片:同一轮多条用户消息会合并;记录请求、工具调用、执行结果与核对结论;一轮结束后可自动核对,缺口作为核对消息发回原对话。可按全部 / 交办 / 对话组筛选,逐个暂停、继续、催办、核对或移出管家。接管对话默认不提升权限(见下文 fullAccess)。
| 开关 | 默认 | 说明 |
|---|---|---|
| 自动接管对话 | 关 | 开启后才扫描并接管 |
| 新对话自动跳转 | 开 | 新对话被接管并收到首条工作请求时跳到卡片页 |
| 对话完成自动核对 | 开 | 每轮结束自动核对,有问题回原对话补齐 |
| 卡顿自动催办 | 开 | 长时间无进展时自动催办/续跑 |
开关保存在看板数据中,重启后保留。
看板与卡片¶
- 时间轴按时间倒序展示节点,可展开查看交付、缺口与对话;「打开对话」进入对应执行会话。
- 任务卡内可直接对话,无需单独开会话窗口;对话组也有独立输入框,新问题会作为新任务卡进入时间轴。
- 支持依赖 DAG、优先级、并行执行与独立核对队列;看板只展示状态,不支持拖拽绕过验收。
- 失败卡片可点「忽略」,状态变为「已忽略」,不再计入失败数且不继续重试。
- 可按工作区折叠;超过 1 天无真实活动的区块移入「历史工作区」。
客户端状态在插件 apply 时启动,对话页、工坊页、市场页共享;全局热路径轮询 /api/pulse,完整快照仅在工坊页可见时加载。
安装与启用¶
官方 README 未给出 dsh plugin add 一类远程一键命令,安装方式为本地目录安装:
- 将整个插件目录(README 中写作复制整个
dsh-butler目录;仓库名为dsh-card-workbench)复制到目标机器,不需要node_modules,不需要构建。 - 打开 Harness「设置 → 插件」,选择安装本地目录。
- 确认
dsh-card-workbench为启用状态,安装结果应为application: applied。 - 刷新一次 Web 页面。
- 用快捷键或「卡片工坊」入口打开面板。
安装前建议阅读仓库源码与 MIT 许可证;插件以当前 DSH 进程权限运行,显式开启最高权限时需自行评估风险。
典型用法¶
- 在「交办工作」中粘贴完整需求,选择工作目录。
- 点击「拆解开工」,或直接按
Enter(Shift+Enter换行)。 - 等待拆卡、派单、跟踪与核对;展开任务卡查看进度,需要时「打开对话」进入执行会话。
- 若希望把日常在 Harness 里的工作对话也纳入看板,在管家设置中打开「自动接管对话」,再按需筛选与管理各对话组。
参数可在卡片工坊右上角 ⚙ 参数设置 中修改中文项并保存,也可在「设置 → 插件 → 卡片工坊」配置页修改同一表单。保存后立即作用于调度、拆卡、核对、卡顿判断和模型调用。
配置与数据位置¶
设置写入:
$DSH_HOME/.dsh-butler/settings.json
未设置 DSH_HOME 时,看板数据默认在:
~/.dsh/.dsh-butler/board.json
Windows 为 %USERPROFILE%\.dsh\.dsh-butler\board.json。看板只保存编排状态;执行者的真实工作记录在各自 Harness 会话中。Host 重启后运行中的工作会暂停,点「继续」可从原会话续跑;已接管对话在启动后会重新扫描并恢复。
profile 插件行 config 可作为初始值,设置页保存的值会覆盖对应字段。常用参数示例:
| 参数 | 默认 | 说明 |
|---|---|---|
maxCards |
6 | 拆卡上限 |
maxConcurrency |
4 | 全局执行槽位(硬上限 8) |
stallMs |
600000 | 无进展判定卡顿(10 分钟) |
fullAccess |
false | 为 true 时执行会话使用最高权限 |
provider / model |
默认模型 | 拆卡/核对所用模型 |
dataDir |
$DSH_HOME/.dsh-butler |
看板数据目录 |
默认 fullAccess: false 时保留会话原有权限;只有设为 true 才切到最高权限,此时执行者可修改工作目录之外的任何文件,请明确开启后再用。
适用场景与注意¶
适合需要把大需求拆成可验收步骤、希望 Host 侧自动盯卡顿与核对、或希望把多条工作对话统一纳入看板的 DSH 用户。不适合期望完全保留原生侧栏布局的使用方式——启用期间侧栏会被 CSS 持久隐藏,仅卸载或关闭插件后恢复。
DSH 生态理念是「一切皆插件」;社区目录站点(如 SkillHub 插件页)与 DeepSeek / 幻方无官方从属关系,安装与配置请以仓库 README 为准。
问题与建议可发邮件至 README 公布的 2075638176@qq.com,标题建议带上 dsh-card-workbench 或「卡片工坊」。
结尾¶
卡片工坊把 Harness 里的「一整段活」变成可并行、可核对、可接管的卡片工作流,执行与心跳落在 Host,页面主要承担观察与交办。若要查看分类与简介,可打开 SkillHub 目录页;源码与完整说明见 GitHub 仓库。