Chạy một lần và đầu ra --json
Giao một tác vụ cho rexapf rồi thoát, đọc tác vụ từ stdin, nhận sự kiện JSON từng dòng và tiếp tục phiên bằng --session-id trong script hoặc CI.
Trên trang này
Khi chạy rexapf kèm nội dung tác vụ, CLI làm đúng một tác vụ, in câu trả lời cuối ra stdout rồi thoát. Chế độ này hợp với script, cron hay bước CI: không mở cổng mạng và không để lại tiến trình chạy nền.
Chạy một tác vụ
Đứng trong thư mục dự án
Thư mục hiện tại là thư mục làm việc của phiên.
bash$ cd ~/du-anGiao tác vụ
Nội dung tác vụ là các đối số còn lại, được nối bằng dấu cách. Nên đặt trong ngoặc kép.
bash$ rexapf "chạy test và sửa lỗi"Đọc kết quả
Trong lúc chạy, phần suy nghĩ của mô hình (nếu có) được ghi ra stderr. Khi xong, câu trả lời cuối được in ra stdout.
Kiểm tra mã thoát
Mã
0nghĩa là lượt kết thúc bình thường. Mã1nghĩa là tác vụ bị huỷ, lỗi, hoặc chưa đăng nhập.
$ rexapf "tóm tắt README trong ba gạch đầu dòng" - Dự án là ... - Cài đặt bằng ... - Chạy test bằng ... $ echo $? 0
Đọc tác vụ từ stdin
Dùng - làm đối số duy nhất, hoặc chỉ cần nối ống vào rexapf:
$ echo "tóm tắt README" | rexapf -
$ git diff | rexapf -
$ cat yeu-cau.md | rexapfLưu ý:
-phải là đối số tác vụ duy nhất. Viếtrexapf - thêm chữsẽ báo lỗi.- Một đối số chỉ toàn khoảng trắng bị từ chối với
error: cần nội dung tác vụ. - Nếu không có tác vụ và stdin là terminal, CLI in trợ giúp thay vì chờ nhập.
Đầu ra JSON từng dòng
Thêm --json để stdout nhận luồng sự kiện, mỗi dòng một đối tượng JSON, thay cho câu trả lời thuần:
$ rexapf --json "liệt kê các file lớn"type | Ý nghĩa |
|---|---|
session | Mở đầu luồng. Có sessionId và cwd của lần chạy. |
status | Tiến trình lượt và bước. phase là turn_start, step_start, step_end (có thể kèm usage) hoặc turn_end (kèm reason). |
thinking | Phần suy nghĩ đã chốt của một bước. |
text | Văn bản trả lời đã chốt của một bước. |
tool_call | Tác tử gọi công cụ: callId, tool, input. |
tool_result | Kết quả công cụ: callId, status (completed hoặc error), result. |
final | Kết thúc luồng, text là câu trả lời cuối đầy đủ. |
error | Lỗi ngoài lượt (ví dụ cờ sai, --session-id không dùng được). Luồng dừng mà không có final. |
{"type":"session","sessionId":"session-…","cwd":"/home/ban/du-an"}
{"type":"status","phase":"turn_start","turn":1}
{"type":"tool_call","callId":"…","tool":"bash","input":{"command":"du -sh *"}}
{"type":"tool_result","callId":"…","status":"completed","result":"…"}
{"type":"text","text":"Các file lớn nhất là …"}
{"type":"status","phase":"turn_end","turn":1,"reason":"completed"}
{"type":"final","text":"Các file lớn nhất là …"}text và thinking chỉ đến khi bước được chốt, không theo từng token. Mọi chuỗi trừ final bị cắt ở 8 KiB và gắn cờ truncated; mỗi dòng tối đa 32 KiB. Một lượt lỗi vẫn có thể kết thúc bằng final rỗng, nên hãy dựa vào mã thoát và reason của turn_end để biết thành công hay không.
Ví dụ lấy câu trả lời cuối bằng jq:
$ rexapf --json "đếm số dòng code" | jq -r 'select(.type=="final") | .text'Tiếp tục một phiên
Mỗi lần chạy mặc định tạo phiên mới session-<uuid>. Lấy id từ sự kiện session (hoặc từ TUI), rồi giao tiếp việc:
$ rexapf --session-id session-1234abcd "làm tiếp phần còn lại"Phiên phải tồn tại và có cùng thư mục làm việc với lần chạy hiện tại; nếu không, CLI từ chối trước khi chạy. Không thể dùng một id đang được tiến trình khác điều khiển. Muốn mở phiên đó trong giao diện tương tác, chỉ chạy rexapf --session-id <id>; xem Giao diện tương tác.
Dùng trong CI
Phiên mới dùng preset quyền workspace-write: lệnh shell và thao tác tệp chỉ được ghi trong thư mục làm việc và thư mục tạm. Quyền đọc và truy cập mạng không bị giới hạn. Chỉ chạy trên mã nguồn bạn tin cậy.
- Đăng nhập trên máy chạy CI một lần bằng
rexapf login; thông tin được lưu trong~/.dsh/.credentials.yaml(xem Tệp cấu hình). - Kiểm tra mã thoát của
rexapfđể quyết định bước CI đạt hay không. - Công cụ
web_searchkhông có trong CLI;web_fetchvẫn dùng được.
Danh sách đầy đủ cờ và lệnh ở Tham chiếu lệnh.