OpenClaw đọc cấu hình tùy chọn từ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.
~/.openclaw/openclaw.json.
Đường dẫn cấu hình đang hoạt động phải là một tệp thông thường. Các bố cục openclaw.json
dùng liên kết tượng trưng không được hỗ trợ cho các thao tác ghi do OpenClaw sở hữu; thao tác ghi nguyên tử có thể thay thế
đường dẫn thay vì giữ nguyên liên kết tượng trưng. Nếu bạn giữ cấu hình bên ngoài
thư mục trạng thái mặc định, hãy trỏ OPENCLAW_CONFIG_PATH trực tiếp đến tệp thật.
Nếu tệp bị thiếu, OpenClaw dùng các giá trị mặc định an toàn. Các lý do thường gặp để thêm cấu hình:
- Kết nối kênh và kiểm soát ai có thể nhắn cho bot
- Thiết lập mô hình, công cụ, sandboxing hoặc tự động hóa (cron, hook)
- Tinh chỉnh phiên, phương tiện, mạng hoặc UI
config.schema.lookup để xem tài liệu chính xác ở cấp trường
trước khi chỉnh sửa cấu hình. Dùng trang này để được hướng dẫn theo tác vụ và
Tài liệu tham chiếu cấu hình để xem bản đồ trường
và giá trị mặc định rộng hơn.
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 (lệnh một dòng)
- UI điều khiển
- Chỉnh sửa trực tiếp
Xác thực nghiêm ngặt
openclaw config schema in ra JSON Schema chuẩn được UI điều khiển
và quy trình xác thực sử dụng. config.schema.lookup lấy một nút theo phạm vi đường dẫn cùng
các tóm tắt con cho công cụ đi sâu. Siêu dữ liệu tài liệu trường title/description
được truyền qua các đối tượng lồng nhau, wildcard (*), mục mảng ([]) và các nhánh anyOf/
oneOf/allOf. Schema Plugin và kênh thời gian chạy được hợp nhất vào khi
registry manifest được tải.
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 đề chính xác - Chạy
openclaw doctor --fix(hoặc--yes) để áp dụng sửa chữa
openclaw.json sau đó không vượt qua xác thực (hoặc làm mất gateway.mode, thu nhỏ
đột ngột, hoặc có một dòng nhật ký lạc chỗ được thêm vào đầu), OpenClaw giữ lại tệp hỏng
dưới dạng .clobbered.*, khôi phục bản sao được biết là tốt gần nhất và ghi nhật ký lý do
khôi phục. Lượt agent tiếp theo cũng nhận được cảnh báo sự kiện hệ thống để agent chính
không mù quáng ghi lại cấu hình đã khôi phục. Việc thăng cấp thành bản được biết là tốt gần nhất
bị bỏ qua khi ứng viên chứa placeholder bí mật đã được biên tập, chẳng hạn như ***.
Khi mọi vấn đề xác thực đều nằm trong phạm vi plugins.entries.<id>..., OpenClaw
không thực hiện khôi phục toàn bộ tệp. Nó giữ cấu hình hiện tại hoạt động và
hiển thị lỗi cục bộ của Plugin để schema Plugin hoặc không khớp phiên bản máy chủ
không thể khôi phục ngược các thiết lập không liên quan của người dùng.
Tác vụ thường gặp
Thiết lập kênh (WhatsApp, Telegram, Discord, v.v.)
Thiết lập kênh (WhatsApp, Telegram, Discord, v.v.)
channels.<provider>. Xem trang kênh chuyên biệt để biết các bước thiết lập:- WhatsApp —
channels.whatsapp - Telegram —
channels.telegram - Discord —
channels.discord - Feishu —
channels.feishu - Google Chat —
channels.googlechat - Microsoft Teams —
channels.msteams - Slack —
channels.slack - Signal —
channels.signal - iMessage —
channels.imessage - Mattermost —
channels.mattermost
Chọn và cấu hình mô hình
Chọn và cấu hình mô hình
agents.defaults.modelsđịnh nghĩa danh mục mô hình và đóng vai trò là allowlist cho/model.- Dùng
openclaw config set agents.defaults.models '<json>' --strict-json --mergeđể thêm mục allowlist mà không xóa các mô hình hiện có. Các thay thế thuần túy có thể xóa mục sẽ bị từ chối trừ khi bạn truyền--replace. - Tham chiếu mô hình dùng định dạng
provider/model(ví dụanthropic/claude-opus-4-6). agents.defaults.imageMaxDimensionPxkiểm soát việc giảm tỷ lệ ảnh trong bản ghi/công cụ (mặc định1200); giá trị thấp hơn thường giảm mức dùng token thị giác trong các lần chạy nhiều ảnh chụp màn hình.- Xem CLI mô hình để chuyển đổi mô hình trong trò chuyện và Chuyển đổi dự phòng mô hình để biết hành vi xoay vòng xác thực và dự phòng.
- Với nhà cung cấp tùy chỉnh/tự lưu trữ, xem Nhà cung cấp tùy chỉnh trong tài liệu tham chiếu.
Kiểm soát ai có thể nhắn cho bot
Kiểm soát ai có thể nhắn cho bot
dmPolicy:"pairing"(mặc định): người gửi không xác định nhận mã ghép nối một lần để phê duyệt"allowlist": chỉ người gửi trongallowFrom(hoặc kho cho phép đã ghép nối)"open": cho phép mọi DM đến (yêu cầuallowFrom: ["*"])"disabled": bỏ qua mọi DM
groupPolicy + groupAllowFrom hoặc allowlist theo từng kênh.Xem tài liệu tham chiếu đầy đủ để biết chi tiết theo từng kênh.Thiết lập cổng nhắc tên trong trò chuyện nhóm
Thiết lập cổng nhắc tên trong trò chuyện nhóm
- Nhắc tên bằng siêu dữ liệu: @-mention gốc (nhấn để nhắc trên WhatsApp, @bot trên Telegram, v.v.)
- Mẫu văn bản: mẫu regex an toàn trong
mentionPatterns - Phản hồi hiển thị:
messages.visibleRepliescó thể yêu cầu gửi bằng công cụ tin nhắn trên toàn cục;messages.groupChat.visibleRepliesghi đè điều đó cho nhóm/kênh. - Xem tài liệu tham chiếu đầy đủ để biết các chế độ phản hồi hiển thị, ghi đè theo từng kênh và chế độ tự trò chuyện.
Giới hạn Skills theo từng agent
Giới hạn Skills theo từng agent
agents.defaults.skills cho đường cơ sở dùng chung, rồi ghi đè các
agent cụ thể bằng agents.list[].skills:- Bỏ qua
agents.defaults.skillsđể mặc định không giới hạn Skills. - Bỏ qua
agents.list[].skillsđể kế thừa giá trị mặc định. - Đặt
agents.list[].skills: []để không có Skills. - Xem Skills, Cấu hình Skills và Tài liệu tham chiếu cấu hình.
Tinh chỉnh giám sát sức khỏe kênh của Gateway
Tinh chỉnh giám sát sức khỏe kênh của Gateway
- Đặt
gateway.channelHealthCheckMinutes: 0để tắt khởi động lại bằng trình giám sát sức khỏe trên toàn cục. channelStaleEventThresholdMinutesnên lớn hơn hoặc bằng khoảng thời gian kiểm tra.- Dùng
channels.<provider>.healthMonitor.enabledhoặcchannels.<provider>.accounts.<id>.healthMonitor.enabledđể tắt tự động khởi động lại cho một kênh hoặc tài khoản mà không tắt trình giám sát toàn cục. - Xem Kiểm tra sức khỏe để gỡ lỗi vận hành và tài liệu tham chiếu đầy đủ để biết tất cả trường.
Tinh chỉnh thời gian chờ bắt tay WebSocket của Gateway
Tinh chỉnh thời gian chờ bắt tay WebSocket của Gateway
- Mặc định là
15000mili giây. OPENCLAW_HANDSHAKE_TIMEOUT_MSvẫn được ưu tiên cho các ghi đè dịch vụ hoặc shell dùng một lần.- Nên ưu tiên sửa tình trạng khởi động/vòng lặp sự kiện bị kẹt trước; núm điều chỉnh này dành cho máy chủ khỏe mạnh nhưng chậm trong quá trình làm nóng.
Cấu hình phiên và đặt lại
Cấu hình phiên và đặt lại
dmScope:main(dùng chung) |per-peer|per-channel-peer|per-account-channel-peerthreadBindings: mặc định toàn cục cho định tuyến phiên gắn với 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 tham chiếu đầy đủ để biết tất cả các trường.
Bật sandboxing
Bật sandboxing
scripts/sandbox-setup.shXem Sandboxing để đọc hướng dẫn đầy đủ và tham chiếu đầy đủ để biết tất cả tùy chọn.Bật push dựa trên relay cho các bản dựng iOS chính thức
Bật push dựa trên relay cho các bản dựng iOS chính thức
openclaw.json.Đặt mục này trong cấu hình gateway:- Cho phép gateway gửi
push.test, các nhắc đánh thức và đánh thức kết nối lại thông qua relay bên ngoài. - Dùng quyền gửi theo phạm vi đăng ký được ứng dụng iOS đã ghép đôi chuyển tiếp. Gateway không cần token relay trên phạm vi toàn 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, để gateway khác không thể dùng lại đăng ký đã lưu.
- Giữ các bản dựng iOS cục bộ/thủ công dùng APNs trực tiếp. 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 URL cơ sở của relay được nhúng vào 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ở của relay.
- Cấu hình
gateway.push.apns.relay.baseUrltrên gateway. - Ghép đôi ứng dụng iOS với gateway và để cả phiên node lẫn operator kết nối.
- Ứng dụng iOS lấy danh tính gateway, đăng ký với relay bằng App Attest cùng biên nhận ứng dụng, rồi công bố payload
push.apns.registerdựa trên relay tới gateway đã ghép đôi. - Gateway lưu handle relay và quyền gửi, rồi dùng chúng cho
push.test, nhắc đánh thức và đánh thức kết nối lại.
- Nếu bạn chuyển ứng dụng iOS sang một gateway khác, hãy kết nối lại ứng dụng để nó có thể công bố đăng ký relay mới được 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ỏ tới một triển khai relay khác, ứng dụng sẽ làm mới đăng ký relay đã lưu trong bộ nhớ đệm thay vì dùng lại origin relay cũ.
OPENCLAW_APNS_RELAY_BASE_URLvàOPENCLAW_APNS_RELAY_TIMEOUT_MSvẫn hoạt động dưới dạng ghi đè env tạm thời.OPENCLAW_APNS_RELAY_ALLOW_HTTP=truevẫn là lối thoát phát triển chỉ dành cho loopback; không lưu URL relay HTTP lâu dài trong cấu hình.
Thiết lập Heartbeat (check-in định kỳ)
Thiết lập Heartbeat (check-in định kỳ)
every: chuỗi thời lượng (30m,2h). Đặt0mđể tắt.target:last|none|<channel-id>(ví dụdiscord,matrix,telegram, hoặcwhatsapp)directPolicy:allow(mặc định) hoặcblockcho mục tiêu Heartbeat kiểu DM- Xem Heartbeat để đọc hướng dẫn đầy đủ.
Cấu hình tác vụ Cron
Cấu hình tác vụ Cron
sessionRetention: dọn các phiên chạy tách biệt đã hoàn tất khỏisessions.json(mặc định24h; đặtfalseđể tắt).runLog: dọncron/runs/<jobId>.jsonltheo kích thước và số dòng được giữ lại.- Xem Tác vụ Cron để biết tổng quan tính năng và ví dụ CLI.
Thiết lập Webhook (hooks)
Thiết lập Webhook (hooks)
- Xem toàn bộ nội dung payload hook/Webhook là đầu vào không đáng tin cậy.
- Dùng một
hooks.tokenriêng; không dùng lại token Gateway dùng chung. - Xác thực hook chỉ dùng header (
Authorization: Bearer ...hoặcx-openclaw-token); token trong query string bị từ chối. hooks.pathkhông thể là/; giữ ingress Webhook trên một subpath chuyên dụng như/hooks.- Giữ các cờ bỏ qua nội dung không an toàn ở trạng thái tắt (
hooks.gmail.allowUnsafeExternalContent,hooks.mappings[].allowUnsafeExternalContent) trừ khi đang gỡ lỗi với phạm vi được giới hạn chặt chẽ. - Nếu bạn bật
hooks.allowRequestSessionKey, hãy đặt thêmhooks.allowedSessionKeyPrefixesđể giới hạn các khóa phiên do caller chọn. - Với các agent do hook kích hoạt, nên dùng các tầng mô hình hiện đại mạnh và chính sách công cụ nghiêm ngặt (ví dụ chỉ nhắn tin cộng với sandboxing khi có thể).
Cấu hình định tuyến đa agent
Cấu hình định tuyến đa agent
Tách cấu hình thành nhiều tệp ($include)
Tách cấu hình thành nhiều tệp ($include)
$include để tổ chức các cấu hình lớn:- Một tệp: thay thế đối tượng chứa nó
- Mảng tệp: được deep-merge theo thứ tự (mục sau thắng)
- Khóa cùng cấp: được merge sau include (ghi đè giá trị đã include)
- Include lồng nhau: hỗ trợ sâu tối đa 10 cấp
- Đường dẫn tương đối: được phân giải tương đối với tệp đang include
- Ghi do OpenClaw sở hữu: khi một thao tác ghi chỉ thay đổi một phần cấp cao nhất
được chống lưng bởi include một tệp như
plugins: { $include: "./plugins.json5" }, OpenClaw cập nhật tệp đã include đó và giữ nguyênopenclaw.json - Write-through không được hỗ trợ: include ở root, mảng include và include có ghi đè cùng cấp sẽ fail closed đối với các thao tác ghi do OpenClaw sở hữu thay vì làm phẳng cấu hình
- Xử lý lỗi: lỗi rõ ràng cho tệp bị thiếu, lỗi phân tích cú pháp và include vòng
Tải lại nóng cấu hình
Gateway theo dõi~/.openclaw/openclaw.json và tự động áp dụng thay đổi — không cần khởi động lại thủ công cho hầu hết cài đặt.
Các chỉnh sửa tệp trực tiếp được xem là không đáng tin cậy cho đến khi chúng vượt qua xác thực. Watcher chờ
các thao tác temp-write/rename của trình chỉnh sửa ổn định, đọc tệp cuối cùng và từ chối
các chỉnh sửa bên ngoài không hợp lệ bằng cách khôi phục cấu hình last-known-good. Các thao tác ghi cấu hình do OpenClaw sở hữu
dùng cùng cổng schema trước khi ghi; các ghi đè phá hủy như
xóa gateway.mode hoặc thu nhỏ tệp hơn một nửa bị từ chối
và được lưu dưới dạng .rejected.* để kiểm tra.
Lỗi xác thực cục bộ của Plugin là ngoại lệ: nếu tất cả vấn đề đều nằm dưới
plugins.entries.<id>..., thao tác tải lại giữ cấu hình hiện tại và báo cáo vấn đề của Plugin
thay vì khôi phục .last-good.
Nếu bạn thấy Config auto-restored from last-known-good hoặc
config reload restored last-known-good config trong log, hãy kiểm tra tệp
.clobbered.* tương ứng bên cạnh openclaw.json, sửa payload bị từ chối, rồi chạy
openclaw config validate. Xem Khắc phục sự cố Gateway
để biết checklist khôi phục.
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 log cảnh báo khi cần khởi động lại — bạn tự xử lý. |
restart | Khởi động lại Gateway khi có bất kỳ thay đổi cấu hình nào, an toàn hay không. |
off | Tắt theo dõi tệp. Thay đổi có hiệu lực ở lần khởi động lại thủ công tiếp theo. |
Nội dung nào áp dụng nóng và nội dung nào cần khởi động lại
Hầu hết trường được áp dụng nóng mà không có downtime. Ở chế độhybrid, các thay đổi cần 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ả kênh tích hợp sẵn và kênh Plugin | 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ụ & media | tools, browser, skills, mcp, audio, talk | Không |
| UI & mục 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.Lập kế hoạch tải lại
Khi bạn chỉnh sửa một tệp nguồn được tham chiếu qua$include, OpenClaw lập kế hoạch
tải lại từ bố cục do nguồn định nghĩa, không phải chế độ xem trong bộ nhớ đã được làm phẳng.
Điều đó giúp các quyết định hot-reload (áp dụng nóng so với khởi động lại) dễ dự đoán ngay cả khi
một phần cấp cao duy nhất nằm trong tệp được include riêng, chẳng hạn như
plugins: { $include: "./plugins.json5" }. Việc lập kế hoạch tải lại sẽ thất bại theo hướng đóng nếu
bố cục nguồn không rõ ràng.
RPC cấu hình (cập nhật theo chương trình)
Với công cụ ghi cấu hình qua API Gateway, hãy ưu tiên luồng này:config.schema.lookupđể kiểm tra một cây con (nút schema nông + tóm tắt phần tử con)config.getđể lấy snapshot hiện tại cùng vớihashconfig.patchcho các cập nhật một phần (JSON merge patch: object được hợp nhất,nullxóa, mảng được thay thế)config.applychỉ khi bạn định thay thế toàn bộ cấu hìnhupdate.runđể tự cập nhật rõ ràng rồi khởi động lạiupdate.statusđể kiểm tra sentinel khởi động lại của bản cập nhật mới nhất và xác minh phiên bản đang chạy sau khi khởi động lại
config.schema.lookup là điểm đến đầu tiên để có tài liệu và ràng buộc chính xác
ở cấp trường. Dùng tham chiếu cấu hình
khi cần bản đồ cấu hình rộng hơn, giá trị mặc định hoặc liên kết đến các
tham chiếu hệ thống con chuyên biệt.
config.apply, config.patch, update.run) bị
giới hạn tần suất ở mức 3 yêu cầu mỗi 60 giây cho mỗi deviceId+clientIp. Các yêu cầu
khởi động lại sẽ được gộp lại rồi áp dụng thời gian chờ 30 giây giữa các chu kỳ khởi động lại.
update.status là chỉ đọc nhưng nằm trong phạm vi quản trị vì sentinel khởi động lại có thể
bao gồm tóm tắt bước cập nhật và phần cuối output lệnh.config.apply và config.patch đều chấp nhận raw, baseHash, sessionKey,
note và restartDelayMs. baseHash là bắt buộc cho cả hai phương thức khi
cấu hình đã tồn tại.
Biến môi trường
OpenClaw đọ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(phương án dự phòng toàn cục)
Nhập env shell (tùy chọn)
Nhập env shell (tùy chọn)
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
${VAR_NAME}:- Chỉ khớp tên viết hoa:
[A-Z_][A-Z0-9_]* - Biến thiếu/trống sẽ gây lỗi tại thời điểm tải
- Escape bằng
$${VAR}để xuất literal - Hoạt động bên trong các tệp
$include - Thay thế inline:
"${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)
secrets.providers cho env/file/exec) nằm 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.Tham chiếu đầy đủ
Để xem tham chiếu đầy đủ theo từng trường, hãy xem Tham chiếu cấu hình.Liên quan: Ví dụ cấu hình · Tham chiếu cấu hình · Chẩn đoán