Skip to content

Các công cụ được hỗ trợ ​

OpenSpec hoạt động với nhiều trợ lý lập trình AI. Khi bạn chạy openspec init, OpenSpec sẽ cấu hình các công cụ đã chọn dựa trên hồ sơ/lựa chọn quy trình làm việc đang hoạt động và chế độ phân phối của bạn.

Cách thức hoạt động ​

Đối với mỗi công cụ đã chọn, OpenSpec có thể cài đặt:

  1. Kỹ năng (nếu quá trình phân phối bao gồm kỹ năng): .../skills/openspec-*/SKILL.md
  2. Lệnh (nếu quá trình phân phối bao gồm lệnh): các tệp lệnh opsx-* dành riêng cho từng công cụ

Codex chỉ hỗ trợ kỹ năng: OpenSpec sẽ cài đặt .agents/skills/openspec-*/SKILL.md cho Codex ngay cả khi chế độ phân phối được đặt là commands, và nó không tạo ra các tệp lời nhắc tùy chỉnh cho Codex. Các kỹ năng do OpenSpec quản lý hiện có trong đường dẫn cũ .codex/skills sẽ được điều chỉnh sau khi các bản thay thế được ghi xong; các tệp tùy chỉnh và khác biệt sẽ được giữ nguyên.

Theo mặc định, OpenSpec sử dụng hồ sơ core, bao gồm:

  • propose
  • explore
  • apply
  • update
  • sync
  • archive

Bạn có thể kích hoạt các quy trình làm việc mở rộng (new, continue, ff, verify, bulk-archive, onboard) thông qua openspec config profile, sau đó chạy openspec update.

Cách Gọi ​

Tài liệu này sử dụng /opsx:propose làm tên chuẩn, nhưng mỗi công cụ sẽ viết nó theo cách mà công cụ đó tải tệp OpenSpec đã ghi. Tìm đường dẫn lệnh của công cụ bạn đang dùng trong Tham chiếu Thư mục Công cụ bên dưới, sau đó khớp hình dạng của nó ở đây.

Tệp lệnh OpenSpec tạo raBạn gõCông cụ
.../commands/opsx/<id>.* — một thư mục opsx/ đặt tên không gian cho nó/opsx:<id>Claude Code, CodeBuddy, Crush, Gemini CLI, Lingma, Qoder, ZCode
.../opsx-<id>.* — tên tệp là lệnh/opsx-<id>Mọi công cụ khác có tệp lệnh được tạo, ngoại trừ Amazon Q và Devin
.devin/workflows/opsx-<id>.md — chỉ một trong hai tác nhân của Devin đọc/opsx-<id> trên Devin Desktop, /openspec-<skill> trên Devin LocalDevin Desktop****
.amazonq/prompts/opsx-<id>.md — một lời nhắc (prompt), không phải lệnh@opsx-<id>Amazon Q Developer
không có — chỉ kỹ năng/openspec-<skill>CodeArts, ForgeCode, Hermes, MiniMax Code, Mistral Vibe, Zed Agent, .agents chia sẻ
không có — Kimi Code/skill:openspec-<skill>Kimi Code
không có — Codex CLI$openspec-<skill>Codex (/openspec-<skill> không được nhận diện)

Vì vậy, /opsx:propose là /opsx-propose trong Cursor, @opsx-propose trong Amazon Q, và $openspec-propose trong Codex.

Hai yếu tố thay đổi độc lập với nhau, đó là lý do các hàng không gộp lại:

  • Tên. Các hàng 1–2 chỉ khác nhau về cách đặt tên tệp cho lệnh, và tiền tố opsx-<id> / opsx:<id> là giống nhau cho mọi công cụ có tệp lệnh được tạo.
  • Bộ bao bọc (Wrapper). Amazon Q tải các tệp của nó vào thư viện lời nhắc (prompt library) được gọi bằng @. Các công cụ chỉ có kỹ năng không tạo bất kỳ tệp lệnh nào, vì vậy ba hàng cuối của chúng sử dụng tên kỹ năng — được liệt kê dưới Tên Kỹ năng Được Tạo — những tên này không ánh xạ một-một lên các id lệnh (/opsx:apply là kỹ năng openspec-apply-change).

Các mẫu đường dẫn lệnh ở trên trung lập với phần mở rộng (.*) có chủ đích: phần mở rộng thuộc về công cụ (.toml cho Gemini CLI, .prompt cho Continue, .prompt.md cho Kiro và GitHub Copilot), và một số công cụ hiển thị tên kèm phần mở rộng trong trình chọn. Hãy khớp hình dạng thư mục, không phải phần mở rộng.

