取得 AX Code · 免費文件

本頁譯自英文文件。指令、識別名稱與範例保持原樣。執行環境 7.24.4 · SDK 2.6.7。 英文原文

技能/外掛目錄

狀態:現行 範圍:公開、現行狀態 上次審閱:2026-08-12 負責人:AX Code runtime

內建技能的可探索登錄,以及如何新增專案技能。

預設的 / 選單是控制平面(/plan、/review、/debug、/status、/model)。較舊的內建技能仍僅限代理程式(技能工具)。後端可靠性套件也列為斜線指令。

內建技能(隨 packages/ax-code/skills/ 發行)

技能 用途 斜線
debug-n-fix 先除錯再修正,並加以驗證 使用 /debug
debug-only 不變更程式碼的調查 僅限代理程式
improve-overall 廣泛的品質改進 僅限代理程式
improve-security 以安全性為重點的改進 僅限代理程式
mcp MCP 設定指引 使用 /mcp
run 啟動並觀察應用程式 僅限代理程式
simplify 收緊最近變更的程式碼 僅限代理程式
verify 執行環境驗證報告 僅限代理程式
verified-change 只在失敗訊號之後編輯,然後重跑同一項檢查 /verified-change
safe-db-migration 擴充/回填/收縮結構描述變更,並附回滾說明 /safe-db-migration
api-contract 以加法為先的公開 API/結構描述演進 /api-contract
incident-observability 修補之前先以證據為先的事件診斷 /incident-observability
auth-boundaries 身分驗證/授權、租戶隔離、負向測試 /auth-boundaries
queue-worker 冪等的佇列/工作者變更與重複投遞 /queue-worker
ruby-on-rails 不啟動 Rails 處理程序的 Rails 慣例 僅限代理程式

技能使用 SKILL.md,並帶有 YAML 前言(name、description、選用的 paths、allowed-tools)。

專案技能

技能可放在下列任一處:

  • .ax-code/skill/<name>/SKILL.md 或 .ax-code/skills/<name>/SKILL.md
  • .agents/skills/<name>/SKILL.md(Agents/Codex 相容)
  • .claude/skills/<name>/SKILL.md(Claude Code 相容)
  • .opencode/skills/<name>/SKILL.md

列出並驗證:

ax-code            # TUI skill dialog
# or use the skill tool from a session

叫用控制

AX Code 在探索技能時讀取這些選用控制:

位置 欄位 效果
SKILL.md 前言 disable-model-invocation: true 保留明確的 /skill-name 指令,但把技能排除在模型探索與模型直接載入工具之外。
SKILL.md 前言 user-invocable: false 從斜線指令中省略該技能;除非另外停用,模型叫用仍然可用。
同層的 agents/openai.yaml policy.allow_implicit_invocation: false 要求明確的斜線叫用,包括經由 .agents/skills 匯入的技能。

請使用 YAML 布林值 true 與 false。缺少控制時保留預設。若多個來源不一致,較嚴格的宣告勝出。無效的控制型別或格式錯誤的側車原則會停用兩種叫用模式,並在技能清冊與執行環境日誌中產生叫用診斷。使用技能之前請修正中繼資料。選用側車必須小於 64 KiB;該處不支援 YAML 文件分隔符與別名。

這些控制管理技能叫用,獨立於既有的代理程式權限。以自然語言提到僅限手動的技能,並不授權模型載入它;請叫用它的斜線指令。宣告的 allowed-tools 仍是工作流程指示,不會授予權限。

有界限的探索

模型一開始收到的是技能摘要,不是完整指示。系統提示與工具描述中的每個技能中繼資料區塊有 8,000 個字元的預算。描述會先縮短,然後才省略項目;清單仍超過預算時,檔案相符的建議優先。省略通知會說明如何取得更多摘要。這是字元上限,不是 token 數,也不是效能保證。

skill 工具有兩種互斥模式:

  • {"name":"api-contract"} 透過既有的權限檢查載入技能。
  • {"query":"database"} 搜尋符合資格的名稱與描述,而不載入技能本文。
  • {"query":"","offset":20} 使用前一個結果中確切的 nextOffset 繼續列出。

搜尋是字面且不區分大小寫。空白查詢會列出符合資格的技能。請跟隨 nextOffset,直到它不存在。僅限手動與權限被拒的技能會排除在模型探索之外。過大的個別中繼資料項目會略過並附通知。名稱與來源優先順序維持不變。

外掛

在 ax-code.json 中設定外掛:

{
  "plugin": ["file:///absolute/path/to/plugin.js"]
}

外掛實作 @ax-code/plugin 鉤子(tool.execute.before、tool.execute.after、shell.env、驗證等)。

回呼存續期間

外掛工廠在輸入中收到選用的 lifecycle。執行個體被處置或外掛退役時,lifecycle.signal 會中止。請以 lifecycle.onDispose(cleanup) 登錄計時器、監看器與訂閱。回傳的函式會取消該清理的登錄。登錄最多執行一次;處置之後才登錄會立刻開始清理。清理回呼以登錄的相反順序開始,每個有一秒預算,並且可以並行完成。

轉換鉤子收到選用的第三個引數 { signal };設定與事件鉤子把它當作第二個引數。這個訊號會在回呼尚待完成時取消工作;對於超出單次回呼、由外掛擁有的工作,請使用 lifecycle.signal。把訊號傳給可中止的操作。初始化、設定、事件與轉換回呼有 15 秒期限。逾時會讓該執行個體的外掛退役,並中止其存續期間。既有工廠與兩個引數的轉換鉤子仍可運作。自訂工具執行與互動式驗證保留既有的執行契約。

轉換輸入是純資料的唯讀觀察。請變更輸出草稿,並在回傳前等待所有變更。成功的輸出變更依登錄順序變得可見;失敗或過晚的變更會被捨棄。事件承載的變更從不發布。權限拒絕仍然是拒絕,失敗或已退役的權限鉤子必須詢問,除非拒絕已經存在。

陣列與純物件會從執行環境狀態分離。結構描述、函式與類別執行個體保留身分,必須視為唯讀。外掛仍是在執行環境處理程序中執行的受信任 JavaScript:取消是合作式的,不能停止同步的無限迴圈,也不能復原外部效果。

鉤子套件

請見鉤子,了解五個官方生命週期套件(format-after-edit、block-force-push、require-tests-on-stop、protect-env-files、log-bash-commands)。

評估管控

執行代理式執行環境閘門套件與多模式集成原則套件:

cd packages/ax-code
pnpm exec vitest run test/harness/agentic-runtime-eval.test.ts
pnpm exec vitest run test/harness/multi-mode-ensemble-eval.test.ts

另見執行模式,了解本機/雲端/混合/council/arena。