前言¶
DeepSeek Harness (DSH) 采用插件化架构。在使用 OpenSpec 工作流技能时,开发者需要在 DSH 的技能注册表中手动配置。dsh-openspec 插件解决了这一集成问题,它将 OpenSpec 的 12 个核心工作流技能注册到 DSH 环境中,并提供了一组命令别名,便于用户直接调用。
插件定位¶
这是一个基于 Cordis 的插件,由 dragonTalon 维护。它将 OpenSpec 的工作流技能以标准 kebab-case 命名注册,使得 /openspec-xxx 命令能够通过 DSH 的技能工具和用户调用注入机制直接工作。
核心功能¶
该插件提供以下能力:
1. 12 个规范技能:注册为 openspec-* 形式的技能,既支持模型调用,也支持用户调用。
2. 12 个命令别名:提供 /opsx-* 形式的命令别名,内容与上述规范技能完全一致,但仅限用户调用。
3. 无运行时状态:技能通过 DSH 的技能注册表管理,不依赖额外的运行时状态。
安装与启用¶
插件依赖 DSH 的核心依赖库:@deepseek-ai/cordis、@deepseek-ai/dsh-invariants 和 @deepseek-ai/dsh-skill。
安装插件到指定 profile:
dsh plugin --profile <name> add github:dragonTalon/dsh-openspec
或者添加到普通 Node 项目:
npm install github:dragonTalon/dsh-openspec
注意:通过 Git 安装时,插件会通过
prepare脚本自动构建。如果使用pnpm,默认情况下会阻止 Git 依赖的构建脚本。如果构建失败,需要在 profile 的pnpm-workspace.yaml中添加包名到allowBuilds列表。
典型用法¶
安装后,可以通过以下方式使用:
- 规范调用:
/openspec-new-change、/openspec-explore等。 - 别名调用:
/opsx-new、/opsx-explore等。
如果不需要命令别名,可以在配置中关闭:
import * as dshOpenspec from '@dragon-talon/dsh-openspec'
ctx.plugin(dshOpenspec, { aliases: false })
技能列表¶
插件包含以下 12 个技能及其对应的别名:
| 规范技能 | 命令别名 | 描述 |
|---|---|---|
openspec-explore |
/opsx-explore |
进入探索模式,辅助探索想法、调查问题。 |
openspec-new-change |
/opsx-new |
使用实验性工件工作流开始新的 OpenSpec 变更。 |
openspec-continue-change |
/opsx-continue |
通过创建下一个工件继续处理 OpenSpec 变更。 |
openspec-apply-change |
/opsx-apply |
执行 OpenSpec 变更中的任务。 |
openspec-update-change |
/opsx-update |
修订变更的现有规划工件并保持一致性。 |
openspec-ff-change |
/opsx-ff |
快进通过 OpenSpec 工件创建。 |
openspec-propose |
/opsx-propose |
提出新的变更,一次性生成所有工件。 |
openspec-sync-specs |
/opsx-sync |
将变更的增量规范同步到主规范。 |
openspec-archive-change |
/opsx-archive |
归档已完成的变更。 |
openspec-bulk-archive-change |
/opsx-bulk-archive |
一次性归档多个已完成的变更。 |
openspec-verify-change |
/opsx-verify |
验证实现是否与变更工件匹配。 |
openspec-onboard |
/opsx-onboard |
OpenSpec 的引导式入职。 |
注意事项¶
- 技能内容生成自 OpenSpec 仓库的
skills/*/SKILL.md文件,当前版本锁定 OpenSpec 1.10.0。 - 技能内容遵循 MIT 许可证。
总结¶
该插件为 DeepSeek Harness 提供了开箱即用的 OpenSpec 工作流支持,通过标准化技能注册和便捷的命令别名,简化了在 DSH 环境中实施 OpenSpec 工作流的过程。