AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop

ak plan

ak plan show

Hiển thị plan theo hướng files-first, best-effort-overlay các field do index sở hữu, hiểu các dạng id, cách resolve current-plan pointer và hành vi an toàn.

Dùng ak plan show để render một plan cùng các phase và toàn bộ body Markdown từ tệp, best-effort-overlay các field do index sở hữu từ plan store cục bộ.

Cách dùng

ak plan show [id]

Lệnh nhận tối đa một tên thư mục plan (ví dụ 260722-1200-my-plan) hoặc dạng đã lập chỉ mục <slug>/<timestamp>, và không có cờ riêng.

Chọn plan

Khi có ID, lệnh đọc thư mục plan đó trực tiếp rồi best-effort-overlay các field index. ID có thể là tên thư mục plan (260722-1200-my-plan) hoặc dạng đã lập chỉ mục <slug>/<timestamp>.

Khi không có ID, lệnh resolve current-plan pointer do ak plan create hoặc ak plan use đặt. Pointer nằm dưới .git và đọc được ngay cả khi $HOME bị sandbox. Nếu pointer thiếu, không hợp lệ hoặc không map tới plan tồn tại, lệnh dùng context resolution — cùng cách khớp issue/branch/worktree/project mà ak plan resolve tính. Plan closed/archived vẫn có thể được show bằng ID hoặc pointer hợp lệ; context fallback chỉ xét active plan.

Freshness, fallback và quyền riêng tư

Lệnh đọc plan.md và từng tệp phase trực tiếp từ thư mục plan. Sau đó lệnh best-effort-overlay các field do index sở hữu — state, issue_number, linked_pr, current_phase, và các field cấp phase rev, notes, evidence, acceptance, comment_id — từ plan store cục bộ khi mở được. Nếu không mở được store (không ghi được, hỏng, hoặc schema mới hơn CLI), overlay bị bỏ qua và stderr ghi warning; body plan và phase nguyên bản vẫn được render.

Với plan có liên kết, show so sánh mtime và refresh index từ tệp đã đổi trước khi overlay. Refresh lỗi tạo warning trên stderr và tiếp tục render bằng snapshot index chưa đổi.

Body nguyên bản được đọc qua path-containment guard; body không đọc được sẽ bị lược bỏ.

Human và JSON output chứa body plan/phase nguyên bản, không redaction. Nội dung có thể chứa notes, link hoặc evidence riêng tư. Đừng gửi output tới log dùng chung nếu nội dung plan không an toàn để chia sẻ.

Lệnh chỉ đọc tệp repository, nhưng freshness có thể cập nhật index cục bộ và mở store có thể tạo/migrate store. Không có mạng, auth, prompt, preview, force, snapshot hay rollback. Resolve không ID chạy Git probe cục bộ.

Đầu ra

JSON thành công dùng kind=plan.show:

data.plan: plan summary
data.plan_body: raw plan.md text or an empty string
data.phases[]: plan_id, n, title, status, rev, body,
  notes, evidence, acceptance, comment_id

notes, evidence, acceptancecomment_id đến từ store overlay. Khi overlay bị bỏ qua (store thiếu, hỏng, hoặc schema mới hơn CLI), các field cấp phase này vắng mặt. Human/plain in plan header, body và từng phase body ra stdout.

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

Ý nghĩaBước tiếp theo an toàn
0Plan đã chọn được render, có thể kèm freshness/fallback warning.Xem stderr và body trả về.
1ID không tồn tại, context không match hoặc truy cập store/filesystem lỗi.Truyền ID chính xác, chạy ak plan use hoặc sửa/reindex store.
2Truyền quá nhiều argument hoặc cờ không hợp lệ.Sửa cách gọi.

Lệnh liên quan