Tải AX Code · Miễn phíTài liệu

Trang này được dịch từ tài liệu tiếng Anh. Lệnh, định danh và ví dụ giữ nguyên. Runtime 7.24.4 · SDK 2.6.7. Bản tiếng Anh

Vận hành AX Code cho việc chạy dài

Trạng thái: Đang hoạt động Phạm vi: trạng thái hiện tại Xem xét lần cuối: 2026-09-13 Chủ sở hữu: người bảo trì AX Code

AX Code giới hạn một lần chạy Super-Long tương tác ở 72 giờ. Để vận hành qua nhiều ngày hoặc nhiều tuần, hãy chạy một tiến trình ax-code serve có giám sát và chia việc thành các lần xảy ra đã lên lịch bền. Giám sát khởi động lại máy chủ; cơ sở dữ liệu dự án giữ lịch và trạng thái hàng đợi.

Không gian làm việc tương tác bền

Với việc cục bộ nên tiếp tục sau khi đóng terminal, hãy chọn tham gia một runtime dự án:

ax-code runtime start --dir /absolute/path/project
ax-code runtime attach --dir /absolute/path/project --continue
ax-code runtime status --dir /absolute/path/project
ax-code runtime list                  # every managed runtime on this machine
ax-code runtime stop --dir /absolute/path/project

runtime attach cũng khởi động runtime khi chưa có. Runtime được khóa theo thư mục dự án chuẩn; các lần khởi động đồng thời tái dùng một tiến trình. TUI hiện máy chủ thực thi của nó và một hành động Ngắt kết nối. Ngắt kết nối đóng máy khách và giữ việc đã được nhận tiếp tục chạy. runtime stop tắt runtime của dự án đó và ngắt việc đang hoạt động của nó. ax-code thông thường giữ vòng đời tiền cảnh hiện có của nó.

Các việc theo sau đã được nhận, gửi khi phiên đang bận, được lưu trên máy chủ. Theo mặc định chúng bắt đầu sau khi lượt đang chạy kết thúc, nên một yêu cầu không liên quan không bao giờ làm lệch việc đang diễn ra. Để sửa lượt đang chạy thay vì thế, hãy nhấn ctrl+s (input_submit_steer trong keybinds) với bản nháp chỉ văn bản: văn bản được nhận vào thế hệ đang hoạt động và được ghi thành tin nhắn người dùng tại ranh giới bước kế tiếp của vòng, sau khi các lần gọi công cụ đang bay ổn định và trước yêu cầu mô hình kế tiếp. Một chỉnh sửa được nhận khi lượt sắp kết sẽ kéo dài lần chạy thêm một vòng lặp thay vì bị bỏ. Việc lái là nỗ lực tốt nhất: nếu không còn thế hệ nào đang hoạt động, bản nháp được gửi qua đường thông thường; nếu một móc phủ quyết, bản nháp ở lại trong ô soạn kèm lý do. Bản nháp có tệp đính kèm và lệnh gạch chéo luôn dùng hàng đợi theo sau. Cùng cách giao này có cho các máy khách khác qua API lái mô tả trong điều khiển harness. Việc theo sau đã lưu cũng có thể được lái sau đó: nhấn ctrl+s với ô soạn rỗng sẽ đẩy tiền tố có thể lái của hàng đợi theo thứ tự và dừng ở hàng không lái được đầu tiên, và mục Việc theo sau trên thanh bên cùng hộp thoại /queue đưa cùng hành động lái-ngay theo hàng. Các hàng tạm dừng vẫn lái được tại chỗ — ngắt một lượt sẽ tạm dừng các việc theo sau đang chờ, và lái một hàng sẽ giao văn bản của nó mà không tiếp tục phần còn lại của hàng đợi. Chỉ các hàng không phải việc theo sau (lệnh gạch chéo đã xếp, lệnh shell), hàng có tệp đính kèm, văn bản rỗng hoặc quá cỡ, và hàng đang chạy hoặc đã xong là các rào chắn. Hàng đã lái bị hủy với dấu vết kiểm toán steeredInto và vẫn hiện trong lịch sử /queue. Khi không có thế hệ đang hoạt động, lái-ngay lùi về việc ưu tiên hàng lên đầu hàng đợi — nó vẫn chỉ bắt đầu sau khi lượt kết thúc. Ô soạn chỉ xóa sau khi được xác nhận. Hãy gắn lại cùng phiên và dùng /queue để kiểm tra, tạm dừng, sửa, tiếp tục hoặc hủy chúng. Sửa trước sẽ tạm dừng mục và giữ tệp đính kèm cùng lựa chọn mô hình; lưu không tiếp tục nó. Các sửa cũ đồng thời bị từ chối. Trong /queue, Ctrl+R gồm lịch sử đã hoàn thành và đã hủy. Terminal hẹp cũng hiện một tiêu đề Follow-ups có thể nhấp. Khung nhìn đã ngắt được lưu đệm và không thể đổi mục. Ngắt lượt đang hoạt động sẽ tạm dừng các việc theo sau đang chờ để chúng không lập tức bắt đầu lượt khác. Hãy tiếp tục chúng một cách tường minh khi sẵn sàng.

