Cấu hình
OpenClaw đọc file cấu hình tùy chọn dạng từ~/.openclaw/openclaw.json.
Nếu file này không tồn tại, OpenClaw sẽ sử dụng các giá trị mặc định an toàn. Các lý do phổ biến để thêm cấu hình:
- Kết nối các kênh và kiểm soát ai có thể nhắn tin cho bot
- Thiết lập mô hình, công cụ, sandboxing, hoặc tự động hóa (cron, hooks)
- Điều chỉnh phiên, phương tiện, mạng, hoặc giao diện người dùng
Cấu hình tối thiểu
Chỉnh sửa cấu hình
- Trình hướng dẫn tương tác
- CLI (dòng lệnh ngắn)
- Giao diện điều khiển
- Chỉnh sửa trực tiếp
Xác thực nghiêm ngặt
Khi xác thực thất bại:- Gateway không khởi động
- Chỉ các lệnh chẩn đoán hoạt động (
openclaw doctor,openclaw logs,openclaw health,openclaw status) - Chạy
openclaw doctorđể xem các vấn đề cụ thể - Chạy
openclaw doctor --fix(hoặc--yes) để áp dụng sửa chữa
Các tác vụ phổ biến
Thiết lập một kênh (WhatsApp, Telegram, Discord, v.v.)
Thiết lập một kênh (WhatsApp, Telegram, Discord, v.v.)
Mỗi kênh có phần cấu hình riêng dưới
channels.<provider>. Xem trang kênh chuyên dụng để biết các bước thiết lập:- WhatsApp —
channels.whatsapp - Telegram —
channels.telegram - Discord —
channels.discord - Slack —
channels.slack - Signal —
channels.signal - iMessage —
channels.imessage - Google Chat —
channels.googlechat - Mattermost —
channels.mattermost - Microsoft Teams —
channels.msteams
Chọn và cấu hình mô hình
Chọn và cấu hình mô hình
Thiết lập mô hình chính và các mô hình dự phòng tùy chọn:
agents.defaults.modelsđịnh nghĩa danh mục mô hình và hoạt động như danh sách cho phép cho/model.- Tham chiếu mô hình sử dụng định dạng
provider/model(ví dụ:anthropic/claude-opus-4-6). agents.defaults.imageMaxDimensionPxkiểm soát việc giảm kích thước hình ảnh transcript/tool (mặc định1200); giá trị thấp hơn thường giảm sử dụng vision-token trong các lần chạy nhiều ảnh chụp màn hình.- Xem Models CLI để chuyển đổi mô hình trong chat và Model Failover cho việc xoay vòng xác thực và hành vi dự phòng.
- Đối với các nhà cung cấp tùy chỉnh/tự lưu trữ, xem Custom providers trong tài liệu tham khảo.
Kiểm soát ai có thể nhắn tin cho bot
Kiểm soát ai có thể nhắn tin cho bot
Quyền truy cập DM được kiểm soát theo từng kênh qua
dmPolicy:"pairing"(mặc định): người gửi không xác định nhận mã ghép đôi một lần để phê duyệt"allowlist": chỉ những người gửi trongallowFrom(hoặc cửa hàng cho phép ghép đôi)"open": cho phép tất cả DM đến (yêu cầuallowFrom: ["*"])"disabled": bỏ qua tất cả DM
groupPolicy + groupAllowFrom hoặc danh sách cho phép cụ thể cho từng kênh.Xem tài liệu tham khảo đầy đủ để biết chi tiết theo từng kênh.Thiết lập kiểm soát nhắc đến trong chat nhóm
Thiết lập kiểm soát nhắc đến trong chat nhóm
Tin nhắn nhóm mặc định yêu cầu nhắc đến. Cấu hình mẫu theo từng agent:
- Nhắc đến metadata: nhắc đến @-native (WhatsApp nhấn để nhắc đến, Telegram @bot, v.v.)
- Mẫu văn bản: mẫu regex an toàn trong
mentionPatterns - Xem tài liệu tham khảo đầy đủ để biết ghi đè theo từng kênh và chế độ tự chat.
Điều chỉnh giám sát sức khỏe kênh gateway
Điều chỉnh giám sát sức khỏe kênh gateway
Kiểm soát mức độ tích cực của gateway khi khởi động lại các kênh có vẻ không hoạt động:
- Đặt
gateway.channelHealthCheckMinutes: 0để vô hiệu hóa khởi động lại giám sát sức khỏe toàn cầu. channelStaleEventThresholdMinutesnên lớn hơn hoặc bằng khoảng thời gian kiểm tra.- Sử dụng
channels.<provider>.healthMonitor.enabledhoặcchannels.<provider>.accounts.<id>.healthMonitor.enabledđể vô hiệu hóa tự động khởi động lại cho một kênh hoặc tài khoản mà không vô hiệu hóa giám sát toàn cầu. - Xem Health Checks để gỡ lỗi hoạt động và tài liệu tham khảo đầy đủ cho tất cả các trường.
Cấu hình phiên và đặt lại
Cấu hình phiên và đặt lại
Phiên kiểm soát tính liên tục và cô lập của cuộc trò chuyện:
dmScope:main(chia sẻ) |per-peer|per-channel-peer|per-account-channel-peerthreadBindings: mặc định toàn cầu cho định tuyến phiên ràng buộc theo luồng (Discord hỗ trợ/focus,/unfocus,/agents,/session idle, và/session max-age).- Xem Quản lý phiên để biết phạm vi, liên kết danh tính, và chính sách gửi.
- Xem tài liệu tham khảo đầy đủ cho tất cả các trường.
Kích hoạt sandboxing
Kích hoạt sandboxing
Chạy các phiên agent trong các container Docker cô lập:Xây dựng hình ảnh trước:
scripts/sandbox-setup.shXem Sandboxing để biết hướng dẫn đầy đủ và tài liệu tham khảo đầy đủ cho tất cả các tùy chọn.Kích hoạt đẩy dựa trên relay cho các bản dựng iOS chính thức
Kích hoạt đẩy dựa trên relay cho các bản dựng iOS chính thức
Đẩy dựa trên relay được cấu hình trong Tương đương CLI:Điều này làm gì:
openclaw.json.Đặt điều này trong cấu hình gateway:- Cho phép gateway gửi
push.test, wake nudges, và reconnect wakes thông qua relay bên ngoài. - Sử dụng một quyền gửi phạm vi đăng ký được chuyển tiếp bởi ứng dụng iOS đã ghép đôi. Gateway không cần một token relay toàn bộ triển khai.
- Ràng buộc mỗi đăng ký dựa trên relay với danh tính gateway mà ứng dụng iOS đã ghép đôi, do đó một gateway khác không thể tái sử dụng đăng ký đã lưu trữ.
- Giữ các bản dựng iOS cục bộ/thủ công trên APNs trực tiếp. Các gửi dựa trên relay chỉ áp dụng cho các bản dựng phân phối chính thức đã đăng ký thông qua relay.
- Phải khớp với URL cơ sở relay được nhúng trong bản dựng iOS chính thức/TestFlight, để lưu lượng đăng ký và gửi đến cùng một triển khai relay.
- Cài đặt một bản dựng iOS chính thức/TestFlight đã được biên dịch với cùng URL cơ sở relay.
- Cấu hình
gateway.push.apns.relay.baseUrltrên gateway. - Ghép đôi ứng dụng iOS với gateway và để cả hai phiên node và operator kết nối.
- Ứng dụng iOS lấy danh tính gateway, đăng ký với relay sử dụng App Attest cộng với biên lai ứng dụng, và sau đó xuất bản payload
push.apns.registerdựa trên relay đến gateway đã ghép đôi. - Gateway lưu trữ handle relay và quyền gửi, sau đó sử dụng chúng cho
push.test, wake nudges, và reconnect wakes.
- Nếu bạn chuyển ứng dụng iOS sang một gateway khác, kết nối lại ứng dụng để nó có thể xuất bản một đăng ký relay mới ràng buộc với gateway đó.
- Nếu bạn phát hành một bản dựng iOS mới trỏ đến một triển khai relay khác, ứng dụng sẽ làm mới đăng ký relay đã lưu trữ thay vì tái sử dụng nguồn gốc relay cũ.
OPENCLAW_APNS_RELAY_BASE_URLvàOPENCLAW_APNS_RELAY_TIMEOUT_MSvẫn hoạt động như các ghi đè môi trường tạm thời.OPENCLAW_APNS_RELAY_ALLOW_HTTP=truevẫn là một lối thoát phát triển chỉ dành cho loopback; không lưu trữ URL relay HTTP trong cấu hình.
Thiết lập heartbeat (kiểm tra định kỳ)
Thiết lập heartbeat (kiểm tra định kỳ)
every: chuỗi thời gian (30m,2h). Đặt0mđể vô hiệu hóa.target:last|whatsapp|telegram|discord|nonedirectPolicy:allow(mặc định) hoặcblockcho các mục tiêu heartbeat kiểu DM- Xem Heartbeat để biết hướng dẫn đầy đủ.
Cấu hình cron jobs
Cấu hình cron jobs
sessionRetention: loại bỏ các phiên chạy cô lập đã hoàn thành khỏisessions.json(mặc định24h; đặtfalseđể vô hiệu hóa).runLog: loại bỏcron/runs/<jobId>.jsonltheo kích thước và số dòng giữ lại.- Xem Cron jobs để biết tổng quan tính năng và ví dụ CLI.
Thiết lập webhooks (hooks)
Thiết lập webhooks (hooks)
Kích hoạt các điểm cuối webhook HTTP trên Gateway:Ghi chú bảo mật:
- Xem tất cả nội dung payload hook/webhook là đầu vào không đáng tin cậy.
- Giữ các cờ bỏ qua nội dung không an toàn bị vô hiệu hóa (
hooks.gmail.allowUnsafeExternalContent,hooks.mappings[].allowUnsafeExternalContent) trừ khi thực hiện gỡ lỗi có phạm vi chặt chẽ. - Đối với các agent điều khiển bằng hook, ưu tiên các tầng mô hình hiện đại mạnh mẽ và chính sách công cụ nghiêm ngặt (ví dụ chỉ nhắn tin cộng với sandboxing nếu có thể).
Cấu hình định tuyến đa agent
Cấu hình định tuyến đa agent
Chạy nhiều agent cô lập với các workspace và phiên riêng biệt:Xem Multi-Agent và tài liệu tham khảo đầy đủ cho các quy tắc ràng buộc và hồ sơ truy cập theo từng agent.
Chia cấu hình thành nhiều file ($include)
Chia cấu hình thành nhiều file ($include)
Sử dụng
$include để tổ chức các cấu hình lớn:- File đơn: thay thế đối tượng chứa
- Mảng file: hợp nhất sâu theo thứ tự (cái sau thắng)
- Khóa cùng cấp: hợp nhất sau khi bao gồm (ghi đè giá trị đã bao gồm)
- Bao gồm lồng nhau: hỗ trợ tối đa 10 cấp độ sâu
- Đường dẫn tương đối: được giải quyết tương đối với file bao gồm
- Xử lý lỗi: lỗi rõ ràng cho các file bị thiếu, lỗi phân tích cú pháp, và bao gồm vòng tròn
Tải lại cấu hình nóng
Gateway theo dõi~/.openclaw/openclaw.json và áp dụng thay đổi tự động — không cần khởi động lại thủ công cho hầu hết các thiết lập.
Chế độ tải lại
| Chế độ | Hành vi |
|---|---|
hybrid (mặc định) | Áp dụng nóng các thay đổi an toàn ngay lập tức. Tự động khởi động lại cho các thay đổi quan trọng. |
hot | Chỉ áp dụng nóng các thay đổi an toàn. Ghi nhật ký cảnh báo khi cần khởi động lại — bạn tự xử lý. |
restart | Khởi động lại Gateway trên bất kỳ thay đổi cấu hình nào, an toàn hay không. |
off | Vô hiệu hóa theo dõi file. Các thay đổi có hiệu lực khi khởi động lại thủ công tiếp theo. |
Cái gì áp dụng nóng và cái gì cần khởi động lại
Hầu hết các trường áp dụng nóng mà không cần downtime. Trong chế độhybrid, các thay đổi yêu cầu khởi động lại được xử lý tự động.
| Danh mục | Trường | Cần khởi động lại? |
|---|---|---|
| Kênh | channels.*, web (WhatsApp) — tất cả các kênh tích hợp và mở rộng | Không |
| Agent & mô hình | agent, agents, models, routing | Không |
| Tự động hóa | hooks, cron, agent.heartbeat | Không |
| Phiên & tin nhắn | session, messages | Không |
| Công cụ & phương tiện | tools, browser, skills, audio, talk | Không |
| Giao diện & khác | ui, logging, identity, bindings | Không |
| Máy chủ Gateway | gateway.* (port, bind, auth, tailscale, TLS, HTTP) | Có |
| Hạ tầng | discovery, canvasHost, plugins | Có |
gateway.reload và gateway.remote là ngoại lệ — thay đổi chúng không kích hoạt khởi động lại.Cấu hình RPC (cập nhật lập trình)
Các RPC ghi điều khiển (
config.apply, config.patch, update.run) bị giới hạn tốc độ 3 yêu cầu mỗi 60 giây cho mỗi deviceId+clientIp. Khi bị giới hạn, RPC trả về UNAVAILABLE với retryAfterMs.config.apply (thay thế toàn bộ)
config.apply (thay thế toàn bộ)
Xác thực + ghi toàn bộ cấu hình và khởi động lại Gateway trong một bước.Tham số:
raw(chuỗi) — payload JSON5 cho toàn bộ cấu hìnhbaseHash(tùy chọn) — hash cấu hình từconfig.get(yêu cầu khi cấu hình tồn tại)sessionKey(tùy chọn) — khóa phiên cho ping thức dậy sau khởi động lạinote(tùy chọn) — ghi chú cho sentinel khởi động lạirestartDelayMs(tùy chọn) — độ trễ trước khi khởi động lại (mặc định 2000)
config.patch (cập nhật từng phần)
config.patch (cập nhật từng phần)
Hợp nhất một cập nhật từng phần vào cấu hình hiện có (ngữ nghĩa JSON merge patch):
- Các đối tượng hợp nhất đệ quy
nullxóa một khóa- Mảng thay thế
raw(chuỗi) — JSON5 chỉ với các khóa cần thay đổibaseHash(bắt buộc) — hash cấu hình từconfig.getsessionKey,note,restartDelayMs— giống nhưconfig.apply
config.apply: hợp nhất các khởi động lại đang chờ cộng với một khoảng thời gian làm mát 30 giây giữa các chu kỳ khởi động lại.Biến môi trường
OpenClaw đọc các biến môi trường từ tiến trình cha cộng với:.envtừ thư mục làm việc hiện tại (nếu có)~/.openclaw/.env(dự phòng toàn cầu)
Nhập biến môi trường Shell (tùy chọn)
Nhập biến môi trường Shell (tùy chọn)
Nếu được kích hoạt và các khóa mong đợi không được đặt, OpenClaw chạy shell đăng nhập của bạn và chỉ nhập các khóa còn thiếu:Tương đương biến môi trường:
OPENCLAW_LOAD_SHELL_ENV=1Thay thế biến môi trường trong giá trị cấu hình
Thay thế biến môi trường trong giá trị cấu hình
Tham chiếu các biến môi trường trong bất kỳ giá trị chuỗi cấu hình nào với Quy tắc:
${VAR_NAME}:- Chỉ các tên viết hoa được khớp:
[A-Z_][A-Z0-9_]* - Các biến thiếu/rỗng gây ra lỗi khi tải
- Thoát với
$${VAR}để xuất ra nguyên văn - Hoạt động bên trong các file
$include - Thay thế nội tuyến:
"${BASE}/v1"→"https://api.example.com/v1"
Tham chiếu bí mật (env, file, exec)
Tham chiếu bí mật (env, file, exec)
Đối với các trường hỗ trợ đối tượng SecretRef, bạn có thể sử dụng:Chi tiết SecretRef (bao gồm
secrets.providers cho env/file/exec) có trong Quản lý Bí mật.
Các đường dẫn thông tin xác thực được hỗ trợ được liệt kê trong Bề mặt Thông tin Xác thực SecretRef.Tài liệu tham khảo đầy đủ
Để biết tài liệu tham khảo đầy đủ từng trường, xem Tài liệu Tham khảo Cấu hình.Liên quan: Ví dụ Cấu hình · Tài liệu Tham khảo Cấu hình · Doctor