dsh-matt-skills-flow:把 Matt Skills 变成可恢复的工程工作流

前言

在 DeepSeek Harness(DSH)里使用智能体完成工程任务时,常见问题不是单个步骤能不能做,而是任务状态能不能一直跟得上:当前阶段是什么、用了哪些 Skill、做过哪些决策、Spec 是否批准、Ticket 依赖关系如何、哪些 Lane 已经跑完、review 发现了什么、最后是否经过人工验收。如果这些状态只存在于一次会话里,任务一旦中断或切换入口,后续恢复就会变麻烦。

下面介绍的 dsh-matt-skills-flow 是一个非官方 DSH 插件。它把 mattpocock/skills 转成持久工程工作流,把 Flow、Skill 快照、Decisions、Spec、Ticket Graph、Lane、review findings、人工验收、证据导出和重启恢复放在同一个工作流里。

这是什么

dsh-matt-skills-flow 是一个非官方 DeepSeek Harness 插件,仓库位于 hollis-openlab/dsh-matt-skills-flow。它的定位是把 mattpocock/skills 转成可追踪、可恢复的工程工作流。

它解决的核心问题是:在 DSH Web 环境中使用 Matt Skills 时,如何保留一个任务的关键状态,而不是让规划、决策、Spec、Ticket、Lane 执行、review 和验收分散在零散会话里。

该插件加载用户已安装的 Matt Skills,并不替代 Matt Skills 本身。Matt Skills 仍属于上游项目所有。插件许可证为 MIT

核心功能

插件主要提供以下能力:

  1. 创建 Flow 时快照已安装的 Matt Skills 及其内容摘要。
  2. 在 Flow 中保留初始目标或 Bug 上下文,并以交互式生命周期图可视化 review admission 和简洁配置摘要。
  3. 在生成并批准 Spec 前记录并取代 Decisions。
  4. 发布依赖感知的 Ticket Graph,并预览其可执行 Frontier。
  5. 默认将 Ticket Graph 发布为仓库本地 Markdown;当 Host 配置选择 trackerKind: github 且存在已认证的 gh CLI 时,发布到 GitHub Issues。
  6. 从 Flow 拥有的集成分支创建隔离的 Lane 分支和 worktrees。
  7. 运行有界的 Lane Agents,将阻塞的 Questions 路由回根会话,并用新的 packet digest 重试。
  8. 顺序集成完成的 Lanes,运行双轴 Standards/Spec review,并要求人工验收。
  9. 导出脱敏证据,并在 Harness 重启后恢复中断的工作。
  10. 提供简体中文和英文本地化的 Web UI。

安装与启用

运行前提

插件面向 DSH Web profile 设计。根据材料,它需要以下环境:

  • @deepseek-ai/dsh-commands
  • @deepseek-ai/dsh-skill
  • Git
  • 标准 Agent/Subagent 服务

材料还给出 Node 引擎声明:

>=22.19.0 || >=24

插件的 dsh.client.platform 声明为 web,并列出以下 inject 包:

@deepseek-ai/dsh-api-remotes
@deepseek-ai/dsh-client-locale
@deepseek-ai/dsh-client-runtime
@deepseek-ai/dsh-client-ui-slots

安装

材料中给出的安装方式是安装一个本地 packed release:

pnpm dsh plugin --profile web add --workspace-root ./deepseek-ai-dsh-matt-skills-flow-0.2.0.tgz

这里的 ./deepseek-ai-dsh-matt-skills-flow-0.2.0.tgz 是本地路径。执行前需要确保当前目录下存在对应包,并且该包来源可信。材料只给出了这种本地 tgz 安装命令,没有确认其他官方安装方式。

启用

安装后,在侧边栏打开 Matt Skills,然后创建或选择一个 Flow。

一个 Flow 会绑定到一个已存在的 DSH Workspace 和一个干净的 Git 仓库。启用时建议先确认当前仓库状态干净,因为后续 Lane 会从 Flow 拥有的集成分支创建分支和 worktrees。

典型用法

从 Web UI 驱动 Flow

在侧边栏打开 Matt Skills 后,可以创建或选择 Flow。之后按照可见 Gates 推进:

  1. 记录 Decisions。
  2. 批准 Spec。
  3. 添加并发布 Tickets。
  4. 准备并运行 Lanes。
  5. 集成结果。
  6. review frozen candidate。
  7. 作为人类验收。

这套流程的目标是把任务推进到可验收状态,而不是只完成一次代码生成。

在会话中使用 /matt-flow 命令

活动会话中可以使用以下命令:

/matt-flow start "Add account recovery"
/matt-flow list
/matt-flow status "Add account recovery"
/matt-flow continue <flow-id>
/matt-flow questions <flow-id>
/matt-flow export <flow-id>

/matt-flow continue 最多执行一个无歧义阶段转换。对于 ambiguous 的 planning、review 和 acceptance 决策,它们仍保留为显式 UI 动作。

发布 Ticket Graph

Ticket Graph 发布默认使用仓库本地 Markdown。

如果需要在 Host 配置中发布到 GitHub Issues,材料给出如下配置项:

trackerKind: github
githubRepository: owner/name

启用 GitHub Issues 发布需要满足两个条件:

  1. Host 配置选择 trackerKind: github
  2. 存在已认证的 gh CLI。

发布时会验证 gh 认证,并按依赖顺序创建 Issues。插件不会执行其他 GitHub mutations。

适用场景与注意

这个插件适合以下情况:

  • 在 DSH Web 中使用 Matt Skills,需要把任务状态从单轮会话中抽离出来。
  • 任务涉及 Decisions、Spec、Tickets、Lanes、review 和验收多个阶段。
  • 需要在中断或 Harness 重启后继续工作。
  • 需要导出脱敏证据,并在人工验收前保留可检查的过程记录。

需要注意的几点:

  1. 这是非官方 DeepSeek Harness 插件,安装前应检查源码、依赖、许可证和发布包来源。
  2. 插件运行在 DSH 环境中,建议把它视为会继承当前 dsh 进程权限的组件。
  3. 插件不会 push、创建 pull requests、合并默认分支或删除 dirty worktrees。
  4. 候选验收仅限人工,并在写入 Acceptance Receipt 前重新检查 frozen candidate commit、review findings、Questions 和 Flow revision。
  5. GitHub Issues 发布只在 Host 配置选择 trackerKind: githubgh CLI 已认证时可用,且只创建 Issues,不执行其他 GitHub mutations。

链接

GitHub 仓库:

https://github.com/hollis-openlab/dsh-matt-skills-flow

社区目录线索(本文材料未确认该页面):

https://www.skillhub.cn/plugins/hollis-openlab/dsh-matt-skills-flow
羽毛球分组比赛记分
小程序二维码

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

小夜