前言¶
在 DeepSeek Harness(DSH)里让模型「先想清楚再动手」,常见做法是在系统提示或技能里写一段「请先列计划」。模型可以照做,也可以跳过;换领域、换任务复杂度时,目标澄清、方案比较、约束与可验证的完成标准往往最先被省略,熟悉场景里不明显,不熟悉时容易返工。
dsh-method 是社区维护的工作流类插件(目录分类:工作流),思路是把上述环节变成必填且机器校验,计划结构由 JSON Schema 与独立校验器共同约束,而不是仅靠提示词请求。下文介绍它做什么、如何安装启用,以及计划里必须包含哪些字段。
这是什么¶
- 名称:dsh-method(GitHub:
LMQ00/dsh-method,维护者 LMQ00) - 定位:面向 DSH 的通用做事方法——任何非平凡任务先产出结构化执行计划;计划追求最普遍的可迁移性,而不是某一领域下的最快路径。
- 版本与许可(来自仓库
package.json):0.1.0,MIT。
插件简介原文:General-purpose method for the DeepSeek Harness: a domain-neutral planning protocol whose plan structure is enforced by schema and validator, not just requested by prose.
核心功能¶
开启 method 模式与计划落盘¶
用户通过斜杠命令开关模式。开启后,模型须调用 plan_submit 提交计划;校验通过则写入项目根下的 <项目根>/.method/plan.md,并把渲染后的全文返回给模型,再按计划执行。
计划内容的强制项¶
下列缺项或不合规则会被拒绝(摘要自 README 表格):
| 项 | 规则要点 |
|---|---|
| 目标 | 一句话说清完成后的状态 |
| 非目标 | 至少 1 条明确不做的事 |
| 约束 | 至少 1 条,标注 hard / soft |
| 方案比较 | 至少 2 个候选,各写优点与代价;选中项须为候选之一 |
| 任务 | 至少 2 个,id 唯一,依赖不得成环 |
| 每任务失败原因 | 至少 1 条 |
| 每任务完成判定 | 须可观察(见下) |
| 验证 | 覆盖每个任务,或一条 task: "*" 覆盖整体 |
| 可逆性 / 置信度 | 布尔 + high | medium | low |
「可观察」判定覆盖命令退出码、文件或产物路径、数值阈值、状态值、他人确认与交付物、状态达成等;仅形容词或空话(如「确认一切正常」「完成」)会被拒绝。README 注明:部分中文口语完成态可能因词表实现被误拒,与同义但更「结构化」的表述结果可能不同,属已知取舍。
两层强制¶
- JSON Schema(provider 侧,
execute之前):形状错误(缺字段、类型错、枚举非法、多余字段等)直接拒绝。Schema 使用标准 JSON Schema(required为字符串数组),不是defineTool的 DSL。 validate.js(execute内):内容错误(空串、条目不足、判定不可观察、依赖成环、验证未覆盖等)。
状态与会话¶
sessionProjections 从会话日志折叠,依赖 DSH 已有事件类型(如 command/run、command/done、tool/call、plan_submit、tool/result)。待提交计划以 map 形式按 callId 配对,支持并行工具调用;后一次成功提交覆盖计划并递增 revision。计划路径按工作目录解析,不含 session id,同一项目多会话会共用一份 plan.md。
刻意未做的强制¶
plan_submit 仅在 method 模式下可用,但插件不阻止模型未提交计划就直接执行写操作;README 说明若要真正拦截写操作需另做 tools.guard 级别设计,当前版本为避免「不开 method 就不能干活」而未实现。
安装与启用¶
本仓库未发布到 npm,需从源码 clone 后以链接方式安装(命令来自 README):
git clone https://github.com/LMQ00/dsh-method.git ~/Projects/dsh-method
dsh plugin --profile web add link:~/Projects/dsh-method
装完后重启 dsh web。profile 的 node_modules 中应有 dsh-method 软链;若 link: 安装后缺少软链,dsh web 可能打印 cannot resolve profile bundle "dsh-method" 并跳过该 bundle,可按 README 重装一次。
插件以当前 DSH 进程权限运行;安装前请自行查看源码与 MIT 许可证,确认符合你的环境与合规要求。
典型用法¶
在 DSH Web 会话中:
/method # 开启,直接说要做的事
/method off # 关闭
开启后描述任务,模型应通过 plan_submit 提交计划;通过后可在 .method/plan.md 查看落盘内容。首次落盘时插件会在 .method/ 内写入内容为 * 的 .gitignore,使该目录默认不进入版本控制,且不修改项目根 .gitignore。
开发者可在插件目录运行自测(README):
node selftest.mjs
README 称共 68 项自测,覆盖合法计划接受、各类结构/依赖/验证缺陷拒绝、判定可观察性边界、会话投影与渲染等。
适用场景与注意¶
适合:希望在 DSH 里统一「先计划、后执行」节奏的团队或个人;任务需要明确非目标、约束、多方案比较和可观察验收标准时;愿意接受计划偏「完整」而非「最短」的代价。
注意:
- 计划校验依赖措辞与词表,非技术或口语化完成表述可能被拒,需按文档中的可观察写法改写。
.method/plan.md按工作目录共享,并行多会话可能互相覆盖。- 社区目录 SkillHub 插件页 与 GitHub 仓库由维护者发布;SkillHub 为社区插件目录,与 DeepSeek / 幻方无官方从属关系。安装与运行插件等同信任其源码与当前进程权限。
结尾¶
dsh-method 把「结构化计划」从提示词约定升级为 schema + 校验器可执行的协议,适合在 DSH「一切皆插件」的生态里作为工作流增强使用。进一步了解可看目录页与仓库文档(docs/插件说明.md、docs/实现逻辑.md)。
- 目录页:https://www.skillhub.cn/plugins/LMQ00/dsh-method
- GitHub:https://github.com/LMQ00/dsh-method