支持的工具
OpenSpec 支持多种 AI 编程助手。运行 openspec init 时,OpenSpec 会根据当前启用的配置档案/工作流选择和交付模式,为所选工具进行配置。
对于每个已选择的工具,OpenSpec 可以安装:
- 技能(如果交付方式包含技能):
.../skills/openspec-*/SKILL.md - 命令(如果交付方式包含命令):该工具专用的
opsx-*命令文件
Codex 仅使用技能:即使交付方式设置为 commands,OpenSpec 也会为 Codex 安装 .agents/skills/openspec-*/SKILL.md,但不会生成 Codex 自定义提示词文件。旧版 .codex/skills 路径下由 OpenSpec 管理的技能,会在替代技能写入后进行协调;自定义文件和内容不一致的文件会予以保留。
默认情况下,OpenSpec 使用 core 配置档案,其中包括:
proposeexploreapplyupdatesyncarchive
你可以通过 openspec config profile 启用扩展工作流(new、continue、ff、verify、bulk-archive、onboard),然后运行 openspec update。
本文档使用 /opsx:propose 作为标准名称,但每种工具都会按照它加载的 OpenSpec 文件形式来拼写。请先在下方的工具目录参考中找到所用工具的命令路径,再在此表中匹配其形式。
| OpenSpec 写入的命令文件 | 输入方式 | 工具 |
|---|---|---|
.../commands/opsx/<id>.*——通过 opsx/ 文件夹进行命名空间划分 |
/opsx:<id> |
Claude Code、CodeBuddy、Crush、Gemini CLI、Lingma、Qoder、ZCode |
.../opsx-<id>.*——文件名就是命令 |
/opsx-<id> |
其他所有生成命令文件的工具,Amazon Q 和 Devin 除外 |
.devin/workflows/opsx-<id>.md——仅由 Devin 的两种智能体之一读取 |
Devin Desktop 使用 /opsx-<id>,Devin Local 使用 /openspec-<skill> |
Devin Desktop**** |
.amazonq/prompts/opsx-<id>.md——这是提示词,而非命令 |
@opsx-<id> |
Amazon Q Developer |
| 无——仅支持技能 | /openspec-<skill> |
CodeArts、ForgeCode、Hermes、MiniMax Code、Mistral Vibe、Zed Agent、共享 .agents |
| 无——Kimi Code | /skill:openspec-<skill> |
Kimi Code |
| 无——Codex CLI | $openspec-<skill> |
Codex(不识别 /openspec-<skill>) |
因此,同一个 /opsx:propose 命令在 Cursor 中写作 /opsx-propose,在 Amazon Q 中写作 @opsx-propose,在 Codex 中则写作 $openspec-propose。
有两项因素会独立变化,因此表格中的行不能合并:
- 名称。 第 1、2 行仅在文件命名命令的形式上不同;所有生成命令文件的工具都使用
opsx-<id>/opsx:<id>这一组名称。 - 包装形式。 Amazon Q 会将文件加载到通过
@调用的提示词库中。仅支持技能的工具不会生成命令文件,因此最后三行使用生成的技能名称,它们与命令 ID 并非一一对应(/opsx:apply对应openspec-apply-change技能)。
上方的命令路径模式有意使用不限定扩展名的 .*:扩展名由工具决定(Gemini CLI 使用 .toml、Continue 使用 .prompt、Kiro 和 GitHub Copilot 使用 .prompt.md);部分工具在选择器中会显示扩展名。请匹配目录结构,而不是扩展名。
OpenSpec 生成的文件以及设置完成后显示的“Getting started”提示,已经采用了所选工具对应的格式。因此,最快的确认方式就是查看该提示。
工具目录参考
Section titled “工具目录参考”| 工具(ID) | 技能路径模式 | 命令路径模式 |
|---|---|---|
Amazon Q Developer (amazon-q) |
.amazonq/skills/openspec-*/SKILL.md |
.amazonq/prompts/opsx-<id>.md |
Antigravity (antigravity) |
.agent/skills/openspec-*/SKILL.md |
.agent/workflows/opsx-<id>.md |
Auggie (auggie) |
.augment/skills/openspec-*/SKILL.md |
.augment/commands/opsx-<id>.md |
IBM Bob Shell (bob) |
.bob/skills/openspec-*/SKILL.md |
.bob/commands/opsx-<id>.md |
Claude Code (claude) |
.claude/skills/openspec-*/SKILL.md |
.claude/commands/opsx/<id>.md |
Cline (cline) |
.cline/skills/openspec-*/SKILL.md |
.clinerules/workflows/opsx-<id>.md |
Command Code (command-code) |
.commandcode/skills/openspec-*/SKILL.md |
.commandcode/commands/opsx-<id>.md |
CodeArts (codeartsagent) |
.codeartsdoer/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请通过技能调用 /openspec-*) |
CodeBuddy (codebuddy) |
.codebuddy/skills/openspec-*/SKILL.md |
.codebuddy/commands/opsx/<id>.md |
Codex (codex) |
.agents/skills/openspec-*/SKILL.md |
不生成(仅支持技能;请使用 $openspec-*) |
Devin Desktop,原 Windsurf (devin) |
.devin/skills/openspec-*/SKILL.md |
.devin/workflows/opsx-<id>.md**** |
ForgeCode (forgecode) |
.forge/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请通过技能调用 /openspec-*) |
Continue (continue) |
.continue/skills/openspec-*/SKILL.md |
.continue/prompts/opsx-<id>.prompt |
CoStrict (costrict) |
.cospec/skills/openspec-*/SKILL.md |
.cospec/openspec/commands/opsx-<id>.md |
Crush (crush) |
.crush/skills/openspec-*/SKILL.md |
.crush/commands/opsx/<id>.md |
Cursor (cursor) |
.cursor/skills/openspec-*/SKILL.md |
.cursor/commands/opsx-<id>.md |
Factory Droid (factory) |
.factory/skills/openspec-*/SKILL.md |
.factory/commands/opsx-<id>.md |
Gemini CLI (gemini) |
.gemini/skills/openspec-*/SKILL.md |
.gemini/commands/opsx/<id>.toml |
GitHub Copilot (github-copilot) |
.github/skills/openspec-*/SKILL.md |
.github/prompts/opsx-<id>.prompt.md** |
Hermes Agent (hermes) |
.hermes/skills/openspec-*/SKILL.md*** |
不生成(没有命令适配器;请通过技能调用 /openspec-*) |
iFlow (iflow) |
.iflow/skills/openspec-*/SKILL.md |
.iflow/commands/opsx-<id>.md |
Junie (junie) |
.junie/skills/openspec-*/SKILL.md |
.junie/commands/opsx-<id>.md |
Kilo Code (kilocode) |
.kilocode/skills/openspec-*/SKILL.md |
.kilo/command/opsx-<id>.md |
Kimi Code (kimi) |
.kimi-code/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请通过技能调用 /skill:openspec-*) |
Kiro (kiro) |
.kiro/skills/openspec-*/SKILL.md |
.kiro/prompts/opsx-<id>.prompt.md |
Lingma (lingma) |
.lingma/skills/openspec-*/SKILL.md |
.lingma/commands/opsx/<id>.md |
MiniMax Code (minimax-code) |
~/.minimax/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请使用 MiniMax Code 技能) |
Mistral Vibe (vibe) |
.vibe/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请通过技能调用 /openspec-*) |
Oh My Pi (oh-my-pi) |
.omp/skills/openspec-*/SKILL.md |
.omp/commands/opsx-<id>.md |
OpenCode (opencode) |
.opencode/skills/openspec-*/SKILL.md |
.opencode/commands/opsx-<id>.md |
Pi (pi) |
.pi/skills/openspec-*/SKILL.md |
.pi/prompts/opsx-<id>.md |
SourceCraft Code Assistant for VS Code (codeassistant) |
.codeassistant/skills/openspec-*/SKILL.md |
.codeassistant/commands/opsx-<id>.md |
Qoder (qoder) |
.qoder/skills/openspec-*/SKILL.md |
.qoder/commands/opsx/<id>.md |
Qwen Code (qwen) |
.qwen/skills/openspec-*/SKILL.md |
.qwen/commands/opsx/<id>.md |
Rovo Dev CLI (rovodev) |
.rovodev/skills/openspec-*/SKILL.md |
不生成。Rovo 没有斜杠命令界面——它会自动或根据提示词匹配技能(例如“使用 openspec-propose 技能”);/skills 仅用于管理技能。生成的内容只通过技能名称引用技能,不会把它们写成 /openspec-* 命令。 |
Zoo Code (roocode) |
.roo/skills/openspec-*/SKILL.md |
.roo/commands/opsx-<id>.md |
Trae (trae) |
.trae/skills/openspec-*/SKILL.md |
.trae/commands/opsx-<id>.md |
Zed Agent (zed) |
.agents/skills/openspec-*/SKILL.md |
不生成(仅支持技能;请使用 /openspec-* 或 @openspec-*) |
ZCode (zcode) |
.zcode/skills/openspec-*/SKILL.md |
.zcode/commands/opsx/<id>.md |
共享 .agents 技能 (agents) |
.agents/skills/openspec-*/SKILL.md |
不生成(没有命令适配器;请通过技能调用 /openspec-*) |
** GitHub Copilot 提示文件可在 IDE 扩展(VS Code、JetBrains、Visual Studio)中用作自定义斜杠命令。Copilot CLI 目前不会直接读取 .github/prompts/*.prompt.md。选择 github-copilot 还可以设置 GitHub 托管的云端编码智能体——详见下文 GitHub Copilot 云端编码智能体。
*** Hermes 默认从 ~/.hermes/skills/ 加载技能。若要使用项目本地的 OpenSpec 技能,请将项目 .hermes/skills/ 目录添加到 ~/.hermes/config.yaml 的 skills.external_dirs 中;之后 Hermes 会通过 /openspec-propose 等面向用户的斜杠调用形式提供技能。
**** Windsurf 于 2026 年 6 月 2 日更名为 Devin Desktop,其配置目录也随之更改:.devin/ 是优先读写位置,.windsurf/ 是旧版只读回退位置。OpenSpec 也采用了该更名——工具 ID 为 devin,同时 --tools windsurf 仍是其别名,以确保现有设置脚本继续有效。如果项目仍在 .windsurf/ 中保存 OpenSpec 文件,下次运行 openspec update 时会提示迁移;拒绝迁移会保留原文件,而你自己编写的文件永远不会被修改。工作流按文件名调用,因此 .devin/workflows/opsx-apply.md 对应 /opsx-apply。Devin Local 智能体不支持工作流,只支持技能,而且完全不会读取 .windsurf/。因此,无论何时 OpenSpec 写入 Devin 技能,技能正文和入门提示都会使用 /openspec-* 技能调用形式,两种智能体均可使用。仅采用 commands 交付时不会写入技能,两者都会回退到 /opsx-*。
SourceCraft Code Assistant 支持面向其 VS Code 扩展。自定义命令和技能仅可在 VS Code 中使用。此集成不会配置 SourceCraft Web 或 JetBrains。
使用仅技能交付方式时,请要求 Code Assistant 针对你的想法使用 openspec-propose 技能。技能会根据请求内容匹配启用;OpenSpec 不会为此工具生成 /openspec-* 命令。
MiniMax Code 是全局的仅技能集成。OpenSpec 只会在 ~/.minimax/skills/ 下写入 openspec-* 目录,不会创建仓库本地的 .minimax 或 .mavis 目录。采用仅 commands 交付方式时,会保留现有的 MiniMax Code 全局技能,避免一个项目的交付设置移除其他项目正在使用的技能。
GitHub Copilot 云端编码智能体
Section titled “GitHub Copilot 云端编码智能体”GitHub 的 Copilot 编码智能体运行在 GitHub Actions 环境中,与编辑器中的 Copilot 相互独立。OpenSpec 可以通过生成两个文件来设置它使用 OpenSpec CLI:
.github/workflows/copilot-setup-steps.yml——在智能体环境中安装@fission-ai/openspec.github/agents/openspec.agent.md——说明智能体如何驱动 OpenSpec
由于这会在仓库中写入 GitHub Actions 工作流,因此必须显式选择启用:
| 方式 | 行为 |
|---|---|
openspec init(交互式) |
询问是否设置云端文件。默认选择为否。 |
openspec init --copilot-cloud |
不提示,直接设置文件(适用于脚本/CI)。 |
openspec init --no-copilot-cloud |
不提示,跳过设置,并移除之前生成的文件。 |
openspec update |
不会提示。仅当你选择了启用(或项目中已有这些文件)时才刷新文件。如果你选择不启用,则会移除由 OpenSpec 管理的云端文件。 |
你的选择会保存在 openspec/config.yaml 的 githubCopilot.cloudAgent: true|false 中,因此非交互式更新也会遵循该设置。OpenSpec 只会写入或移除由它自己生成的文件——如果你自定义了 copilot-setup-steps.yml 或 openspec.agent.md,或原本就有自己的文件,OpenSpec 会保留它们并告知你。
何时选择共享 .agents 目标
Section titled “何时选择共享 .agents 目标”agents 是不绑定厂商的选项:它会将技能写入 .agents/skills/(许多智能体工具都会读取的共享根目录),而不是某个工具专属目录。
| 情况 | 选择 |
|---|---|
| 你的工具在上方有专属条目 | 选择对应 ID——可使用该工具集成,包括其支持的斜杠命令 |
同一个仓库中有多个智能体,且都读取 .agents/skills |
选择 agents——共享一套技能,而不是每种工具各建一套 |
你的工具尚未列出,但会读取 .agents/skills |
选择 agents |
将此选项与某个工具专属 ID 一起选择没有问题;通常两者会写入不同的根目录。Codex 和 Zed Agent 是例外,因为它们共用规范 .agents 根目录。如果同时选择 Codex 与 Zed 或 agents,OpenSpec 会保留一套由 Codex 管理的技能树。交接内容会同时列出 Codex 的 $openspec-* 和其他智能体的 /openspec-* 调用形式,因此 --tools all 以及已有的多智能体设置仍可正常工作,不会有多个写入者互相覆盖文件。
当项目中已经有 .agents/skills/ 目录时,OpenSpec 也会自动提供此选项;仅有 .agents/ 不够,因为工具还会用该目录存放规则和子智能体定义。注意 .agents 与 .agent 不同:单数目录属于 Antigravity。
请留意以下两点:
- 只提供技能。 此目标没有命令适配器,因此不会写入
opsx-*命令文件;在包含 commands 的交付模式下,openspec init会在Commands skipped for: … (no adapter)报告中列出agents。通过技能名称调用工作流——多数读取.agents/skills的助手会使用/openspec-propose,也是 OpenSpec 设置提示中显示的形式。此目标不绑定厂商,因此如果你的助手使用其他形式,请查看它自己的文档。 - 不会创建或编辑
AGENTS.md。 该目标使用.agents/目录。如果根目录中的AGENTS.md仍包含旧版 OpenSpec 标记块,运行openspec update时会将其删除——参阅迁移指南。
此处介绍的 Zed 支持针对其内置 Zed Agent。Zed External Agents 和 Terminal Threads 使用各自的集成。Agent Skills 需要 Zed v1.4.2 或更高版本。在不受信任的工作树中,项目本地技能不可用,除非你先授予信任。
Codex、Zed Agent 和不绑定厂商的目标共用 .agents/skills/,因此需要了解 OpenSpec 在其中管理哪些内容:OpenSpec 只会写入、刷新和移除所选工作流对应的 openspec-* 技能目录,以及记录共享技能树由 Codex、Zed Agent 还是不绑定厂商的目标生成的 .openspec-target 标记。该目录中的其他内容都会保留。openspec-* 名称和标记归 OpenSpec 管理;其中的修改会在下次 openspec update 时被替换,与其他工具的技能相同。
对于尚无标记的项目,OpenSpec 会根据受管理技能中的调用方式推断归属:$openspec-* 表示 Codex,/openspec-* 表示不绑定厂商的目标。若通用规范技能树与旧版 .codex/skills 同时存在,则视为较旧的双目标安装,并合并到兼容的共享技能树中。
openspec update 也会遵循此归属。如果项目的 .agents 属于不绑定厂商的目标,而剩余 Codex 安装的依据仅是零散的提示词文件,更新会保留已有的 agents 技能树,而不将其重写为 Codex 语法,同时保留旧提示词文件。若要将共享技能树交由 Codex 管理,请显式运行 openspec init --tools codex。
非交互式设置
Section titled “非交互式设置”在 CI/CD 或脚本中设置时,请使用 --tools(也可以选择使用 --profile):
# Configure specific toolsopenspec init --tools claude,cursor
# Configure all supported toolsopenspec init --tools all
# Skip tool configurationopenspec init --tools none
# Override profile for this init runopenspec init --profile core可用工具 ID(--tools)——windsurf 也可作为 devin 的别名使用:amazon-q、antigravity、auggie、bob、claude、cline、command-code、codeartsagent、codex、devin、forgecode、codebuddy、continue、costrict、crush、cursor、factory、gemini、github-copilot、hermes、iflow、junie、kilocode、kimi、kiro、lingma、minimax-code、vibe、oh-my-pi、opencode、pi、qoder、qwen、roocode、codeassistant、trae、zed、zcode、agents
根据工作流选择安装内容
Section titled “根据工作流选择安装内容”OpenSpec 会根据所选工作流安装相应产物:
- Core 配置档案(默认):
propose、explore、apply、update、sync、archive - 自定义选择: 可以从所有工作流 ID 中任选子集:
propose、explore、new、continue、apply、update、ff、sync、archive、bulk-archive、verify、onboard
也就是说,技能/命令的数量取决于配置档案和交付模式,并非固定不变。
生成的技能名称
Section titled “生成的技能名称”根据配置档案/工作流设置选择后,OpenSpec 会生成以下技能:
openspec-proposeopenspec-exploreopenspec-new-changeopenspec-continue-changeopenspec-apply-changeopenspec-update-changeopenspec-ff-changeopenspec-sync-specsopenspec-archive-changeopenspec-bulk-archive-changeopenspec-verify-changeopenspec-onboard
HagiCode
HagiCode 是一套智能体编码工作台:结构化工作流、多 Agent 并行执行与 Hero Dungeon 视图,把想法变成真正交付的软件。
让想法更快变成好用的软件,让智能编码更聪明、更高效,也更有趣。

- Smart结构化工作流将意图转化为从想法到交付的可执行路径。
- Efficient多 Agent 工作流让调研、实现与审阅并行推进。
- FunHero Dungeon 让长时间编码协作更直观、更有参与感。
生态站点
快速链接
社区
© 2026 HagiCode