AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop
BetaBạn đang đọc tài liệu kênh beta (2.13.0-beta.20). Tính năng có thể thay đổi trước bản stable tiếp theo.Chuyển sang stable →

ak kit

ak kit init

Cài hoặc build Kit với runtime, scope, delivery mode và đường khôi phục được chọn rõ ràng.

Dùng ak kit init khi bạn muốn resolve một Kit và chuyển các capability của Kit đó sang runtime hoặc thư mục build. Hãy chọn target, scope và delivery mode trước khi chạy, vì các lựa chọn này quyết định cả hoạt động mạng lẫn thay đổi trên đĩa.

Chọn đúng lệnh vòng đời

Mục tiêuLệnhKết quả
Đăng ký thư mục hiện cóak init [path]Ghi nhận ownership cho project hiện có; lệnh không cài Kit.
Tạo project mớiak new <project-name>Tạo thư mục project mới và có thể cài template hoặc Kit.
Cài một route của Kitak kit init <kit-name>Resolve rồi tạo đầu ra của Kit cho runtime, scope và mode đã chọn.
Cài qua entry point tương đươngak kit install <kit-name>Dùng cùng hành vi cài đặt với tên lệnh hướng đến thao tác cài.
Đồng bộ lại route đã càiak kit refresh <kit-name>Tạo lại đầu ra cho route và xoá đầu ra cũ còn thuộc quyền quản lý theo quy tắc vòng đời.

Khi mục tiêu là cập nhật route hiện có, hãy dùng ak kit refresh thay vì thực hiện một bản cài mới buộc ghi đè.

Trước khi bắt đầu

Theo mặc định, Kit phát hành dùng remote registry có xác thực và dùng channel Kit stable khi bạn không truyền --channel. Kit trả phí yêu cầu phiên CLI hợp lệ và entitlement trước khi hiển thị preview hoặc ghi dữ liệu.

ak whoami
ak licenses

Quá trình resolve từ xa có thể gia hạn trạng thái xác thực cục bộ, liên hệ registry, tải artifact dành riêng cho runtime và ghi verified cache. Cache đã được xác minh đầy đủ có thể đáp ứng một số trường hợp lỗi offline; cache chưa có hoặc không xác minh được sẽ bị từ chối an toàn.

Chỉ dùng --local --kits-dir <dir> khi chủ động chọn nguồn development hoặc CI. Đây không phải phương án dự phòng khi xác thực hoặc entitlement thất bại.

Grok Build vẫn là spike cho local development. Với --target grok, luôn dùng cùng --local --kits-dir <dir>. Native projection đã được triển khai, nhưng chưa phát hành package Grok registry đã ký hoặc provider canary có xác thực; init Grok từ remote sẽ fail closed.

Cách dùng

ak kit init <kit-name>

Trong script, hãy cung cấp một tên Kit có thể cài. Trên TTY tương tác, việc bỏ trống tên có thể mở wizard thiết lập; lần gọi từ script thiếu tên sẽ thất bại.

Tuỳ chọn của lệnh

CờMặc địnhMô tả
--build-onlyfalseBuild vào thư mục cục bộ thay vì cài đặt.
--channel <channel>stableChọn channel remote registry; beta cần được chọn rõ ràng.
--exclude-skills <names>TrốngCài toàn bộ Skill của Kit ngoại trừ tập tên phân tách bằng dấu phẩy.
--forcefalseCho phép ghi đè đầu ra hiện có trong phạm vi vòng đời và snapshot.
-g, --globalfalseDùng thư mục user của adapter thay cho project hiện tại.
--kits-dir <dir>TrốngChọn thư mục Kit cục bộ rõ ràng cho development, CI hoặc local build.
--localfalseDùng nguồn cục bộ đã chỉ định thay cho remote registry.
--no-backupfalseBỏ qua recovery snapshot trước khi cài và biện pháp bảo vệ liên quan khi tiếp quản Claude native-global.
--out <dir>TrốngĐặt thư mục gốc đầu ra cho route build hoặc export.
--registry-url <url>Biến môi trường hoặc mặc định của bản phát hànhGhi đè URL gốc của AgentKit registry.
--remotetrueDùng remote registry có xác thực; không cần truyền rõ vì đây là mặc định.
--select-skillsfalseChọn Skill của Kit bằng giao diện tương tác.
--skills <names>TrốngChỉ cài tập Skill phân tách bằng dấu phẩy.
--switch-to-pluginfalseChọn Claude Code plugin delivery tại scope đã chọn.
--target <ids>claude-codeChọn một hoặc nhiều emitter target ID phân tách bằng dấu phẩy; grok được đăng ký cho nguồn local-development rõ ràng.
--version <version>Phiên bản mới nhất của channelChọn phiên bản Kit từ xa.
--zipfalseVới --target portable, ghi thêm một ZIP có thể upload cho mỗi Skill.

