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

ak config

ak config

Mở dashboard AgentKit qua native window hoặc HTTP foreground với ranh giới rõ ràng về fallback, auth, state và thay đổi dữ liệu.

Dùng ak config để mở dashboard trực quan của AgentKit. Tuỳ binary, terminal và cờ, lệnh mở native window bằng Wails hoặc chạy HTTP dashboard ở foreground.

Cách dùng

ak config

Lệnh không nhận argument theo vị trí.

Tuỳ chọn của lệnh

CờMặc địnhMô tả
--auth-token <token>TrốngYêu cầu Authorization: Bearer <token> trên mọi HTTP request; fallback sang AK_DASHBOARD_TOKEN.
--bind <host>127.0.0.1Chọn host của HTTP listener. Giá trị không phải loopback yêu cầu token.
--no-openfalseBỏ qua thao tác mở browser best-effort trên đường HTTP.
--no-windowfalseBuộc dùng HTTP dashboard thay cho native window.
--port <port>8766Chọn HTTP port. 0 yêu cầu hệ điều hành tự cấp port.

Các cờ dùng chung được mô tả trong quy ước CLI. --yes không phê duyệt thay đổi trong dashboard; mỗi thao tác UI có hợp đồng API riêng.

Hiểu cách chọn native và HTTP

ak config trần chỉ mở native window khi tất cả điều kiện sau đúng:

  • binary được build với build tag wails;
  • stdout là TTY;
  • không có --no-window;
  • chưa truyền rõ --port;
  • effective --no-interactive là false.

Binary CLI-only tiêu chuẩn không có Wails nên dùng đường HTTP. --json ngầm bật --no-interactive và vì vậy cũng chọn HTTP. Truyền rõ --port 8766 vẫn chọn HTTP dù giá trị bằng mặc định.

Trên TTY với binary có Wails, chỉ --bind, --auth-token hoặc --no-open không buộc dùng HTTP; đường native-window bỏ qua các cờ này. Hãy thêm --no-window khi bạn muốn các cờ HTTP có hiệu lực.

Để có lần gọi headless dễ dự đoán:

ak config --no-window --no-open --no-interactive --json

Xem dashboard là bề mặt thay đổi dữ liệu

Mở dashboard không tương đương chỉ đọc config.yaml. Bề mặt native và HTTP cung cấp thao tác cho account access, config và settings, project, Kit, analytics, update, migration, MCP, content và session redaction. Thao tác bạn chọn trong UI có thể ghi tệp user hoặc project, gửi request mạng, chạy tool hay áp dụng thao tác vòng đời.

Dashboard host còn tự động reconcile analytics khi đang mở; quá trình này có thể đọc nguồn coding-agent cục bộ và cập nhật private analytics index. Hãy xem confirmation cùng thông tin khôi phục của từng thao tác; việc mở dashboard không tạo một snapshot chung để rollback mọi thứ.

Ranh giới bảo mật HTTP và browser

Theo mặc định, HTTP server lắng nghe tại 127.0.0.1:8766. Token được resolve từ --auth-token trước, sau đó là AK_DASHBOARD_TOKEN. Khác ak api start, lệnh không đọc token từ config.yaml, không hỗ trợ cú pháp @file, và token cờ thô có thể xuất hiện trong danh sách process.

Giữ browser dashboard trên loopback. Dù listener không phải loopback được phép khi có token, server từ chối mọi HostOrigin không phải loopback. Server còn yêu cầu bearer header cho page shell và asset, trong khi browser được mở bình thường không tự thêm header đó. Vì vậy, listener có token hoặc bind LAN cần client có thể gửi header mà vẫn tuân theo loopback host guard; đây không phải public dashboard mode.

Mutation request còn phải có Content-Type: application/json và bị từ chối nếu có fetch metadata cross-site hoặc origin không khớp request host.

State process và browser fallback

Đường HTTP ghi atomically ~/.agentkit/dashboard/state.json với PID, port, địa chỉ bind và thời điểm bắt đầu. Lỗi ghi state được log nhưng không dừng listener. Shutdown sạch sẽ xoá tệp sau graceful drain tối đa 30 giây.

Trừ khi có --no-open, --no-interactive, --json hoặc --quiet, đường HTTP khởi động browser mặc định của hệ điều hành. Lỗi mở browser là cảnh báo không fatal. Sau đó lệnh vẫn ở foreground; lệnh không có daemon flag. Dùng ak config start, status, stop cho vòng đời HTTP rõ ràng, đồng thời nhớ status và stop tin vào PID đã ghi.

Đường native không ghi tệp state dashboard. Đóng window sẽ kết thúc lệnh; ak config statusak config stop không quản lý window đó.

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

Đường native không có success envelope CLI tiêu chuẩn; Wails quản lý vòng đời window và có thể ghi log ra stderr.

Đường HTTP ghi kết quả khởi động ra stdout. Chế độ JSON phát một dòng rồi vẫn gắn với server:

{"schema_version":1,"kind":"config.start","data":{"status":"running","bind_addr":"127.0.0.1:8766","url":"http://127.0.0.1:8766","pid":12345}}

Log server vẫn là plain text trên stderr trong chế độ JSON, vì vậy hãy xử lý hai luồng riêng. Lỗi runtime JSON dùng schema_version, error, error_code, exit_code; lỗi parse cờ có thể vẫn là hướng dẫn dùng dạng plain text.

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

Mã thoátÝ nghĩaBước tiếp theo an toàn
0Native window đóng bình thường hoặc HTTP server shutdown sạch sẽ. Cảnh báo mở browser vẫn là thành công.Xác minh riêng thao tác UI dự định thực hiện.
1Có positional argument không mong đợi, hoặc khởi tạo window, resolve home, tạo server, bind, serve hay bước runtime khác thất bại.Sửa argument dư; nếu không, đọc stderr và xác nhận đường nào đã được chọn.
2Parse cờ thất bại.Sửa các cờ.
7Đường HTTP chọn bind không phải loopback mà không có token.Trở lại loopback hoặc cấu hình token cho client không phải browser.

Lệnh liên quan