CLI commands
Tác nhân
openclaw agent
Chạy một lượt agent thông qua Gateway. Nếu yêu cầu Gateway thất bại, lệnh sẽ chuyển sang agent nhúng; truyền --local để buộc thực thi bằng agent nhúng ngay từ đầu.
Truyền ít nhất một bộ chọn phiên: --to, --session-key, --session-id hoặc --agent.
Liên quan: Công cụ gửi của agent
Tùy chọn
-m, --message <text>: nội dung tin nhắn--message-file <path>: đọc nội dung tin nhắn từ tệp UTF-8-t, --to <dest>: người nhận dùng để suy ra khóa phiên--session-key <key>: khóa phiên tường minh dùng để định tuyến--session-id <id>: mã định danh phiên tường minh--agent <id>: mã định danh agent; ghi đè các liên kết định tuyến--model <id>: ghi đè mô hình cho lần chạy này (provider/modelhoặc mã định danh mô hình)--thinking <level>: mức suy luận của agent (off,minimal,low,medium,high, cùng các mức tùy chỉnh được nhà cung cấp hỗ trợ nhưxhigh,adaptivehoặcmax)--verbose <on|off>: lưu giữ mức chi tiết cho phiên--channel <channel>: kênh gửi; bỏ qua để dùng kênh của phiên chính--reply-to <target>: ghi đè đích gửi--reply-channel <channel>: ghi đè kênh gửi--reply-account <id>: ghi đè tài khoản gửi--local: chạy trực tiếp agent nhúng (sau khi tải trước sổ đăng ký plugin)--deliver: gửi phản hồi trở lại kênh/đích đã chọn--timeout <seconds>: ghi đè thời gian chờ của agent (mặc định là 600 hoặcagents.defaults.timeoutSeconds);0vô hiệu hóa thời gian chờ--json: xuất JSON
Ví dụ
openclaw agent --to +15555550123 --message "status update" --deliveropenclaw agent --agent ops --message "Summarize logs"openclaw agent --agent ops --message-file ./task.mdopenclaw agent --agent ops --model openai/gpt-5.4 --message "Summarize logs"openclaw agent --session-key agent:ops:incident-42 --message "Summarize status"openclaw agent --agent ops --session-key incident-42 --message "Summarize status"openclaw agent --session-id 1234 --message "Summarize inbox" --thinking mediumopenclaw agent --to +15555550123 --message "Trace logs" --verbose on --jsonopenclaw agent --agent ops --message "Generate report" --deliver --reply-channel slack --reply-to "#reports"openclaw agent --agent ops --message "Run locally" --localGhi chú
- Chỉ truyền một trong hai tùy chọn
--messagehoặc--message-file.--message-fileloại bỏ BOM UTF-8 ở đầu và giữ nguyên nội dung nhiều dòng; tùy chọn này từ chối các tệp không phải UTF-8 hợp lệ. - Các lệnh gạch chéo (ví dụ
/compact) không thể chạy thông qua--message. CLI từ chối chúng và hướng bạn đến lệnh chuyên dụng tương ứng (openclaw sessions compact <key>để thực hiện Compaction). - Các lần chạy bằng
--localvà phương án dự phòng nhúng chỉ thực thi một lần: tài nguyên local loopback MCP đi kèm và các phiên stdio Claude được khởi động sẵn cho lần chạy sẽ bị đóng sau phản hồi, nhờ đó các lệnh gọi bằng tập lệnh không để lại tiến trình con cục bộ đang chạy. Thay vào đó, các lần chạy thông qua Gateway giữ tài nguyên local loopback MCP do Gateway sở hữu trong tiến trình Gateway đang chạy. - Khi dùng đồng thời
--agent,--channelvà--to, việc định tuyến phiên tuân theo người nhận chuẩn của kênh vàsession.dmScope. Các kênh có danh tính người nhận ổn định chỉ dành cho chiều gửi đi sẽ dùng một phiên do nhà cung cấp sở hữu, tách biệt với phiên chính của agent.--reply-channelvà--reply-accountchỉ ảnh hưởng đến việc gửi. --session-keychọn một khóa phiên tường minh. Các khóa có tiền tố agent phải dùng định dạngagent:<agent-id>:<session-key>, và khi cả hai được cung cấp,--agentphải khớp với mã định danh agent trong khóa. Các khóa thuần không phải khóa sentinel sẽ thuộc phạm vi của--agentnếu được cung cấp, hoặc của agent mặc định đã cấu hình trong trường hợp ngược lại; ví dụ,--agent ops --session-key incident-42định tuyến đếnagent:ops:incident-42. Các khóa nguyên vănglobalvàunknownchỉ giữ nguyên không thuộc phạm vi khi không cung cấp--agent.--jsondành riêng stdout cho phản hồi JSON; thông tin chẩn đoán của Gateway, plugin và phương án dự phòng nhúng được ghi vào stderr để tập lệnh có thể phân tích trực tiếp stdout.- JSON của phương án dự phòng nhúng bao gồm
meta.transport: "embedded"vàmeta.fallbackFrom: "gateway"để tập lệnh có thể phát hiện một lần chạy dự phòng. - Nếu Gateway chấp nhận một lần chạy nhưng CLI hết thời gian chờ phản hồi cuối cùng, phương án dự phòng nhúng sẽ dùng mã định danh phiên/lần chạy mới có dạng
gateway-fallback-*và báo cáometa.fallbackReason: "gateway_timeout"cùng các trường phiên dự phòng, thay vì chạy tranh chấp với bản ghi hội thoại do Gateway sở hữu hoặc âm thầm thay thế phiên ban đầu. SIGTERM/SIGINTngắt một yêu cầu thông qua Gateway đang chờ; nếu Gateway đã chấp nhận lần chạy, CLI cũng gửichat.abortcho mã định danh lần chạy đó trước khi thoát. Các lần chạy bằng--localvà phương án dự phòng nhúng nhận cùng tín hiệu nhưng không gửichat.abort. Nếu khóa khử trùng lặp lần chạy nội bộ đã có một lần chạy đang hoạt động cho phiên này, phản hồi sẽ báo cáostatus: "in_flight"và CLI không dùng JSON sẽ in thông tin chẩn đoán ra stderr thay vì phản hồi trống. Đối với các trình bao bọc cron/systemd bên ngoài, hãy giữ một cơ chế buộc dừng dự phòng nhưtimeout -k 60 600 openclaw agent ...để trình giám sát có thể thu hồi tiến trình nếu quá trình tắt không thể hoàn tất.- Khi lệnh này kích hoạt việc tạo lại
models.json, thông tin xác thực của nhà cung cấp do SecretRef quản lý được lưu dưới dạng dấu hiệu không chứa bí mật (ví dụ tên biến môi trường,secretref-env:ENV_VAR_NAMEhoặcsecretref-managed), tuyệt đối không phải văn bản thuần của bí mật đã được phân giải. Các dấu hiệu được ghi từ ảnh chụp nhanh cấu hình nguồn đang hoạt động, không phải từ các giá trị bí mật thời gian chạy đã được phân giải.
Trạng thái gửi JSON
Khi dùng --json --deliver, phản hồi JSON của CLI bao gồm deliveryStatus ở cấp cao nhất để tập lệnh có thể phân biệt các lượt gửi đã hoàn tất, bị chặn, thất bại một phần và thất bại:
{ "payloads": [{ "text": "Report ready", "mediaUrl": null }], "meta": { "durationMs": 1200 }, "deliveryStatus": { "requested": true, "attempted": true, "status": "sent", "succeeded": true, "resultCount": 1 }}Các phản hồi CLI thông qua Gateway cũng giữ nguyên cấu trúc kết quả thô của Gateway tại result.deliveryStatus.
deliveryStatus.status là một trong các giá trị sau:
| Trạng thái | Ý nghĩa |
|---|---|
sent |
Việc gửi đã hoàn tất. |
suppressed |
Việc gửi đã bị chủ ý bỏ qua (ví dụ một hook gửi tin nhắn đã hủy hoặc không có kết quả hiển thị). Đây là trạng thái cuối, không thử lại. |
partial_failed |
Ít nhất một tải trọng đã được gửi trước khi một tải trọng sau đó thất bại. |
failed |
Không có lượt gửi bền vững nào hoàn tất hoặc bước kiểm tra trước khi gửi thất bại. |
Các trường thường gặp:
requested: luôn làtruekhi đối tượng hiện diện.attempted: làtruesau khi đường dẫn gửi bền vững đã chạy; làfalsekhi bước kiểm tra trước thất bại hoặc không có tải trọng hiển thị.succeeded:true,falsehoặc"partial";"partial"đi cùngstatus: "partial_failed".reason: lý do dạng chữ thường snake-case từ quá trình gửi bền vững hoặc xác thực trước khi gửi. Các giá trị đã biết bao gồmcancelled_by_message_sending_hook,no_visible_payload,no_visible_result,channel_resolved_to_internal,unknown_channel,invalid_delivery_targetvàno_delivery_target; các lượt gửi bền vững thất bại cũng có thể báo cáo giai đoạn thất bại. Hãy coi các giá trị không xác định là dữ liệu mờ vì tập giá trị có thể mở rộng.resultCount: số lượng kết quả gửi qua kênh, khi có.sentBeforeError: làtruekhi lỗi một phần xảy ra sau khi đã gửi ít nhất một tải trọng.error: làtrueđối với các lượt gửi thất bại hoặc thất bại một phần.errorMessage: chỉ hiện diện khi đã ghi nhận được thông báo lỗi gửi cơ sở. Các lỗi kiểm tra trước khi gửi cóerror/reasonnhưng không cóerrorMessage.payloadOutcomes: kết quả tùy chọn theo từng tải trọng, gồmindex,status,reason,resultCount,error,stage,sentBeforeErrorhoặc siêu dữ liệu hook khi có.
Liên quan
Was this useful?