dsh-openspec:将 OpenSpec 工作流接入 DeepSeek Harness

前言

OpenSpec 提供了一套规范驱动开发(SDD)的工作流:从探索(explore)到提议(propose),再到实现(apply)和归档(archive)。在 DeepSeek Harness(DSH)中,Agent 技能通常需要挂载到特定目录(如 .agents/skills)才能被识别,且裸命令需要能被解析。

dsh-openspec 解决了这两个问题:它将 OpenSpec 接入 DSH,内置了六个 Agent Skill,并直接从插件自身的依赖中解析 openspec CLI。无需全局安装,也不需要在每个项目中手动拷贝 .agents/skills。

安装与启用

通过官方命令安装插件:

dsh plugin add /path/to/dsh-openspec

安装后,插件会以内置(bundled)提供方的形式挂载六个 skill,并在 profile 加载时尝试安装 CLI 启动器(shim)。重启 profile 即可生效。

内置能力

插件内置了六个与 OpenSpec 工作流对应的 Skill:

  1. openspec-explore:思考伙伴,用于在变更前后探索想法、排查问题、澄清需求。
  2. openspec-propose:一步创建变更及其全部规划产物(proposal、spec delta、design、tasks)。
  3. openspec-apply-change:实现某个变更的任务清单。
  4. openspec-update-change:修订已有变更的规划产物(绝不修改代码)。
  5. openspec-sync-specs:把变更的 delta spec 合入主 spec,但不归档。
  6. openspec-archive-change:完成并归档一个变更。

使用流程

使用前,需要在项目目录初始化 OpenSpec:

openspec init --tools agents

初始化后,Agent 可以通过自然语言直接触发上述 Skill:

  • 探索需求:输入“帮我想想怎么加暗色模式”,触发 openspec-explore。
  • 创建变更:输入“提一个 add-dark-mode 变更”,触发 openspec-propose。
  • 开始实现:输入“开始实现这个变更”,触发 openspec-apply-change。
  • 归档变更:输入“归档它”,触发 openspec-archive-change。

命令行接口

插件提供了几个辅助命令,主要用于诊断和 CLI 接线:

  • /openspec doctor:诊断 Skill 数量、CLI 版本与入口,以及 shell 实际解析到的二进制路径。
  • /openspec shim:将 openspec 启动器安装到 PATH。
  • /openspec uninstall-shim:移除由本插件写入的启动器。
  • /openspec init <绝对路径>:在指定绝对路径下执行 openspec init --tools agents。

设计细节与注意

  • 内置挂载:插件使用 bundledSkillDir 挂载 Skill,这意味着它不依赖项目根目录的 Git 探测。在 git 仓库之外的工作区,Skill 依然可见。
  • 目录冲突:插件不占用 .agents/skills 目录,避免了与 Codex、Zed Agent 等工具的目录冲突。
  • 规范归属:插件只负责分发能力,openspec/ 目录保留在项目本地,不会被插件接管。
  • 优先级:在 git 仓库内,如果项目目录存在 .agents/skills,其优先级高于内置副本。

总结

dsh-openspec 是一个开源插件(MIT 许可证),旨在简化 OpenSpec 在 DSH 中的集成。它通过内置 Skill 和依赖解析,消除了手动配置 Skill 目录和全局安装 CLI 的繁琐步骤,适合希望在 DSH 中使用规范驱动开发流程的开发者。

  • GitHub: https://github.com/tamashi486/dsh-openspec
  • Catalog: https://www.skillhub.cn/plugins/tamashi486/dsh-openspec
羽毛球分组比赛记分
小程序二维码

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

小夜