Skip to content

支持的工具 ​

OpenSpec 支持哪些 AI 编码工具,以及各自的命令语法。

矩阵中的每个工具都运行相同的 OpenSpec 工作流。技能与其对应的命令是同一套工作流指令,唯一的区别只是你输入的内容。init 安装哪种形式属于交付设置,详见设置你的项目。

支持矩阵 ​

表中展示的调用方式以 apply 工作流为例,每个工作流都遵循相同的结构。将对应的 id 传入 openspec init --tools <id> 即可跳过选择器(CLI)。

工具--tools id技能技能调用命令命令调用
Amazon Q Developeramazon-q.amazonq/skills//openspec-apply-change.amazonq/prompts/@opsx-apply
Ampamp.agents/skills//openspec-apply-change无无
Antigravityantigravity.agents/skills//openspec-apply-change.agents/workflows//opsx-apply
AtomCodeatomcode.atomcode/skills//openspec-apply-change.atomcode/commands//opsx-apply
Auggie(Augment CLI)auggie.augment/skills//openspec-apply-change.augment/commands//opsx-apply
IBM Bobbob.bob/skills//openspec-apply-change.bob/commands//opsx-apply
Claude Codeclaude.claude/skills//openspec-apply-change.claude/commands/opsx//opsx:apply
Clinecline.cline/skills//openspec-apply-change.clinerules/workflows//opsx-apply
CodeArtscodeartsagent.codeartsdoer/skills//openspec-apply-change无无
CodeBuddy Code(CLI)codebuddy.codebuddy/skills//openspec-apply-change.codebuddy/commands/opsx//opsx:apply
Code Studiocodestudio.codestudio/skills//openspec-apply-change.codestudio/prompts//opsx-apply
Codexcodex.agents/skills/$openspec-apply-change无无
Continuecontinue.continue/skills//openspec-apply-change.continue/prompts//opsx-apply
CoStrictcostrict.cospec/skills//openspec-apply-change.cospec/openspec/commands//opsx-apply
Crushcrush.crush/skills//openspec-apply-change.crush/commands/opsx//opsx:apply
Cursorcursor.cursor/skills//openspec-apply-change.cursor/commands//opsx-apply
DeepSeek Harnessdsh.dsh/skills//openspec-apply-change无无
Devin Desktop(原 Windsurf)devin.devin/skills//openspec-apply-change.devin/workflows//opsx-apply
EasyCodeeasycode.easycode/skills//openspec-apply-change.easycode/commands/opsx//opsx:apply
Factory Droidfactory.factory/skills//openspec-apply-change.factory/commands//opsx-apply
ForgeCodeforgecode.forge/skills//openspec-apply-change无无
Gemini CLIgemini.gemini/skills//openspec-apply-change.gemini/commands/opsx//opsx:apply
GigaCodegigacode.gigacode/skills//openspec-apply-change.gigacode/commands//opsx-apply
GitHub Copilotgithub-copilot.github/skills//openspec-apply-change.github/prompts//opsx-apply
Grok Buildgrok.grok/skills//openspec-apply-change无无
GSDgsd.agents/skills/请求 openspec-apply-change无无
Hermes Agenthermes.hermes/skills//openspec-apply-change无无
iFlowiflow.iflow/skills//openspec-apply-change.iflow/commands//opsx-apply
Juniejunie.junie/skills//openspec-apply-change.junie/commands//opsx-apply
Kilo Codekilocode.kilocode/skills//openspec-apply-change.kilo/command//opsx-apply
Kimi Codekimi.kimi-code/skills//skill:openspec-apply-change无无
Kirokiro.kiro/skills//openspec-apply-change.kiro/prompts//opsx-apply
Lingmalingma.lingma/skills//openspec-apply-change.lingma/commands/opsx//opsx:apply
MiniMax Codeminimax-code~/.minimax/skills/(全局)/openspec-apply-change无无
Mistral Vibevibe.vibe/skills//openspec-apply-change无无
Oh My Pioh-my-pi.omp/skills//openspec-apply-change.omp/commands//opsx-apply
OpenCodeopencode.opencode/skills//openspec-apply-change.opencode/commands//opsx-apply
Pipi.pi/skills//openspec-apply-change.pi/prompts//opsx-apply
Qoderqoder.qoder/skills//openspec-apply-change.qoder/commands/opsx//opsx:apply
Qwen Codeqwen.qwen/skills//openspec-apply-change.qwen/commands//opsx-apply
Traetrae.trae/skills//openspec-apply-change.trae/commands//opsx-apply
Veaiveai.veai/skills//openspec-apply-change无无
Warpwarp.warp/skills//openspec-apply-change无无
ZCodezcode.zcode/skills//openspec-apply-change.zcode/commands/opsx//opsx:apply
Zoo Coderoocode.roo/skills//openspec-apply-change.roo/commands//opsx-apply
其他 / 通用agents.agents/skills//openspec-apply-change无无
  • 技能调用:工具是否将技能注册为可直接输入的条目,取决于工具自身的行为。该列显示的是 OpenSpec 在生成文件以及 init 打印的提示中所使用的写法。如果输入后没有任何效果,请查阅你的工具的文档。
  • 命令文件格式:大多数工具使用 .md 命令文件。EasyCode 和 Gemini CLI 使用 .toml,Continue 使用 .prompt,而 Code Studio、Kiro 和 GitHub Copilot 使用 .prompt.md。无论哪种格式,你输入的写法都是一样的。

