Gateway của OpenClaw có thể phục vụ endpointDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/responses tương thích với OpenResponses.
Endpoint này bị tắt theo mặc định. Trước tiên hãy bật trong cấu hình.
POST /v1/responses- Cùng cổng với Gateway (ghép kênh WS + HTTP):
http://<gateway-host>:<port>/v1/responses
openclaw agent), nên định tuyến/quyền/cấu hình khớp với Gateway của bạn.
Xác thực, bảo mật và định tuyến
Hành vi vận hành khớp với OpenAI Chat Completions:- dùng đường dẫn xác thực HTTP Gateway tương ứng:
- xác thực shared-secret (
gateway.auth.mode="token"hoặc"password"):Authorization: Bearer <token-or-password> - xác thực trusted-proxy (
gateway.auth.mode="trusted-proxy"): các header proxy có nhận biết danh tính từ một nguồn proxy tin cậy đã cấu hình; proxy local loopback cùng máy chủ yêu cầu bật rõ rànggateway.auth.trustedProxy.allowLoopback = true - xác thực mở private-ingress (
gateway.auth.mode="none"): không có header xác thực
- xác thực shared-secret (
- xem endpoint này như quyền truy cập đầy đủ của người vận hành cho phiên bản gateway
- với các chế độ xác thực shared-secret (
tokenvàpassword), bỏ qua các giá trịx-openclaw-scopeshẹp hơn được bearer khai báo và khôi phục các mặc định người vận hành đầy đủ thông thường - với các chế độ HTTP mang danh tính tin cậy (ví dụ xác thực trusted proxy hoặc
gateway.auth.mode="none"), tôn trọngx-openclaw-scopeskhi có mặt và nếu không thì quay về tập phạm vi mặc định người vận hành thông thường - chọn tác nhân bằng
model: "openclaw",model: "openclaw/default",model: "openclaw/<agentId>", hoặcx-openclaw-agent-id - dùng
x-openclaw-modelkhi bạn muốn ghi đè mô hình backend của tác nhân đã chọn - dùng
x-openclaw-session-keyđể định tuyến phiên rõ ràng - dùng
x-openclaw-message-channelkhi bạn muốn một ngữ cảnh kênh ingress tổng hợp không mặc định
gateway.auth.mode="token"hoặc"password"+Authorization: Bearer ...- chứng minh quyền sở hữu bí mật người vận hành gateway dùng chung
- bỏ qua
x-openclaw-scopeshẹp hơn - khôi phục tập phạm vi người vận hành mặc định đầy đủ:
operator.admin,operator.approvals,operator.pairing,operator.read,operator.talk.secrets,operator.write - xem các lượt chat trên endpoint này là các lượt owner-sender
- các chế độ HTTP mang danh tính tin cậy (ví dụ xác thực trusted proxy, hoặc
gateway.auth.mode="none"trên private ingress)- tôn trọng
x-openclaw-scopeskhi header có mặt - quay về tập phạm vi mặc định người vận hành thông thường khi header vắng mặt
- chỉ mất ngữ nghĩa owner khi caller thu hẹp phạm vi rõ ràng và bỏ qua
operator.admin
- tôn trọng
gateway.http.endpoints.responses.enabled.
Bề mặt tương thích này cũng bao gồm:
GET /v1/modelsGET /v1/models/{id}POST /v1/embeddingsPOST /v1/chat/completions
openclaw/default, truyền qua embeddings, và ghi đè mô hình backend khớp với nhau, xem OpenAI Chat Completions và Danh sách mô hình và định tuyến tác nhân.
Hành vi phiên
Theo mặc định endpoint này không trạng thái theo từng yêu cầu (mỗi lần gọi tạo một khóa phiên mới). Nếu yêu cầu bao gồm một chuỗi OpenResponsesuser, Gateway dẫn xuất một khóa phiên ổn định
từ chuỗi đó, để các lần gọi lặp lại có thể dùng chung một phiên tác nhân.
Hình dạng yêu cầu (được hỗ trợ)
Yêu cầu tuân theo API OpenResponses với input dựa trên item. Hỗ trợ hiện tại:input: chuỗi hoặc mảng các đối tượng item.instructions: được hợp nhất vào system prompt.tools: định nghĩa công cụ phía client (function tools).tool_choice: lọc hoặc yêu cầu công cụ phía client.stream: bật streaming SSE.max_output_tokens: giới hạn đầu ra theo nỗ lực tốt nhất (phụ thuộc provider).user: định tuyến phiên ổn định.
max_tool_callsreasoningmetadatastoretruncation
previous_response_id: OpenClaw tái sử dụng phiên phản hồi trước đó khi yêu cầu vẫn nằm trong cùng phạm vi tác nhân/người dùng/phiên được yêu cầu.
Item (input)
message
Vai trò: system, developer, user, assistant.
systemvàdeveloperđược nối vào system prompt.- Item
userhoặcfunction_call_outputgần nhất trở thành “thông điệp hiện tại.” - Các thông điệp user/assistant trước đó được đưa vào làm lịch sử cho ngữ cảnh.
function_call_output (công cụ theo lượt)
Gửi kết quả công cụ trở lại mô hình:
reasoning và item_reference
Được chấp nhận để tương thích schema nhưng bị bỏ qua khi dựng prompt.
Công cụ (công cụ function phía client)
Cung cấp công cụ bằngtools: [{ type: "function", function: { name, description?, parameters? } }].
Nếu tác nhân quyết định gọi một công cụ, phản hồi trả về một item đầu ra function_call.
Sau đó bạn gửi yêu cầu tiếp theo với function_call_output để tiếp tục lượt.
Hình ảnh (input_image)
Hỗ trợ nguồn base64 hoặc URL:
image/jpeg, image/png, image/gif, image/webp, image/heic, image/heif.
Kích thước tối đa (hiện tại): 10MB.
Tệp (input_file)
Hỗ trợ nguồn base64 hoặc URL:
text/plain, text/markdown, text/html, text/csv,
application/json, application/pdf.
Kích thước tối đa (hiện tại): 5MB.
Hành vi hiện tại:
- Nội dung tệp được giải mã và thêm vào system prompt, không phải thông điệp người dùng, nên vẫn mang tính tạm thời (không được lưu trong lịch sử phiên).
- Văn bản tệp đã giải mã được bọc dưới dạng nội dung bên ngoài không đáng tin cậy trước khi được thêm vào, nên byte của tệp được xem là dữ liệu, không phải chỉ dẫn đáng tin cậy.
- Khối được chèn dùng các dấu mốc ranh giới rõ ràng như
<<<EXTERNAL_UNTRUSTED_CONTENT id="...">>>/<<<END_EXTERNAL_UNTRUSTED_CONTENT id="...">>>và bao gồm một dòng siêu dữ liệuSource: External. - Đường dẫn input tệp này cố ý bỏ qua banner dài
SECURITY NOTICE:để giữ ngân sách prompt; các dấu mốc ranh giới và siêu dữ liệu vẫn được giữ nguyên. - PDF được phân tích văn bản trước. Nếu tìm thấy ít văn bản, các trang đầu tiên được
raster hóa thành hình ảnh và truyền cho mô hình, còn khối tệp được chèn dùng
placeholder
[PDF content rendered to images].
document-extract đi kèm, sử dụng bản dựng legacy
pdfjs-dist thân thiện với Node (không có worker). Bản dựng PDF.js hiện đại
kỳ vọng browser workers/DOM globals, nên không được dùng trong Gateway.
Mặc định fetch URL:
files.allowUrl:trueimages.allowUrl:truemaxUrlParts:8(tổng số phầninput_file+input_imagedựa trên URL mỗi yêu cầu)- Các yêu cầu được bảo vệ (phân giải DNS, chặn IP riêng tư, giới hạn chuyển hướng, timeout).
- Hỗ trợ allowlist hostname tùy chọn theo từng loại input (
files.urlAllowlist,images.urlAllowlist).- Host chính xác:
"cdn.example.com" - Subdomain wildcard:
"*.assets.example.com"(không khớp apex) - Allowlist trống hoặc bị bỏ qua nghĩa là không có hạn chế allowlist hostname.
- Host chính xác:
- Để tắt hoàn toàn fetch dựa trên URL, đặt
files.allowUrl: falsevà/hoặcimages.allowUrl: false.
Giới hạn tệp + hình ảnh (cấu hình)
Có thể tinh chỉnh mặc định tronggateway.http.endpoints.responses:
maxBodyBytes: 20MBmaxUrlParts: 8files.maxBytes: 5MBfiles.maxChars: 200kfiles.maxRedirects: 3files.timeoutMs: 10sfiles.pdf.maxPages: 4files.pdf.maxPixels: 4,000,000files.pdf.minTextChars: 200images.maxBytes: 10MBimages.maxRedirects: 3images.timeoutMs: 10s- Nguồn HEIC/HEIF
input_imageđược chấp nhận và chuẩn hóa sang JPEG trước khi chuyển tới provider.
- Allowlist URL được thực thi trước khi fetch và trên các bước chuyển hướng.
- Việc allowlist một hostname không bỏ qua cơ chế chặn IP riêng tư/nội bộ.
- Với các gateway phơi ra internet, áp dụng kiểm soát egress mạng bên cạnh các cơ chế bảo vệ cấp ứng dụng. Xem Bảo mật.
Streaming (SSE)
Đặtstream: true để nhận Server-Sent Events (SSE):
Content-Type: text/event-stream- Mỗi dòng sự kiện là
event: <type>vàdata: <json> - Stream kết thúc bằng
data: [DONE]
response.createdresponse.in_progressresponse.output_item.addedresponse.content_part.addedresponse.output_text.deltaresponse.output_text.doneresponse.content_part.doneresponse.output_item.doneresponse.completedresponse.failed(khi lỗi)
Mức sử dụng
usage được điền khi provider bên dưới báo cáo số lượng token.
OpenClaw chuẩn hóa các bí danh kiểu OpenAI phổ biến trước khi các bộ đếm đó tới
các bề mặt trạng thái/phiên downstream, bao gồm input_tokens / output_tokens
và prompt_tokens / completion_tokens.
Lỗi
Lỗi dùng một đối tượng JSON như:401thiếu/xác thực không hợp lệ400thân yêu cầu không hợp lệ405sai phương thức