Sau khi backend khởi động lại, các việc theo sau đang chờ đã được nhận có thể tiếp tục. Một lời nhắc đang bay thông thường bị ngắt bởi lần khởi động lại đó được đánh dấu thất bại và cần kiểm tra trước khi thử lại; khôi phục hồ sơ hàng đợi không khôi phục một tiến trình shell đang thực thi. Một xác nhận bị mất có thể được thử lại từ ô soạn không đổi với cùng danh tính yêu cầu trong phiên máy khách đó. Bản nháp chưa lưu không phải việc đã nhận, và điều này không bảo đảm hiệu ứng bên ngoài đúng một lần.

Chế độ này không cài một dịch vụ đăng nhập, không tự khởi động lại máy chủ bị sự cố, và không thực thi khi máy chủ ngủ hoặc tắt nguồn. Hãy khởi động hoặc gắn lại sau sự cố; dùng các ví dụ dịch vụ có giám sát bên dưới cho việc khởi động lại máy chủ không giám sát. Người dùng SSH nên chạy runtime trên một máy chủ từ xa đang thức và gắn ở đó. Đừng lộ cổng HTTP ra công khai.

Khám phá runtime lưu một khả năng riêng và nhật ký dưới thư mục runtime/ của thư mục trạng thái AX Code. Đầu ra trạng thái bỏ khả năng đó. Tắt cần danh tính runtime đã xác thực khớp, không chỉ một PID đã lưu. Một tiến trình sống không có, hồ sơ hỏng, hoặc lệch phiên bản cần kiểm tra; CLI từ chối giết một tiến trình chưa xác minh. Hãy dừng một runtime khỏe trước khi nâng cấp và khởi động lại bằng tệp thực thi mới.

Mô hình độ tin cậy

Sự kiện Hành vi
Backend thoát trước khi một lần đến hạn được commit Lần đó vẫn đến hạn
Backend thoát sau khi giao dịch lịch-sang-hàng-đợi commit Cùng mục đã xếp được tiếp tục lúc khởi tạo
Backend thoát sau khi một lời nhắc bắt đầu Mục bị ngắt được đánh dấu thất bại thay vì được phát lại tự động
Máy chủ lỡ nhiều lần xảy ra run_once gộp chúng thành một lần chạy; skip tiến mà không chạy
Một lần chạy hàng đợi vượt hạn Bộ thực thi hủy phiên và ghi một mục hàng đợi thất bại
Giám sát thấy máy chủ thoát Các ví dụ bên dưới khởi động lại nó sau một khoảng trễ ngắn

Đây là khôi phục an toàn khi trùng, không phải giao đúng một lần cho các hiệu ứng bên ngoài tùy ý. Các tích hợp ghi ra hệ thống bên ngoài vẫn nên dùng khóa bất biến của chính chúng.