Các tệp mà OpenSpec tạo ra, cùng với gợi ý "Bắt đầu" được in sau khi thiết lập, đã sử dụng đúng định dạng cho các công cụ bạn đã chọn — vì vậy câu trả lời nhanh nhất là đọc gợi ý đó.

Tham chiếu Thư mục Công cụ ​

Công cụ (ID)Mẫu đường dẫn kỹ năngMẫu đường dẫn lệnh
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.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /openspec-*)
CodeBuddy (codebuddy).codebuddy/skills/openspec-*/SKILL.md.codebuddy/commands/opsx/<id>.md
Codex (codex).agents/skills/openspec-*/SKILL.mdKhông được tạo (chỉ kỹ năng; hãy sử dụng $openspec-*)
Devin Desktop, trước đây là Windsurf (devin).devin/skills/openspec-*/SKILL.md.devin/workflows/opsx-<id>.md****
ForgeCode (forgecode).forge/skills/openspec-*/SKILL.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /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***Không được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /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.kilocode/workflows/opsx-<id>.md
Kimi Code (kimi).kimi-code/skills/openspec-*/SKILL.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /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.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng kỹ năng MiniMax Code)
Mistral Vibe (vibe).vibe/skills/openspec-*/SKILL.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /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.mdKhông được tạo. Rovo không có bề mặt lệnh slash — nó tự động khớp kỹ năng hoặc theo lời nhắc (ví dụ: "sử dụng kỹ năng openspec-propose"); /skills chỉ quản lý chúng. Nội dung được tạo tham chiếu đến kỹ năng theo tên, không bao giờ là các lệnh /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.mdKhông được tạo (chỉ kỹ năng; hãy sử dụng /openspec-* hoặc @openspec-*)
ZCode (zcode).zcode/skills/openspec-*/SKILL.md.zcode/commands/opsx/<id>.md
Kỹ năng .agents chia sẻ (agents).agents/skills/openspec-*/SKILL.mdKhông được tạo (không có bộ chuyển đổi lệnh; hãy sử dụng các lệnh gọi dựa trên kỹ năng /openspec-*)