--skills, --exclude-skills--select-skills là các chế độ lựa chọn thay thế nhau. --select-skills cần terminal tương tác. Các cờ dùng chung được liệt kê trong quy ước CLI.

Chọn target, scope và mode

RouteProject scopeUser scopeSelector
Claude Code nativeTệp runtime trong .claude cùng metadata vòng đời trong .agentkitTệp runtime trong ~/.claude cùng dữ liệu vòng đời AgentKit--target claude-code; thêm --global cho user scope.
Claude Code pluginak-<kit> trong projectak-<kit> dưới thư mục gốc Claude plugin đã cấu hìnhThêm --switch-to-plugin; thêm --global cho user scope.
Codex nativeSkill trong .agents/skills và các bề mặt .codex khác của projectSkill trong ~/.agents/skills và các bề mặt ~/.codex khác--target codex; thêm --global cho user scope.
CursorCác bề mặt .cursor của projectCác bề mặt .cursor của user--target cursor; thêm --global cho user scope.
Grok Build native (spike)Tệp runtime dưới .grok cùng lifecycle metadata dưới .agentkit/adapters/grok/<kit>/Tệp runtime dưới $GROK_HOME (mặc định ~/.grok) cùng lifecycle metadata dưới ${AGENTKIT_HOME:-~/.agentkit}/adapters/grok/<kit>/Dùng --local --kits-dir <dir> --target grok; thêm --global cho user scope.
AGYKhông được hỗ trợSkill trong cả ~/.gemini/config/skills~/.gemini/antigravity-cli/skills, Agent tùy chọn trong ~/.gemini/config/agentsDùng --target agy --global; remote source phân giải package claude-code đã ký.
Local buildThư mục --out đã chọnKhông phải install scopeDùng --build-only --out <dir>.
Portable exportThư mục --out đã chọnKhông phải install scopeDùng --target portable --out <dir>; build mode được ngầm chọn.

Bản cài ở project scope và user scope có thể cùng tồn tại. Claude native và plugin delivery là hai mode riêng trong cùng scope; việc chuyển mode là thao tác rõ ràng, có snapshot bảo vệ. Codex không có đầy đủ mức tương đương với Claude về command, Hook hoặc status line, vì vậy hãy xem kỹ cảnh báo thay vì giả định mọi component đều được chiếu sang runtime.

portable chỉ để export. --target portable không có --out trả mã 1 trước preview, xác nhận, phân giải source, lifecycle preflight hoặc ghi đĩa:

init: target "portable" is export-only and has no install mode; re-run with --out DIR to export a standalone build

Chỉ dùng --out sẽ giữ source mặc định từ remote và JSON báo mode: "build". Dùng rõ --build-only --out vẫn hợp lệ và chọn source mặc định cho local development. Thêm --zip khi portable export cũng cần tạo một ZIP có thể upload cho mỗi Skill. Portable không ghi install record. AGY chỉ hỗ trợ global và không phải peer trong lifecycle refresh.

Xem lại hành vi xác nhận

Trên TTY tương tác, install mode hiển thị preview destination và hỏi Continue? [y/N]:. Nhấn Enter mà không nhập gì, hoặc nhập câu trả lời khác y hay yes, đều là từ chối.

--json, --no-interactive và stdin không phải TTY sẽ bỏ qua prompt cài đặt và có thể tiếp tục ghi dữ liệu mà không cần --yes. Trong tự động hoá, hãy dùng --yes để thể hiện chủ đích rõ ràng; đừng xem việc không có prompt là một chốt an toàn.

Hiện tại, từ chối trên TTY thoát với mã 1, không phải 3. Route build và export không hiển thị install preview vì chúng ghi vào thư mục đầu ra đã chọn, không phải install destination.

Khi chủ động tự động hoá, hãy chỉ định rõ route và xác nhận:

ak kit init engineer --target codex --yes --no-interactive --json

# Cài Grok trong project từ nguồn local development rõ ràng.
ak kit init engineer --local --kits-dir ./kits --target grok --yes

# Cài Grok cho user từ cùng nguồn cục bộ rõ ràng.
ak kit init engineer --local --kits-dir ./kits --target grok --global --yes

# Portable export với một ZIP có thể upload cho mỗi Skill.
ak kit init engineer --target portable --out ./ak-export --zip

Hiểu tác động trên đĩa

Một lần cài có thể ghi tệp native của runtime, metadata về ownership và vòng đời AgentKit, cấu hình project, Hook script, thư mục Skill native và bản ghi chuyển mode. Bản cài Codex global còn có thể đăng ký AgentKit MCP runtime trong cấu hình Codex của user.