各工具说明 ​

未在此处列出的工具,其行为与其在表格中对应行的描述完全一致。

Amp ​

  • 项目技能:Amp 从 .agents/skills/ 读取 OpenSpec 技能。
  • 无命令文件:Amp 直接运行技能,因此 init 会跳过命令生成。
  • 共享文件夹:Amp 与 Antigravity、Codex、Zed Agent 以及 agents 目标共用 .agents/skills/。OpenSpec 只写入一次该技能目录树。

Antigravity ​

  • 当前文件夹:Antigravity v1.20.5 及更高版本从 .agents/ 读取工作区技能和工作流。
  • 旧版文件夹:OpenSpec 写入替代文件后,会从 .agent/ 移除等价的生成文件。自定义文件以及被修改过的生成文件会保留在 .agent/ 中供你审阅。
  • 共享技能:Antigravity 与 Amp、Codex、Zed Agent 以及 agents 目标共用 .agents/skills/。OpenSpec 只写入一次该技能目录树,同时仍会将 Antigravity 的命令写入 .agents/workflows/。

Cline ​

Cline 从 .clinerules/workflows/ 读取命令,而不是从其 .cline/ 文件夹读取。技能则保留在 .cline/skills/ 中。

Codex ​

  • CLI 和 IDE 扩展:在描述你的想法时提及 $openspec-propose,或运行 /skills 来选择该技能。Codex 无法识别 /openspec-propose(上游 issue)。
  • 桌面应用:打开侧边栏中的 Skills 并选择 openspec-propose。OpenAI 的技能文档对这两种界面均有说明。
  • 无命令文件:Codex 直接运行技能,因此即使交付方式中包含命令,init 也会跳过命令,并打印 Commands skipped for: codex (uses skills)。
  • 共享文件夹:Codex 的技能位于 .agents/skills/,与 Amp、Antigravity、Zed Agent 以及 agents 目标使用的是同一棵目录树。选择多个目标时仍会保持一棵兼容的目录树;当该目录树由 Codex 拥有时,其交接文档会同时写明 $openspec-* 和 /openspec-* 两种写法。
  • 旧版路径:由旧版本安装在 .codex/skills/ 下的技能会在下次执行 openspec update 时迁移。

