dsh-skill-writing-plans:让 DSH Agent 先写计划再动手

前言

在 DeepSeek Harness(DSH)里让 Agent 写代码、做页面或跑实验时,常见做法是直接开干:模型一边改文件一边补逻辑,事后才在对话里零散说明「打算怎么做」。计划没有固定落点,多文件任务也容易在中途失去结构。

社区维护者 linlin539 发布的 dsh-skill-writing-plans(npm 包名 dsh-skill-writing-plans,当前版本 0.2.0)是一个 skill 插件:向宿主注册名为 plan-first 的技能,让 Agent 在动手前先产出结构化实现计划,再按复杂度决定是当场做完还是请你选执行方式。插件在 SkillHub 分类为「模型推理」;仓库 GitHub 采用 MIT 许可。

下面介绍它解决什么问题、怎么装、怎么用,以及和同名 Trae 技能并存时要注意的点。

这是什么

dsh-skill-writing-plans 是 DeepSeek Harness 的 skill 插件,通过 Cordis patch 向 Host 注册 plan-first 技能(README 明确:v0.2.0 起技能名是 plan-first,不是 writing-plans)。

装上之后,涉及写代码、做页面、跑实验类请求时,Agent 会先写计划再执行:简单任务内联做完;复杂任务保存计划后提供「子代理并行」或「当前会话逐步执行」的选择。插件不带 UI,主界面插件列表里可能看不到,属于只注册技能、无界面组件的类型。

核心功能

资料中可核对的能力如下。

能力 说明
自动先规划 写代码、做页面、跑实验类请求会先产出计划,无需你每次口头提醒
计划固定路径 写入 docs/superpowers/plans/YYYY-MM-DD-<功能名>.md,便于回看与归档
按复杂度分档 单文件等小需求:计划约 15–30 行、单个任务,写完直接执行;多文件、多任务或训练类需求保存计划后询问执行方式
计划可执行 任务含具体路径、完整代码片段、可执行命令与预期结果;避免 TBD、TODO、「稍后实现」等占位
仅出计划 可用「只出计划,先不要写代码」类指令,只保存文档、不改代码
TDD 仅在有测逻辑时用 函数、API、数据转换等有可测逻辑的场景可写 TDD 循环;静态页面不写测试

与 Trae writing-plans 的区分(重要)

若同时安装 dsh-connect-trae,Trae 技能目录里可能有 obra/superpowers 原版的 writing-plans。DSH 同名技能只保留一个时,Trae 那份可能抢先注册,本插件技能会被静默丢弃,你改本插件 SKILL.md 也可能不生效。

v0.2.0 将本插件技能改名为 plan-first,以便共存:

触发方式 使用的技能
/plan-first 本插件(中文、精简;简单需求直接执行)
/writing-plans Trae 原版(若通过 dsh-connect-trae 接入)

安装与启用

插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。

从 npm 安装(推荐)

npm install dsh-skill-writing-plans

或在 DSH 中直接添加已发布包(桌面客户端请用此方式,安装边界只接受 npm 上带精确版本号的包):

dsh plugin add dsh-skill-writing-plans@0.2.0

从插件市场安装

  1. 打开 DeepSeek Harness → 插件市场(社区目录站点 SkillHub 插件页 可作入口参考,与 DeepSeek / 幻方无官方从属关系)
  2. 搜索 plan-first 或 dsh-skill-writing-plans
  3. 安装并按提示重启 DSH

从 GitHub 源码安装(仅普通 dsh web / CLI)

README 说明:克隆仓库后,在所用 DSH profile 目录将仓库放到 packages/dsh-skill-writing-plans,在 profile 的 package.json 增加 link 依赖,并在 cordis.patch.yml 末尾插入对应 patch 条目,然后重启 DSH。桌面客户端无法从纯 GitHub 源安装。

仅使用技能文件

不装完整插件时,可将仓库内 assets/plan-first/SKILL.md 复制到:

  • 项目级:{项目}/.dsh/skills/plan-first/SKILL.md
  • 用户级:{DSH_HOME}/skills/plan-first/SKILL.md

禁用或卸载插件市场里的本包即可关闭该行为。

更新示例:

npm install dsh-skill-writing-plans@latest

查看 npm 上当前版本:

npm view dsh-skill-writing-plans version

典型用法

触发技能请使用 /plan-first,不要用已弃用的 /writing-plans(除非你要的是 Trae 原版)。

简单需求:计划写完即执行

/plan-first 帮我写一个 index.html,页面中央显示 'Hello World'

按 README 描述,Agent 会声明使用 plan-first、快速查看工作区,将约 20 行计划写到例如 docs/superpowers/plans/2026-10-21-hello-world-page.md,因仅单一步骤而直接创建 index.html,并说明计划文件位置。

复杂需求:保存计划后选执行方式

/plan-first 帮我实现一个学生信息管理系统,包含增删改查和数据库

计划保存后,会询问:子代理驱动(推荐)(每任务独立子代理)或 当前会话执行(逐步执行、带检查点)。

只生成计划

/plan-first 只出计划,先不要写代码

只写入计划文档,不修改代码。

计划文档结构示例(简单需求):含目标、架构、技术栈、分步任务与自检项;复杂计划可含多任务,并在有可测逻辑时包含 TDD 环节。

适用场景与注意

适合谁

  • 希望在 DSH 里统一「先计划、再实现」,且计划能归档到 docs/superpowers/plans/ 的开发者
  • 需要与 Trae 自带 writing-plans 并存、用 /plan-first 走中文精简流程的团队
  • 接受 skill 插件无独立 UI、需在插件市场已安装列表或日志中确认加载的情况

注意

  • 旧版用 /writing-plans 触发本插件的用法已改为 /plan-first
  • 装完后主界面可能不显示本插件,属正常现象
  • 工作区里旧版本留下的计划文件不会自动删除;若计划仍冗长,请确认是重启 DSH 后由 plan-first 新生成的文件
  • DSH 生态理念是「一切皆插件」;安装与运行仍受当前进程权限约束,请自行审阅依赖与源码

结尾

dsh-skill-writing-plans 用 plan-first 技能把「结构化实现计划」固定进 Agent 工作流:小任务少啰嗦、大任务可选执行路径,计划路径与格式在 README 中有明确约定。若你已在用 dsh-connect-trae,务必用 /plan-first 与本插件对齐,避免与 Trae 的 /writing-plans 混淆。

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

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

Xiaoye