** Các tệp lời nhắc của GitHub Copilot được nhận diện là các lệnh tùy chỉnh trong các tiện ích mở rộng IDE (VS Code, JetBrains, Visual Studio). Copilot CLI hiện không tiêu thụ trực tiếp .github/prompts/*.prompt.md. Việc chọn github-copilot cũng có thể thiết lập tác nhân mã hóa đám mây do GitHub lưu trữ — xem Tác nhân mã hóa đám mây GitHub Copilot bên dưới.

*** Hermes mặc định tải kỹ năng từ ~/.hermes/skills/. Để sử dụng kỹ năng OpenSpec cục bộ dự án, hãy thêm thư mục .hermes/skills/ của dự án vào skills.external_dirs trong ~/.hermes/config.yaml; Hermes sau đó cung cấp các kỹ năng với các lệnh gọi slash面向 người dùng như /openspec-propose.

**** Windsurf đã được đổi thương hiệu thành Devin Desktop vào ngày 2 tháng 6 năm 2026, và thư mục cấu hình của nó đã di chuyển: .devin/ là vị trí đọc + ghi ưu tiên, .windsurf/ là chế độ dự phòng chỉ đọc kế thừa. OpenSpec tuân theo việc đổi tên — ID công cụ là devin, và --tools windsurf vẫn giải quyết đến nó để các tập lệnh thiết lập hiện tại tiếp tục hoạt động. Một dự án vẫn giữ các tệp OpenSpec trong .windsurf/ sẽ được đề xuất di chuyển trong lần openspec update tiếp theo; từ chối sẽ giữ chúng tại chỗ, và các tệp bạn tự viết sẽ không bao giờ bị chạm vào. Các quy trình làm việc được gọi bằng tên tệp, vì vậy .devin/workflows/opsx-apply.md là /opsx-apply. Tác nhân Devin Local không hỗ trợ quy trình làm việc — chỉ hỗ trợ kỹ năng, và nó không đọc .windsurf/ chút nào — vì vậy bất cứ khi nào OpenSpec viết kỹ năng Devin, nó đều giữ nguyên nội dung của chúng, và gợi ý bắt đầu, trên các lệnh gọi kỹ năng /openspec-*, hoạt động trên cả hai tác nhân. Với việc phân phối chỉ có lệnh, không kỹ năng nào được viết và cả hai đều quay lại /opsx-*.

Hỗ trợ SourceCraft Code Assistant nhắm vào tiện ích mở rộng VS Code của nó. Các lệnh tùy chỉnh và kỹ năng của nó chỉ khả dụng trong VS Code. Tích hợp này không định cấu hình SourceCraft web hay JetBrains.

Với việc phân phối chỉ có kỹ năng, hãy yêu cầu Code Assistant sử dụng kỹ năng openspec-propose với ý tưởng của bạn. Kỹ năng kích hoạt thông qua khớp yêu cầu; OpenSpec không tạo các lệnh /openspec-* cho công cụ này.

MiniMax Code là tích hợp chỉ có kỹ năng toàn cục. OpenSpec chỉ viết các thư mục openspec-* của nó dưới ~/.minimax/skills/; nó không tạo các thư mục .minimax hoặc .mavis cục bộ kho lưu trữ. Việc phân phối chỉ có lệnh để nguyên các kỹ năng MiniMax Code toàn cục hiện có để cài đặt phân phối của một dự án không thể xóa các kỹ năng được sử dụng bởi một dự án khác.

Tác nhân mã hóa đám mây GitHub Copilot ​

Tác nhân mã hóa Copilot của GitHub chạy trên GitHub trong môi trường GitHub Actions — tách biệt với Copilot trong trình soạn thảo của bạn. OpenSpec có thể thiết lập nó để sử dụng CLI OpenSpec bằng cách tạo hai tệp:

  • .github/workflows/copilot-setup-steps.yml — cài đặt @fission-ai/openspec trong môi trường của tác nhân
  • .github/agents/openspec.agent.md — hướng dẫn tác nhân cách điều khiển OpenSpec

Bởi vì điều này ghi một quy trình làm việc GitHub Actions vào kho lưu trữ của bạn, nên nó là tùy chọn:

Cách thực hiệnHành vi
openspec init (tương tác)Hỏi xem có thiết lập các tệp đám mây hay không. Mặc định là Không.
openspec init --copilot-cloudThiết lập chúng mà không hỏi (dành cho tập lệnh/CI).
openspec init --no-copilot-cloudBỏ qua chúng mà không hỏi, và xóa bất kỳ tệp nào đã được tạo trước đó.
openspec updateKhông bao giờ hỏi. Chỉ làm mới các tệp nếu bạn đã chọn tham gia (hoặc dự án đã có chúng). Nếu bạn đã chọn không tham gia, nó sẽ xóa các tệp đám mây do OpenSpec quản lý.

Lựa chọn của bạn được lưu trong openspec/config.yaml dưới dạng githubCopilot.cloudAgent: true|false, vì vậy các bản cập nhật không tương tác sẽ tôn trọng nó. OpenSpec chỉ bao giờ ghi hoặc xóa các tệp có nội dung mà nó đã tạo — nếu bạn tùy chỉnh copilot-setup-steps.yml hoặc openspec.agent.md, hoặc đã có sẵn của riêng mình, nó sẽ được để nguyên (và init/update sẽ báo cho bạn biết).

Khi nào nên chọn mục tiêu .agents chia sẻ ​

agents là tùy chọn độc lập với nhà cung cấp: nó viết kỹ năng vào .agents/skills/, thư mục gốc chia sẻ mà nhiều công cụ tác nhân đọc, thay vì một thư mục cụ thể cho công cụ.

Tình huốngChọn
Công cụ của bạn có hàng riêng ở trênID riêng của nó — bạn nhận được tích hợp của công cụ đó, bao gồm cả lệnh slash nơi nó hỗ trợ
Nhiều tác nhân trên một kho lưu trữ, tất cả đều đọc .agents/skillsagents — một cây kỹ năng thay vì một cây cho mỗi công cụ
Công cụ của bạn chưa được liệt kê nhưng đọc .agents/skillsagents

Việc chọn nó cùng với ID cụ thể cho công cụ thì ổn; mỗi cái thường ghi vào gốc của riêng nó. Codex và Zed Agent là ngoại lệ vì chúng sử dụng cùng gốc .agents chuẩn. Nếu Codex được chọn cùng với Zed hoặc agents, OpenSpec sẽ giữ một cây do Codex dẫn đầu. Các lệnh chuyển tiếp của nó đặt tên cả $openspec-* cho Codex và /openspec-* cho các tác nhân khác, vì vậy --tools all và các thiết lập đa tác nhân hiện tại tiếp tục hoạt động mà không có hai trình ghi ghi đè lên cùng các tệp. OpenSpec cũng tự động đề xuất nó một khi dự án có thư mục .agents/skills/ — một .agents/ trống không đủ, vì các công cụ sử dụng gốc đó cho các quy tắc và định nghĩa tác nhân phụ. Lưu ý rằng .agents không phải là .agent: thư mục số ít thuộc về Antigravity.

Hai điều cần biết:

  • Chỉ kỹ năng. Không có bộ chuyển đổi lệnh nào, vì vậy không có tệp lệnh opsx-* nào được viết; với chế độ phân phối bao gồm lệnh, openspec init liệt kê agents trong số các công cụ mà nó báo cáo dưới Commands skipped for: … (no adapter). Hãy gọi các quy trình làm việc bằng tên kỹ năng — hầu hết các trợ lý đọc .agents/skills viết nó là /openspec-propose, định dạng mà gợi ý thiết lập của OpenSpec in ra. Mục tiêu này độc lập với nhà cung cấp, vì vậy hãy kiểm tra tài liệu riêng của trợ lý bạn đang dùng nếu nó sử dụng định dạng khác.
  • Không có AGENTS.md nào được tạo hoặc chỉnh sửa. Mục tiêu là thư mục .agents/. Nếu AGENTS.md gốc của bạn vẫn còn chứa các khối đánh dấu OpenSpec từ phiên bản cũ hơn, openspec update sẽ loại bỏ chúng — xem Hướng dẫn Di chuyển.

Hỗ trợ Zed ở đây dành cho Zed Agent tích hợp sẵn. Zed External Agents và Terminal Threads sử dụng các tích hợp riêng của chúng. Kỹ năng Tác nhân yêu cầu Zed v1.4.2 trở lên. Kỹ năng cục bộ dự án không khả dụng trong worktree không đáng tin cậy cho đến khi bạn ủy quyền tin cậy.

Bởi vì .agents/skills/ được chia sẻ bởi Codex, Zed Agent và mục tiêu độc lập nhà cung cấp, nên đáng để biết OpenSpec tuyên bố gì ở đó: nó chỉ viết, làm mới và xóa các thư mục kỹ năng openspec-* cho các quy trình làm việc đã chọn của bạn, cộng với một điểm đánh dấu .openspec-target ghi lại xem Codex, Zed Agent hay mục tiêu độc lập nhà cung cấp đã kết xuất cây chia sẻ đó hay không. Bất cứ thứ gì khác trong thư mục đó sẽ được để nguyên. Hãy coi các tên openspec-* và điểm đánh dấu là của OpenSpec — các chỉnh sửa bên trong chúng sẽ bị thay thế trong lần openspec update tiếp theo, giống như đối với mọi công cụ khác.

Đối với các dự án trước khi có điểm đánh dấu, OpenSpec suy luận quyền sở hữu từ các tham chiếu kỹ năng được quản lý: $openspec-* có nghĩa là Codex và /openspec-* có nghĩa là mục tiêu độc lập nhà cung cấp. Một cây chuẩn chung cạnh với .codex/skills kế thừa được coi là cài đặt hai mục tiêu cũ hơn và được hợp nhất vào cây chia sẻ tương thích.

openspec update cũng tôn trọng quyền sở hữu này. Nếu một dự án sở hữu .agents như mục tiêu độc lập nhà cung cấp và một cài đặt Codex còn sót lại chỉ được phát hiện từ các tệp lời nhắc lạc, thì bản cập nhật sẽ giữ nguyên cây agents đã xác lập thay vì ghi lại nó bằng cú pháp Codex, và bảo tồn các tệp lời nhắc kế thừa đó thay vì xóa chúng. Để giao cây chia sẻ cho Codex, hãy chạy openspec init --tools codex một cách rõ ràng.

Cài đặt không tương tác ​

Đối với CI/CD hoặc cài đặt bằng script, hãy sử dụng --tools (và tùy chọn --profile):

bash
# Cấu hình các công cụ cụ thể
openspec init --tools claude,cursor

# Cấu hình tất cả các công cụ được hỗ trợ
openspec init --tools all

# Bỏ qua cấu hình công cụ
openspec init --tools none

# Ghi đè profile cho lần init này
openspec init --profile core

Các ID công cụ khả dụng (--tools) — windsurf cũng được chấp nhận, như một alias cho 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

Cài đặt phụ thuộc vào workflow ​

OpenSpec cài đặt các artifact workflow dựa trên các workflow được chọn:

  • Profile Core (mặc định): propose, explore, apply, update, sync, archive
  • Tùy chọn tùy chỉnh: bất kỳ tập con nào của tất cả các ID workflow: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard

Nói cách khác, số lượng skill/command phụ thuộc vào profile và phụ thuộc vào phương thức phân phối, không cố định.

Tên skill được tạo ​

Khi được chọn bởi cấu hình profile/workflow, OpenSpec tạo các skill sau:

  • openspec-propose
  • openspec-explore
  • openspec-new-change
  • openspec-continue-change
  • openspec-apply-change
  • openspec-update-change
  • openspec-ff-change
  • openspec-sync-specs
  • openspec-archive-change
  • openspec-bulk-archive-change
  • openspec-verify-change
  • openspec-onboard

Xem Commands để biết hành vi lệnh và CLI để biết các tùy chọn init/update.

Liên quan ​