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ụ
- Cài và thử tệp thực thi
ax-codedưới cùng người dùng sẽ chạy dịch vụ. - 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ó. - Giữ máy chủ trên
127.0.0.1; máy chủ của AX Code chỉ cục bộ. - Đặ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.
- 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
/scheduleliệ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ấnctrl+dhai 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_tasksvàlist_scheduled_task_runscủ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;
/attentionliệ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.
Điều hướng các phiên song song
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ú ý.