DeepSeek Harness ​

  • 项目根目录:DSH 使用最近的 .git 祖先目录;在 Git 之外则使用当前目录。请在该目录运行 openspec init --tools dsh。对于嵌套的 OpenSpec 项目,请将其 .dsh/skills/ 目录的绝对路径添加到 DSH 的 customSkillDirs 中。如果名称重叠,Git 根目录下的技能仍然优先生效(上游发现规则)。
  • 优先级:.dsh/skills/ 优先于 .agents/skills/ 中的同名技能。
  • 交付:请使用 skills 或 both。若选择 commands,则不会安装任何 DSH 工作流。可通过 openspec config profile 更改交付方式,然后重新运行 openspec init --tools dsh。

Devin Desktop(原 Windsurf) ​

  • 两种代理:.devin/workflows/ 中的命令文件仅在 Devin Desktop 中有效。Devin Local 只运行技能,因此生成的技能引用 /openspec-<skill>,这种写法在两者中均可使用。
  • 重命名:--tools windsurf 仍会解析为 devin。对于仍在旧版 .windsurf/ 文件夹中存放 OpenSpec 文件的项目,下次执行 openspec update 时会提示迁移。

GitHub Copilot ​

  • IDE 扩展(命令交付):VS Code、JetBrains 和 Visual Studio 会将 .github/prompts/opsx-<id>.prompt.md 加载为 /opsx-<id>。如果命令在其文件仍然存在的情况下消失,请重启 IDE。
  • Copilot CLI(技能交付):CLI 会忽略 .github/prompts/,而是加载 .github/skills/openspec-*/SKILL.md。以 /openspec-<skill> 的形式调用技能。如果技能在其文件仍然存在的情况下消失,请运行 /skills reload,再运行 /skills info openspec-propose 以确认技能已被发现。

GSD ​

  • 项目技能:GSD 从 .agents/skills/ 读取 OpenSpec 工作流。
  • 调用:请 GSD 使用 openspec-<workflow> 技能。GSD 也可以通过其技能发现设置来选择匹配的技能。
  • 无子代理文件:.gsd/agents/ 存放的是 GSD 的子代理定义。OpenSpec 不会将工作流技能写入该目录。

Hermes Agent ​

Hermes 默认只从 ~/.hermes/skills/ 加载技能。请将项目的 .hermes/skills/ 文件夹添加到 ~/.hermes/config.yaml 的 skills.external_dirs 中;init 会在安装完成后打印此提醒。

MiniMax Code ​

  • 仅全局:技能会写入 ~/.minimax/skills/。仓库内不会写入任何内容。
  • 跨项目安全:仅命令的交付方式会使全局技能保持原位,因此一个项目的设置不会移除另一个项目正在使用的技能。

Warp ​

  • 始终安装技能:即使交付方式为 commands,技能也会写入 .warp/skills/,因为 Warp 没有命令文件,而是直接调用技能。
  • OpenSpec 的管理范围:仅限 .warp/skills/。不会创建或编辑 Warp 的设置和 WARP.md。

其他 / 通用(共享 .agents 技能) ​

  • 适用场景:任何读取共享 .agents/skills/ 文件夹的工具,包括矩阵中没有对应行的工具。当你的助手未在列表中时,就选择此条目。在 init 选择器的搜索框中输入 universal、other、generic、custom、proprietary、unlisted、unsupported、vendor-neutral 或 agents.md 均可找到它。
  • 与其他目标并存:Amp、Antigravity、Codex、Zed Agent 与此目标共享同一棵物理技能目录树。OpenSpec 会在 .openspec-target 中记录一个写入者,并在每次运行时只写入一次目录树。各工具单独的命令文件仍会正常生成。
  • OpenSpec 的管理范围:仅限 openspec-* 文件夹和 .openspec-target 标记。.agents/ 下的其他内容均保持原样。
  • AGENTS.md:不会创建或编辑。该目标针对的是 .agents/ 文件夹,而不是这个文件。