Trước khi cài một dịch vụ

  1. Cài và thử tệp thực thi ax-code dưới cùng người dùng sẽ chạy dịch vụ.
  2. Chọn một đường dẫn dự án tuyệt đối. Đặt nó làm AX_CODE_PROJECT để khởi động máy chủ làm nóng trước dự án đó và khởi động bộ lập lịch của nó.
  3. Giữ máy chủ trên 127.0.0.1; máy chủ của AX Code chỉ cục bộ.
  4. Đặt thông tin xác thực nhà cung cấp trong môi trường được bảo vệ của giám sát thay vì trong một tệp dịch vụ đã commit.
  5. Thay mọi chỗ giữ /absolute/path/... trong ví dụ đã chọn.

Các ví dụ dùng một cổng cố định để máy khách Desktop hoặc SDK có thể kết nối lại:

ax-code serve --hostname=127.0.0.1 --port=4096

Dịch vụ người dùng systemd

Sao chép ví dụ systemd tới ~/.config/systemd/user/ax-code.service, thay các đường dẫn tuyệt đối của nó, và tùy chọn đặt thông tin xác thực trong ~/.config/ax-code/server.env.

chmod 600 ~/.config/ax-code/server.env
systemctl --user daemon-reload
systemctl --user enable --now ax-code.service
systemctl --user status ax-code.service
journalctl --user -u ax-code.service -f

Chỉ dùng loginctl enable-linger "$USER" nếu chính sách vận hành của bạn cho phép dịch vụ người dùng chạy khi người dùng đã đăng xuất.

Tác nhân launchd

Sao chép ví dụ launchd tới ~/Library/LaunchAgents/com.axcode.server.plist, thay các đường dẫn tuyệt đối của nó, rồi xác thực và nạp:

plutil -lint ~/Library/LaunchAgents/com.axcode.server.plist
launchctl bootstrap "gui/$(id -u)" ~/Library/LaunchAgents/com.axcode.server.plist
launchctl kickstart -k "gui/$(id -u)/com.axcode.server"

launchd không mở rộng biến shell trong ProgramArguments. Hãy dùng đường dẫn tuyệt đối và cung cấp thông tin xác thực cần thiết qua một cơ chế do người vận hành quản lý.

PM2

Sao chép ví dụ PM2, thay các đường dẫn của nó, và khởi động:

pm2 start docs/examples/ax-code-ecosystem.config.cjs
pm2 save
pm2 logs ax-code-server

Hãy theo hướng dẫn khởi động riêng nền tảng của PM2 nếu tiến trình phải trở lại sau khi máy chủ khởi động lại.

Hạn, bắt kịp và khôi phục

Tác vụ đã lên lịch mặc định là catchUpPolicy: "run_once". Sau thời gian ngừng, AX Code chạy một lần xảy ra đã gộp thay vì tạo tồn đọng không giới hạn. Chọn "skip" khi việc trễ sẽ gây hiểu nhầm hoặc không an toàn.

Mỗi tác vụ đã lên lịch có thể đặt maxRunDurationMs từ 1 giây tới 72 giờ. Thực thi hàng đợi nhiệm vụ nếu không thì dùng trần 72 giờ. Các mục đang hoạt động cập nhật một mốc nhịp tim mỗi 30 giây, và trạng thái kết cùng chi tiết lỗi vẫn nằm trong cơ sở dữ liệu dự án.

Các điểm cuối lời nhắc, lệnh và shell bất đồng bộ trả mục hàng đợi bền trong phản hồi HTTP 202 của chúng. Máy khách nên giữ id của nó và thăm dò GET /task-queue/:id cho đến completed, failed hoặc cancelled; chỉ được nhận không phải hoàn thành.

Khi khởi động, một backend AX Code bền tiếp tục các mục hàng đợi đã lên lịch và các mục bất đồng bộ được đánh dấu tường minh đã được commit nhưng chưa bắt đầu. Các lệnh CLI một lần không nhận quyền sở hữu các mục đó. Việc lời nhắc đã bắt đầu được đánh dấu thất bại kèm giải thích khởi động lại để người vận hành có thể kiểm tra tác dụng phụ trước khi thử lại.

Nhìn việc các tác vụ đã lên lịch đang làm

