Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Vì sao nó từng tồn tại
- Ranh giới bảo mật: cầu nối chỉ phơi bày một allowlist nhỏ thay vì toàn bộ bề mặt API Gateway.
- Ghép nối + danh tính node: việc chấp nhận node do gateway sở hữu và được gắn với một token riêng cho từng node.
- Trải nghiệm khám phá: node có thể khám phá gateway qua Bonjour trên LAN, hoặc kết nối trực tiếp qua tailnet.
- WS local loopback: mặt phẳng điều khiển WS đầy đủ vẫn ở cục bộ trừ khi được tunnel qua SSH.
Truyền tải
- TCP, mỗi dòng một đối tượng JSON (JSONL).
- TLS tùy chọn (khi
bridge.tls.enabledlà true). - Cổng lắng nghe mặc định trong lịch sử là
18790(các bản dựng hiện tại không khởi động cầu nối TCP).
bridgeTls=1 cùng với
bridgeTlsSha256 như một gợi ý không bí mật. Lưu ý rằng các bản ghi TXT Bonjour/mDNS
không được xác thực; máy khách không được xem fingerprint được quảng bá là một
pin có thẩm quyền nếu không có ý định rõ ràng của người dùng hoặc xác minh ngoài băng khác.
Bắt tay + ghép nối
- Máy khách gửi
hellokèm metadata node + token (nếu đã được ghép nối). - Nếu chưa được ghép nối, gateway trả lời
error(NOT_PAIRED/UNAUTHORIZED). - Máy khách gửi
pair-request. - Gateway chờ phê duyệt, rồi gửi
pair-okvàhello-ok.
hello-ok trả về serverName và có thể bao gồm
canvasHostUrl.
Frame
Máy khách → Gateway:req/res: RPC gateway có phạm vi (chat, phiên, cấu hình, tình trạng, voicewake, skills.bins)event: tín hiệu node (bản chép lời thoại, yêu cầu agent, đăng ký chat, vòng đời exec)
invoke/invoke-res: lệnh node (canvas.*,camera.*,screen.record,location.get,sms.send)event: cập nhật chat cho các phiên đã đăng kýping/pong: keepalive
src/gateway/server-bridge.ts (đã bị loại bỏ).
Sự kiện vòng đời exec
Node có thể phát sự kiệnexec.finished hoặc exec.denied để hiển thị hoạt động system.run.
Các sự kiện này được ánh xạ thành sự kiện hệ thống trong gateway. (Node kế thừa vẫn có thể phát exec.started.)
Trường payload (tất cả đều tùy chọn trừ khi có ghi chú):
sessionKey(bắt buộc): phiên agent nhận sự kiện hệ thống.runId: id exec duy nhất để nhóm.command: chuỗi lệnh thô hoặc đã định dạng.exitCode,timedOut,success,output: chi tiết hoàn tất (chỉ khi finished).reason: lý do từ chối (chỉ khi denied).
Cách dùng tailnet trong lịch sử
- Bind cầu nối vào một IP tailnet:
bridge.bind: "tailnet"trong~/.openclaw/openclaw.json(chỉ trong lịch sử;bridge.*không còn hợp lệ). - Máy khách kết nối qua tên MagicDNS hoặc IP tailnet.
- Bonjour không đi qua các mạng; dùng host/port thủ công hoặc DNS‑SD diện rộng khi cần.