Tệp không xác định và tệp do người dùng sửa được giữ nguyên, trừ khi thao tác được hỗ trợ cùng --force rõ ràng cho phép ghi đè có giới hạn. Trước khi refresh phá huỷ hoặc ghi để chuyển mode, AgentKit thường tạo recovery snapshot. Không dùng --no-backup cho cài đặt thông thường.

Đọc đầu ra dành cho người dùng và JSON

Ở chế độ hiển thị cho người dùng, tiến trình, preview destination và prompt xác nhận xuất hiện trên stderr. Phần tổng hợp kết quả cuối cùng xuất hiện trên stdout và báo Kit, đường dẫn đầu ra, số tệp, install mode, scope, tổng hợp Hook, cảnh báo cùng thông tin khôi phục liên quan.

Với --json, stdout chứa một envelope thành công có phiên bản với kind=kit.init và kết quả lệnh dưới data. Trừ khi đặt --quiet, stderr còn nhận các bản ghi trạng thái thô với status=preview trước khi ghi và status=complete sau khi ghi. Hãy xử lý stdout và stderr riêng biệt.

Dữ liệu thành công có thể bao gồm Kit và target đã chọn, mode, install mode, scope, thư mục đầu ra, số lượng tệp và Skill, tổng hợp Hook đã cài, cảnh báo, trạng thái cấu hình project, chuyển mode và các trường recovery snapshot có giới hạn. Dữ liệu projection Hook còn có thể chứa hooksDropped, droppedHookSummaries, hookMatchersNarrowednarrowedHookSummaries; giá trị zero hoặc nil bị lược bỏ.

Kết quả và mã thoát

Mã thoátÝ nghĩaBạn nên làm gì
0Route build hoặc cài đặt đã chọn hoàn tất.Xác minh target, scope, mode, tệp và cảnh báo được báo cáo.
1Xảy ra lỗi runtime, kiểm tra dữ liệu, xác thực, quyền sử dụng, nguồn Kit, quá trình tạo đầu ra hoặc ghi dữ liệu; thao tác từ chối trên TTY hiện cũng dùng mã này.Đọc lỗi và trường khôi phục trước khi thử lại.
2Cờ, argument hoặc tổ hợp cờ không hợp lệ.Sửa route hoặc cờ lựa chọn.
3Lệnh bị ngắt hoặc huỷ qua đường xử lý huỷ dùng chung.Kiểm tra trạng thái hiện tại và mọi đầu ra khôi phục trước khi thử lại.
4Một thao tác vòng đời Kit khác đang giữ khoá thay đổi.Đợi thao tác đó hoàn tất rồi thử lại sau vài giây.
5Không tìm thấy Kit trong thư mục Kit cục bộ đã chọn.Kiểm tra tên Kit và nguồn cục bộ rõ ràng.
6Target đã tồn tại và không thể thay thế nếu thiếu --force.Xác minh ownership và route; chỉ dùng --force sau khi xem lại phạm vi ghi đè.

Ý nghĩa mã thoát phụ thuộc từng lệnh. Đặc biệt, đừng diễn giải việc từ chối trên TTY theo cam kết mã thoát dùng chung 3.

Khôi phục sau bản cài thất bại hoặc buộc ghi đè

Khi đầu ra có recovery snapshot, hãy kiểm tra snapshot trước khi thay đổi thêm tệp:

ak backups show <id>
ak backups verify <id>

Một số snapshot nằm dưới restore root do AgentKit quản lý có thể được áp dụng bằng ak backups restore <id>. Ngược lại, bản cài buộc ghi đè trong project có thể báo một thư mục dữ liệu snapshot để khôi phục thủ công vì đầu ra đó nằm ngoài restore scope thông thường. Hãy làm theo phương thức khôi phục trong kết quả; đừng giả định mọi snapshot đều dùng cùng một lệnh restore.

Sau khi khôi phục hoặc cài đặt, hãy mở lại runtime đích và gọi một Skill đã cài. Nếu runtime không tìm thấy Skill, hãy kiểm tra target, project scope hay user scope, và Claude native hay plugin mode trước khi cài lại.

Đọc kết quả chiếu Hook

Phần tổng hợp thành công báo các Hook event và script đã cài khi có. Disclosure projection Hook dùng hai dòng riêng:

Hooks dropped (unsupported on this target): <count> group(s) - see warnings
Hook matchers narrowed (some tool matches unsupported on this target): <count> matcher(s) - see warnings

Sau đó, lệnh in phần tổng hợp nêu rõ hành động cho từng drop hoặc narrow. Full drop gỡ group; narrow giữ handler trên matcher atom được hỗ trợ.

Với Codex, Engineer có một group task-state PostToolUse bị drop hoàn toàn và hai matcher dùng chung bị narrow. Marketing không có full drop và có ba narrow. Cài đặt vẫn thành công: đây là giới hạn target, không phải Hook đã được sửa hoặc lỗi cài đặt nghiêm trọng.

Lệnh liên quan