Mỗi lần xảy ra của tác vụ đã lên lịch nhìn thấy được khi nó diễn ra và có thể kiểm toán sau đó:

  • Bắt đầu, hoàn thành, thất bại, bỏ qua và tự tạm dừng khi thất bại bền đều tạo một thông báo trong ứng dụng nêu tên tác vụ.
  • Lệnh TUI /schedule liệt kê mọi tác vụ với trạng thái, lịch, thời điểm chạy kế tiếp và lỗi cuối, rồi mở lịch sử chạy gần đây. Từ đó bạn có thể tạm dừng, tiếp tục, chạy ngay, xóa (nhấn ctrl+d hai lần để xác nhận), và nhảy tới phiên mà một lần chạy đã tạo. Các công cụ list_scheduled_tasks và list_scheduled_task_runs của tác nhân trả lời cùng các câu hỏi bằng hội thoại.
  • Mỗi lần chạy thực thi trong một phiên mới đặt tiêu đề bằng tiêu đề tác vụ, nên kết quả chỉ cách một mục danh sách phiên kể cả khi lỡ một thông báo.
  • Nếu một lần chạy hỏi quyền hoặc câu trả lời khi bạn đang xem một hội thoại khác, một thông báo cảnh báo nêu phiên cần bạn; /attention liệt kê các yêu cầu đang chờ đã biết và mở phiên đang yêu cầu. Yêu cầu có thể được trả lời trong phiên đó hoặc khung nhìn của tổ tiên đã nạp, kể cả phiên con và cháu. Mở một yêu cầu không bao giờ tự phê duyệt nó.
  • Một tác vụ một lần chỉ bị tắt sau một lần chạy thành công. Một lần xảy ra thất bại thử lại với thời gian lùi có giới hạn, và các thất bại lặp tạm dừng tác vụ kèm thông báo — một lời nhắc không còn có thể biến mất im lặng.

Kiểm tra vận hành

  • Theo dõi số lần khởi động lại của giám sát và nhật ký máy chủ.
  • Kiểm tra các mục hàng đợi nhiệm vụ thất bại và lỗi tác vụ đã lên lịch trước khi thử lại.
  • Xác nhận đủ dung lượng đĩa cho cơ sở dữ liệu SQLite của dự án và nhật ký.
  • Luyện một lần chạy ngay thủ công sau khi đổi thông tin xác thực, mô hình hoặc đường dẫn dịch vụ.
  • Hãy dừng qua giám sát để AX Code nhận SIGTERM; các ví dụ cho phép tới 90 giây để tắt êm.

/loop cố ý chỉ trong tiến trình và không sống sót qua lần khởi động lại. Hãy dùng tác vụ đã lên lịch cho việc không giám sát bền.

Từ 146 cột terminal trở lên, một thanh bên điều hướng bên trái hiện các phiên trong không gian làm việc hiện tại và các tác nhân con đã nạp của chúng. Mở rộng một hàng bằng điều khiển + của nó và nhấp tiêu đề để mở. Các phiên đã ghim giữ thứ tự và số phím tắt. Nhãn hoạt động đầy đủ phân biệt đang làm, đang thử lại, phê duyệt và câu hỏi; cha cũng phản ánh yêu cầu từ con cháu. Các nhãn này không có nghĩa một nhiệm vụ đã qua xác minh. Thanh bên phải hiện có giữ ngữ cảnh và điều khiển của phiên hiện tại.

Tiêu đề Dự án xác định thư mục hiện tại. Nhấp nó hoặc dùng /navigation-info để xem đường dẫn dự án đầy đủ và tiêu đề phiên hiện tại. Gần đây hiện các phiên đã nạp; Đang hoạt động giữ các cây phiên đang làm hoặc đang chờ và cây phiên hiện tại. Bộ lọc được dùng chung với bộ chọn điều hướng và được nhớ. Dùng /navigation-filter để bật tắt từ bàn phím. Trong lúc ngắt kết nối, nó hiện các phiên đã đệm thay vì suy đoán phiên nào đang hoạt động. Xóa (hoặc /navigation-clear) hỏi xác nhận, rồi ẩn các hàng lịch sử khỏi ray trái và bộ chọn điều hướng mà thôi. Nó không xóa phiên; /sessions vẫn liệt kê chúng. Cây phiên hiện tại, các phiên đã ghim, và các cây đang làm hoặc đang chờ đã quan sát vẫn ở trên ray. Mở một phiên từ /sessions đưa nó trở lại danh sách.

