OpenClaw đọc cấu hình tùy chọn từDocumentation Index
Fetch the complete documentation index at: https://docs2.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 symlink 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 symlink. Nếu bạn để 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. Những 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
- Đặt 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 để lấy 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 để xem hướng dẫn theo tác vụ và
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 (một dòng lệnh)
- Giao diện đ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 Giao diện đ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
phần tóm tắt con cho công cụ đi sâu. Siêu dữ liệu tài liệu title/description của trường
đượ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 runtime được hợp nhất 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 vấn đề chính xác - Chạy
openclaw doctor --fix(hoặc--yes) để áp dụng sửa chữa
openclaw.json
không vượt qua xác thực (bao gồm xác thực cục bộ của Plugin), Gateway khởi động thất bại hoặc
lần tải lại bị bỏ qua và runtime hiện tại giữ cấu hình được chấp nhận gần nhất.
Chạy openclaw doctor --fix (hoặc --yes) để sửa cấu hình có tiền tố/bị ghi đè hoặc
khôi phục bản sao đã biết là tốt gần nhất. Việc thăng cấp thành bản đã biết là tốt gần nhất bị bỏ qua khi
ứng viên chứa placeholder bí mật đã được che như ***.
Tác vụ phổ biến
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ò allowlist cho/model; các mụcprovider/*lọc/model,/modelsvà bộ chọn mô hình theo các provider được chọn, trong khi vẫn dùng khám phá mô hình động.- Dùng
openclaw config set agents.defaults.models '<json>' --strict-json --mergeđể thêm các 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 kích thước hình ảnh transcript/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 mô hình trong chat 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 provider tùy chỉnh/tự host, xem Provider tùy chỉnh trong tài liệu tham chiếu.
Kiểm soát ai có thể nhắn tin cho bot
Kiểm soát ai có thể nhắn tin cho bot
dmPolicy:"pairing"(mặc định): người gửi không xác định nhận mã ghép đôi dùng một lần để phê duyệt"allowlist": chỉ người gửi trongallowFrom(hoặc kho cho phép đã ghép đôi)"open": cho phép tất cả DM gửi đến (yêu cầuallowFrom: ["*"])"disabled": bỏ qua tất cả DM
groupPolicy + groupAllowFrom hoặc allowlist theo kênh.Xem tham chiếu đầy đủ để biết chi tiết theo từng kênh.Thiết lập chặn theo nhắc tên trong chat nhóm
Thiết lập chặn theo nhắc tên trong chat 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 - Trả lờ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 tham chiếu đầy đủ để biết các chế độ trả lời hiển thị, ghi đè theo kênh và chế độ tự chat.
Giới hạn Skills theo từng agent
Giới hạn Skills theo từng agent
agents.defaults.skills làm baseline 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à 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à 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 ghi đè dịch vụ hoặc shell dùng một lần.- Ưu tiên sửa tình trạng khởi động/vòng lặp sự kiện bị đình trệ trước; núm điều chỉnh này dành cho các host khỏe nhưng chậm trong lúc 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 tài liệu tham khảo đầy đủ để biết tất cả trường.
Bật sandboxing
Bật sandboxing
scripts/sandbox-setup.sh, hoặc từ bản cài npm, xem lệnh docker build nội tuyến trong Sandboxing § Image và thiết lập.Xem Sandboxing để đọc hướng dẫn đầy đủ và tài liệu tham khảo đầy đủ để biết tất cả tùy chọn.Bật push dựa trên relay cho bản build iOS chính thức
Bật push dựa trên relay cho bản build iOS chính thức
openclaw.json.Đặt phần 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. - Sử dụng quyền gửi theo phạm vi đăng ký do ứng dụng iOS đã ghép cặp chuyển tiếp. Gateway không cần token relay dùng cho toàn bộ triển khai.
- Gắn mỗi đăng ký dựa trên relay với danh tính Gateway mà ứng dụng iOS đã ghép cặp, để Gateway khác không thể tái sử dụng đăng ký đã lưu.
- Giữ các bản build 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 build phân phối chính thức đã đăng ký thông qua relay.
- Phải khớp với URL gốc relay được nhúng trong bản build 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 bản build iOS chính thức/TestFlight đã được biên dịch với cùng URL gốc relay.
- Cấu hình
gateway.push.apns.relay.baseUrltrên Gateway. - Ghép cặp ứng dụng iOS với Gateway và để cả phiên node lẫn phiê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 lai ứng dụng, rồi công bố payload
push.apns.registerdựa trên relay đến Gateway đã ghép cặp. - Gateway lưu relay handle và quyền gửi, rồi dùng chúng cho
push.test, các 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 để ứng dụng có thể công bố một đăng ký relay mới được gắn với Gateway đó.
- Nếu bạn phát hành bản build 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 trong bộ nhớ đệm thay vì tái sử dụng nguồn relay cũ.
OPENCLAW_APNS_RELAY_BASE_URLvàOPENCLAW_APNS_RELAY_TIMEOUT_MSvẫn hoạt động như các 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 local loopback; không lưu bền vững 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 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 các mục tiêu Heartbeat kiểu DM- Xem Heartbeat để đọc hướng dẫn đầy đủ.
Cấu hình Cron jobs
Cấu hình Cron jobs
sessionRetention: dọn các phiên chạy cô lập đã 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 giữ lại.- Xem Cron jobs để 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à dữ liệu đầu vào không đáng tin cậy.
- Dùng một
hooks.tokenriêng; không tái sử dụng token Gateway dùng chung. - Xác thực hook chỉ dùng header (
Authorization: Bearer ...hoặcx-openclaw-token); token trong chuỗi truy vấn sẽ bị từ chối. hooks.pathkhông được là/; giữ ingress Webhook trên một đường dẫn con riêng, chẳng hạn/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 trong phạm vi rất chặt. - Nếu bạn bật
hooks.allowRequestSessionKey, cũng đặthooks.allowedSessionKeyPrefixesđể giới hạn các khóa phiên do bên gọi chọn. - Với các agent được kích hoạt bởi hook, ưu tiên 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ấu hình lớn:- Tệp đơn: thay thế object 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 đè các 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 lần ghi chỉ thay đổi một section cấp cao nhất
được hỗ trợ bởi một include tệp đơn như
plugins: { $include: "./plugins.json5" }, OpenClaw cập nhật tệp đã include đó và giữ nguyênopenclaw.json - Ghi xuyên qua không được hỗ trợ: include gốc, mảng include và include có ghi đè cùng cấp sẽ fail closed đối với các lần ghi do OpenClaw sở hữu thay vì làm phẳng cấu hình
- Giới hạn phạm vi: đường dẫn
$includephải phân giải nằm dưới thư mục chứaopenclaw.json. Để chia sẻ một cây giữa các máy hoặc người dùng, đặtOPENCLAW_INCLUDE_ROOTSthành danh sách đường dẫn (:trên POSIX,;trên Windows) gồm các thư mục bổ sung mà include có thể tham chiếu. Symlink được phân giải và kiểm tra lại, nên một đường dẫn xét theo chữ nằm trong thư mục cấu hình nhưng đích thực của nó thoát khỏi mọi root được phép vẫn bị từ chối. - Xử lý lỗi: lỗi rõ ràng cho tệp bị thiếu, lỗi parse và include vòng
Tải lại cấu hình nóng
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 lần ghi tạm/đổi tên do trình soạn thảo ổ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ệ mà không ghi lại openclaw.json. Các lần ghi cấu hình
do OpenClaw sở hữu dùng cùng cổng schema trước khi ghi; các lần ghi đè phá hoại như
xóa gateway.mode hoặc thu nhỏ tệp hơn một nửa sẽ bị từ chối và
lưu dưới dạng .rejected.* để kiểm tra.
Nếu bạn thấy config reload skipped (invalid config) hoặc khởi động báo Invalid config, hãy kiểm tra cấu hình, chạy openclaw config validate, rồi chạy openclaw doctor --fix để sửa. Xem Khắc phục sự cố Gateway
để biết checklist.
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 với các thay đổi quan trọng. |
hot | Chỉ áp dụng nóng các thay đổi an toàn. Ghi 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 hoặc 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 áp dụng nóng mà không có thời gian ngừng hoạt động. Ở 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 & khác | ui, logging, identity, bindings | Không |
| Máy chủ Gateway | gateway.* (port, bind, auth, tailscale, TLS, HTTP) | Có |
| Hạ tầng | discovery, plugins | Có |
gateway.reload và gateway.remote là ngoại lệ - việc 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 từ chế độ xem đã làm phẳng trong bộ nhớ.
Điều đó giữ cho các quyết định tải lại nóng (áp dụng nóng hay khởi động lại) có thể dự đoán được ngay cả khi một
phần cấp cao nhất duy nhất nằm trong tệp được bao gồm riêng của nó, chẳng hạn như
plugins: { $include: "./plugins.json5" }. Lập kế hoạch tải lại sẽ thất bại theo hướng an toàn nếu
bố cục nguồn không rõ ràng.
RPC cấu hình (cập nhật bằng chương trình)
Đối 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 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, array đượ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 kèm khởi động lại; bao gồmcontinuationMessagekhi phiên sau khởi động lại cần chạy một lượt theo dõiupdate.statusđể kiểm tra sentinel khởi động lại 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 dừng đầ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ệ con chuyên dụng.
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. 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 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 thêm:.envtừ thư mục làm việc hiện tại (nếu có)~/.openclaw/.env(dự phòng toàn cục)
Nhập env từ shell (tùy chọn)
Nhập env từ 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/rỗng sẽ gây lỗi khi 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) 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.Tham chiếu đầy đủ
Để xem tham chiếu hoàn chỉnh 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 · Doctor