Dùng /navigation-width hoặc hành động Chiều rộng điều hướng để chọn 20, 24, 28, 30, 32, 36 hoặc 40 cột (mặc định 28). Thanh bên phiên bên phải có cùng hành động Chiều rộng và /sidebar-width (mặc định 32). Cả hai tùy chọn được nhớ và tự thu khi cần để giữ nội dung chính. Dùng /navigation để ẩn hoặc khôi phục ray điều hướng trái trên terminal rộng. /sidebar ẩn hoặc khôi phục thanh bên phiên bên phải theo cùng cách. Trên terminal hẹp hơn, /navigation mở một bộ chọn phiên và tác nhân thay thế. Một thanh Phiên nhìn thấy được cung cấp cùng hành động mỗi khi ray điều hướng vắng. Hành động Đang chờ của nó xuất hiện khi các yêu cầu đã biết cần đầu vào; một dấu sao đánh dấu số đếm đã lưu đệm trong lúc ngắt kết nối. /sessions tiếp tục mở bộ chọn phiên thông thường. /attention có ở mọi độ rộng. Trong lúc ngắt kết nối, danh sách của nó được gắn nhãn đã lưu đệm; vẫn có thể mở các mục đã lưu đệm, nhưng yêu cầu có thể đã được trả lời ở nơi khác. Hành động Yêu cầu đã biết của thanh bên mở các yêu cầu đang chờ trên các không gian làm việc đã biết, trong khi cây phiên của nó vẫn theo phạm vi dự án hiện tại. Mọi khung nhìn này bị giới hạn bởi thực thể đã kết nối và dữ liệu phiên đã nạp; số đếm này không phải kiểm kê đầy đủ của các máy chủ khác hoặc không gian làm việc chưa nạp.

Bản nháp chưa gửi được cô lập theo dự án và phiên trong TUI đang chạy. Đổi phiên giữ văn bản, tệp đính kèm, vị trí con trỏ và chế độ shell; quay lại sẽ khôi phục bản nháp khớp. Các bản nháp này chỉ nằm trong bộ nhớ và không sống sót khi đóng TUI.

Thông báo hoàn thành tùy chọn giờ nói Session idle. Nó theo việc đã quan sát trong cây con phiên đang xem và chờ các con cháu đang hoạt động đã quan sát trở thành rảnh một cách tường minh, không còn yêu cầu đang chờ. Ngắt kết nối, đồng bộ lại, trạng thái thiếu, lỗi và hủy có thể chặn thông báo. Đó là thông báo vòng đời, không phải bằng chứng rằng kiểm thử đã đạt hoặc một mục tiêu đã hoàn thành.

Nhiệm vụ mới và thiết lập

Khởi động bình thường mở bề mặt việc Nhiệm vụ mới với ô soạn ở dưới và điều hướng phiên. Mở nó hoặc gõ một bản nháp không tạo một phiên đã lưu; phiên được tạo khi bạn gửi. Dùng /sessions hoặc điều hướng trái để tiếp tục việc hiện có. Hành vi tường minh --session, --continue và --prompt vẫn có; khởi động không bật tự tiếp tục.

Thiết lập nhà cung cấp không tự mở. Dùng hành động /connect nhìn thấy được trong vùng làm việc khi chưa cấu hình nhà cung cấp. Khi đã cấu hình nhà cung cấp nhưng chưa chọn mô hình hợp lệ, hành động đổi thành /models. Khám phá nhà cung cấp thất bại trỏ tới /status; /connect và /providers vẫn có để sửa cấu hình. Một mô hình đã chọn là lựa chọn cấu hình, không phải kiểm tra thông tin xác thực hay mức sẵn sàng runtime. Các gợi ý cũng xuất hiện với người dùng quay lại mà cấu hình cần chú ý.