Tham chiếu cấu hình lõi choDocumentation 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. Để xem tổng quan theo tác vụ, xem Cấu hình.
Bao quát các bề mặt cấu hình chính của OpenClaw và liên kết ra ngoài khi một hệ con có tham chiếu chuyên sâu riêng. Các danh mục lệnh do kênh và plugin sở hữu, cùng các nút điều chỉnh bộ nhớ sâu/QMD, nằm trên các trang riêng thay vì trên trang này.
Sự thật từ mã nguồn:
openclaw config schemain JSON Schema trực tiếp dùng cho xác thực và Control UI, với siêu dữ liệu bundled/plugin/channel được hợp nhất khi có sẵnconfig.schema.lookuptrả về một nút schema theo phạm vi đường dẫn cho công cụ drill-downpnpm config:docs:check/pnpm config:docs:genxác thực hash baseline tài liệu cấu hình so với bề mặt schema hiện tại
gateway là config.schema.lookup để lấy tài liệu và ràng buộc chính xác ở cấp trường trước khi chỉnh sửa. Dùng Cấu hình để xem hướng dẫn theo tác vụ và trang này để xem bản đồ trường rộng hơn, giá trị mặc định, và liên kết tới tham chiếu hệ con.
Tham chiếu chuyên sâu riêng:
- Tham chiếu cấu hình bộ nhớ cho
agents.defaults.memorySearch.*,memory.qmd.*,memory.citations, và cấu hình dreaming trongplugins.entries.memory-core.config.dreaming - Lệnh slash cho danh mục lệnh tích hợp sẵn + bundled hiện tại
- các trang kênh/plugin sở hữu cho các bề mặt lệnh riêng theo kênh
Kênh
Các khóa cấu hình theo kênh đã chuyển sang một trang riêng — xem Cấu hình — kênh chochannels.*, bao gồm Slack, Discord, Telegram, WhatsApp, Matrix, iMessage, và các kênh bundled khác (xác thực, kiểm soát truy cập, đa tài khoản, cổng kiểm soát mention).
Mặc định tác tử, đa tác tử, phiên, và tin nhắn
Đã chuyển sang một trang riêng — xem Cấu hình — tác tử cho:agents.defaults.*(workspace, model, thinking, heartbeat, memory, media, skills, sandbox)multiAgent.*(định tuyến và binding đa tác tử)session.*(vòng đời phiên, compaction, cắt tỉa)messages.*(gửi tin nhắn, TTS, kết xuất markdown)talk.*(chế độ Talk)talk.speechLocale: id locale BCP 47 tùy chọn cho nhận dạng giọng nói Talk trên iOS/macOStalk.silenceTimeoutMs: khi chưa đặt, Talk giữ cửa sổ tạm dừng mặc định của nền tảng trước khi gửi bản chép lời (700 ms on macOS and Android, 900 ms on iOS)
Công cụ và nhà cung cấp tùy chỉnh
Chính sách công cụ, công tắc thử nghiệm, cấu hình công cụ do nhà cung cấp hậu thuẫn, và thiết lập nhà cung cấp / base-URL tùy chỉnh đã chuyển sang một trang riêng — xem Cấu hình — công cụ và nhà cung cấp tùy chỉnh.Model
Định nghĩa nhà cung cấp, allowlist model, và thiết lập nhà cung cấp tùy chỉnh nằm trong Cấu hình — công cụ và nhà cung cấp tùy chỉnh. Gốcmodels cũng sở hữu hành vi danh mục model toàn cục.
models.mode: hành vi danh mục nhà cung cấp (mergehoặcreplace).models.providers: bản đồ nhà cung cấp tùy chỉnh được khóa theo id nhà cung cấp.models.pricing.enabled: kiểm soát bootstrap pricing chạy nền. Khifalse, khởi động Gateway bỏ qua các lần fetch danh mục pricing của OpenRouter và LiteLLM; các giá trịmodels.providers.*.models[].costđã cấu hình vẫn hoạt động cho ước tính chi phí cục bộ.
MCP
Định nghĩa server MCP do OpenClaw quản lý nằm dướimcp.servers và được Pi nhúng cùng các adapter runtime khác tiêu thụ. Các lệnh openclaw mcp list, show, set, và unset quản lý block này mà không kết nối tới server đích trong lúc chỉnh sửa cấu hình.
mcp.servers: định nghĩa server MCP stdio hoặc từ xa có tên cho các runtime phơi bày công cụ MCP đã cấu hình. Mục từ xa dùngtransport: "streamable-http"hoặctransport: "sse";type: "http"là bí danh gốc CLI màopenclaw mcp setvàopenclaw doctor --fixchuẩn hóa thành trườngtransportchính tắc.mcp.sessionIdleTtlMs: TTL nhàn rỗi cho runtime MCP bundled theo phạm vi phiên. Các lần chạy nhúng một lần yêu cầu dọn dẹp khi kết thúc chạy; TTL này là điểm chặn dự phòng cho phiên sống lâu và caller tương lai.- Thay đổi dưới
mcp.*được áp dụng nóng bằng cách dispose runtime MCP phiên đã cache. Lần khám phá/sử dụng công cụ tiếp theo tạo lại chúng từ cấu hình mới, nên các mụcmcp.serversđã xóa được thu hồi ngay thay vì chờ TTL nhàn rỗi.
Skills
allowBundled: allowlist tùy chọn chỉ cho bundled skills (managed/workspace skills không bị ảnh hưởng).load.extraDirs: các gốc skill dùng chung bổ sung (độ ưu tiên thấp nhất).install.preferBrew: khi true, ưu tiên trình cài Homebrew khi cóbrewtrước khi fallback sang các loại trình cài khác.install.nodeManager: tùy chọn trình cài node cho specmetadata.openclaw.install(npm|pnpm|yarn|bun).entries.<skillKey>.enabled: falsevô hiệu hóa một skill ngay cả khi bundled/installed.entries.<skillKey>.apiKey: tiện ích cho skill khai báo biến env chính (chuỗi plaintext hoặc đối tượng SecretRef).
Plugins
- Được tải từ
~/.openclaw/extensions,<workspace>/.openclaw/extensions, cộng vớiplugins.load.paths. - Discovery chấp nhận plugin OpenClaw native cùng các bundle Codex tương thích và bundle Claude, bao gồm bundle layout mặc định của Claude không có manifest.
- Thay đổi cấu hình yêu cầu khởi động lại gateway.
allow: allowlist tùy chọn (chỉ plugin được liệt kê mới tải).denythắng.plugins.entries.<id>.apiKey: trường tiện ích API key cấp plugin (khi plugin hỗ trợ).plugins.entries.<id>.env: bản đồ biến env theo phạm vi plugin.plugins.entries.<id>.hooks.allowPromptInjection: khifalse, core chặnbefore_prompt_buildvà bỏ qua các trường làm thay đổi prompt từbefore_agent_startlegacy, đồng thời giữ lạimodelOverridevàproviderOverridelegacy. Áp dụng cho hook plugin native và các thư mục hook do bundle hỗ trợ cung cấp.plugins.entries.<id>.hooks.allowConversationAccess: khitrue, plugin non-bundled đáng tin cậy có thể đọc nội dung hội thoại thô từ các hook đã định kiểu nhưllm_input,llm_output,before_agent_finalize, vàagent_end.plugins.entries.<id>.subagent.allowModelOverride: tin cậy rõ ràng plugin này để yêu cầu ghi đèprovidervàmodeltheo từng lần chạy cho các lần chạy subagent nền.plugins.entries.<id>.subagent.allowedModels: allowlist tùy chọn các đíchprovider/modelchính tắc cho ghi đè subagent đáng tin cậy. Chỉ dùng"*"khi bạn chủ ý muốn cho phép mọi model.plugins.entries.<id>.config: đối tượng cấu hình do plugin định nghĩa (được schema plugin OpenClaw native xác thực khi có sẵn).- Thiết lập tài khoản/runtime của channel plugin nằm dưới
channels.<id>và nên được metadatachannelConfigstrong manifest của plugin sở hữu mô tả, không phải bởi registry tùy chọn OpenClaw trung tâm. plugins.entries.firecrawl.config.webFetch: thiết lập nhà cung cấp web-fetch Firecrawl.apiKey: API key Firecrawl (chấp nhận SecretRef). Fallback sangplugins.entries.firecrawl.config.webSearch.apiKey, legacytools.web.fetch.firecrawl.apiKey, hoặc biến envFIRECRAWL_API_KEY.baseUrl: URL cơ sở API Firecrawl (mặc định:https://api.firecrawl.dev).onlyMainContent: chỉ trích xuất nội dung chính từ trang (mặc định:true).maxAgeMs: tuổi cache tối đa tính bằng mili giây (mặc định:172800000/ 2 ngày).timeoutSeconds: timeout yêu cầu scrape tính bằng giây (mặc định:60).
plugins.entries.xai.config.xSearch: thiết lập xAI X Search (tìm kiếm web Grok).enabled: bật nhà cung cấp X Search.model: model Grok dùng cho tìm kiếm (ví dụ"grok-4-1-fast").
plugins.entries.memory-core.config.dreaming: thiết lập memory dreaming. Xem Dreaming để biết các pha và ngưỡng.enabled: công tắc dreaming chính (mặc địnhfalse).frequency: cadence cron cho mỗi lần quét dreaming đầy đủ ("0 3 * * *"theo mặc định).model: ghi đè model subagent Dream Diary tùy chọn. Yêu cầuplugins.entries.memory-core.subagent.allowModelOverride: true; ghép vớiallowedModelsđể giới hạn đích. Lỗi model không khả dụng sẽ thử lại một lần với model mặc định của phiên; lỗi tin cậy hoặc allowlist không fallback âm thầm.- chính sách pha và ngưỡng là chi tiết triển khai (không phải khóa cấu hình hướng tới người dùng).
- Cấu hình bộ nhớ đầy đủ nằm trong Tham chiếu cấu hình bộ nhớ:
agents.defaults.memorySearch.*memory.backendmemory.citationsmemory.qmd.*plugins.entries.memory-core.config.dreaming
- Plugin bundle Claude đã bật cũng có thể đóng góp mặc định Pi nhúng từ
settings.json; OpenClaw áp dụng các mặc định đó như thiết lập tác tử đã được làm sạch, không phải patch cấu hình OpenClaw thô. plugins.slots.memory: chọn id plugin bộ nhớ đang hoạt động, hoặc"none"để vô hiệu hóa plugin bộ nhớ.plugins.slots.contextEngine: chọn id plugin context engine đang hoạt động; mặc định là"legacy"trừ khi bạn cài đặt và chọn engine khác.
Trình duyệt
evaluateEnabled: falsetắtact:evaluatevàwait --fn.tabCleanupthu hồi các tab tác nhân chính được theo dõi sau thời gian rảnh hoặc khi một phiên vượt quá giới hạn. ĐặtidleMinutes: 0hoặcmaxTabsPerSession: 0để tắt các chế độ dọn dẹp riêng lẻ đó.ssrfPolicy.dangerouslyAllowPrivateNetworkbị tắt khi chưa được đặt, nên điều hướng trình duyệt mặc định vẫn nghiêm ngặt.- Chỉ đặt
ssrfPolicy.dangerouslyAllowPrivateNetwork: truekhi bạn chủ ý tin cậy điều hướng trình duyệt qua mạng riêng. - Ở chế độ nghiêm ngặt, các điểm cuối hồ sơ CDP từ xa (
profiles.*.cdpUrl) cũng chịu cùng cơ chế chặn mạng riêng trong các bước kiểm tra khả năng kết nối/phát hiện. ssrfPolicy.allowPrivateNetworkvẫn được hỗ trợ như một bí danh kế thừa.- Ở chế độ nghiêm ngặt, dùng
ssrfPolicy.hostnameAllowlistvàssrfPolicy.allowedHostnamescho các ngoại lệ tường minh. - Hồ sơ từ xa chỉ cho phép gắn vào (tắt start/stop/reset).
profiles.*.cdpUrlchấp nhậnhttp://,https://,ws://vàwss://. Dùng HTTP(S) khi bạn muốn OpenClaw phát hiện/json/version; dùng WS(S) khi nhà cung cấp của bạn cung cấp URL DevTools WebSocket trực tiếp.remoteCdpTimeoutMsvàremoteCdpHandshakeTimeoutMsáp dụng cho khả năng kết nối CDP từ xa vàattachOnly, cùng các yêu cầu mở tab. Các hồ sơ loopback được quản lý giữ nguyên mặc định CDP cục bộ.- Nếu một dịch vụ CDP do bên ngoài quản lý có thể truy cập qua loopback, hãy đặt
attachOnly: truecho hồ sơ đó; nếu không OpenClaw sẽ xem cổng loopback là một hồ sơ trình duyệt cục bộ được quản lý và có thể báo lỗi quyền sở hữu cổng cục bộ. - Hồ sơ
existing-sessiondùng Chrome MCP thay vì CDP và có thể gắn vào máy chủ đã chọn hoặc qua một Node trình duyệt đã kết nối. - Hồ sơ
existing-sessioncó thể đặtuserDataDirđể nhắm tới một hồ sơ trình duyệt dựa trên Chromium cụ thể như Brave hoặc Edge. - Hồ sơ
existing-sessiongiữ các giới hạn tuyến Chrome MCP hiện tại: hành động dựa trên snapshot/ref thay vì nhắm mục tiêu bằng bộ chọn CSS, hook tải lên một tệp, không có ghi đè thời gian chờ hộp thoại, không cówait --load networkidle, và không córesponsebody, xuất PDF, chặn tải xuống hoặc hành động theo lô. - Hồ sơ
openclawcục bộ được quản lý tự động gáncdpPortvàcdpUrl; chỉ đặtcdpUrltường minh cho CDP từ xa. - Hồ sơ cục bộ được quản lý có thể đặt
executablePathđể ghi đèbrowser.executablePathtoàn cục cho hồ sơ đó. Dùng tùy chọn này để chạy một hồ sơ trong Chrome và một hồ sơ khác trong Brave. - Hồ sơ cục bộ được quản lý dùng
browser.localLaunchTimeoutMscho bước phát hiện HTTP Chrome CDP sau khi quy trình khởi động vàbrowser.localCdpReadyTimeoutMscho trạng thái sẵn sàng websocket CDP sau khởi chạy. Tăng các giá trị này trên máy chủ chậm hơn, nơi Chrome khởi động thành công nhưng kiểm tra sẵn sàng chạy đua với quá trình khởi động. Cả hai giá trị phải là số nguyên dương tối đa120000ms; giá trị cấu hình không hợp lệ sẽ bị từ chối. - Thứ tự tự động phát hiện: trình duyệt mặc định nếu dựa trên Chromium → Chrome → Brave → Edge → Chromium → Chrome Canary.
browser.executablePathvàbrowser.profiles.<name>.executablePathđều chấp nhận~và~/...cho thư mục home của hệ điều hành trước khi khởi chạy Chromium.userDataDirtheo từng hồ sơ trên hồ sơexisting-sessioncũng được mở rộng dấu ngã.- Dịch vụ điều khiển: chỉ loopback (cổng được suy ra từ
gateway.port, mặc định18791). extraArgsnối thêm các cờ khởi chạy bổ sung vào quá trình khởi động Chromium cục bộ (ví dụ--disable-gpu, kích thước cửa sổ hoặc cờ gỡ lỗi).
UI
seamColor: màu nhấn cho chrome UI ứng dụng gốc (sắc thái bong bóng Talk Mode, v.v.).assistant: ghi đè danh tính Control UI. Dự phòng về danh tính tác nhân đang hoạt động.
Gateway
Chi tiết trường Gateway
Chi tiết trường Gateway
mode:local(chạy gateway) hoặcremote(kết nối tới gateway từ xa). Gateway từ chối khởi động trừ khi làlocal.port: cổng ghép kênh duy nhất cho WS + HTTP. Thứ tự ưu tiên:--port>OPENCLAW_GATEWAY_PORT>gateway.port>18789.bind:auto,loopback(mặc định),lan(0.0.0.0),tailnet(chỉ IP Tailscale), hoặccustom.- Bí danh bind cũ: dùng các giá trị chế độ bind trong
gateway.bind(auto,loopback,lan,tailnet,custom), không dùng bí danh máy chủ (0.0.0.0,127.0.0.1,localhost,::,::1). - Ghi chú Docker: bind
loopbackmặc định lắng nghe trên127.0.0.1bên trong container. Với mạng bridge của Docker (-p 18789:18789), lưu lượng đi vào trêneth0, nên gateway không truy cập được. Dùng--network host, hoặc đặtbind: "lan"(hoặcbind: "custom"vớicustomBindHost: "0.0.0.0") để lắng nghe trên mọi giao diện. - Xác thực: bắt buộc theo mặc định. Các bind không phải loopback yêu cầu xác thực gateway. Trong thực tế, điều đó nghĩa là token/mật khẩu dùng chung hoặc reverse proxy nhận biết danh tính với
gateway.auth.mode: "trusted-proxy". Trình hướng dẫn onboarding tạo token theo mặc định. - Nếu cả
gateway.auth.tokenvàgateway.auth.passwordđều được cấu hình (bao gồm SecretRefs), hãy đặt rõgateway.auth.modethànhtokenhoặcpassword. Luồng khởi động và cài đặt/sửa chữa dịch vụ sẽ thất bại khi cả hai đều được cấu hình và mode chưa được đặt. gateway.auth.mode: "none": chế độ rõ ràng không xác thực. Chỉ dùng cho các thiết lập local loopback đáng tin cậy; chế độ này cố ý không được cung cấp trong lời nhắc onboarding.gateway.auth.mode: "trusted-proxy": ủy quyền xác thực trình duyệt/người dùng cho một reverse proxy nhận biết danh tính và tin cậy các header danh tính từgateway.trustedProxies(xem Trusted Proxy Auth). Chế độ này mặc định kỳ vọng nguồn proxy không phải loopback; các reverse proxy loopback cùng máy chủ yêu cầu đặt rõgateway.auth.trustedProxy.allowLoopback = true. Các caller nội bộ cùng máy chủ có thể dùnggateway.auth.passwordlàm dự phòng trực tiếp cục bộ;gateway.auth.tokenvẫn loại trừ lẫn nhau với chế độ trusted-proxy.gateway.auth.allowTailscale: khi làtrue, header danh tính Tailscale Serve có thể thỏa mãn xác thực Control UI/WebSocket (được xác minh quatailscale whois). Các endpoint HTTP API không dùng xác thực header Tailscale đó; thay vào đó chúng tuân theo chế độ xác thực HTTP thông thường của gateway. Luồng không cần token này giả định máy chủ gateway là đáng tin cậy. Mặc định làtruekhitailscale.mode = "serve".gateway.auth.rateLimit: bộ giới hạn xác thực thất bại tùy chọn. Áp dụng theo IP client và theo phạm vi xác thực (shared-secret và device-token được theo dõi độc lập). Các lần thử bị chặn trả về429+Retry-After.- Trên đường dẫn Control UI Tailscale Serve bất đồng bộ, các lần thử thất bại cho cùng
{scope, clientIp}được tuần tự hóa trước khi ghi thất bại. Vì vậy, các lần thử sai đồng thời từ cùng client có thể kích hoạt bộ giới hạn ở yêu cầu thứ hai thay vì cả hai cùng chạy qua như các lỗi không khớp đơn thuần. gateway.auth.rateLimit.exemptLoopbackmặc định làtrue; đặtfalsekhi bạn cố ý muốn lưu lượng localhost cũng bị giới hạn tốc độ (cho thiết lập thử nghiệm hoặc triển khai proxy nghiêm ngặt).
- Trên đường dẫn Control UI Tailscale Serve bất đồng bộ, các lần thử thất bại cho cùng
- Các lần thử xác thực WS có nguồn gốc trình duyệt luôn bị điều tiết với miễn trừ loopback bị tắt (phòng thủ nhiều lớp chống dò brute force localhost dựa trên trình duyệt).
- Trên loopback, các khóa do nguồn gốc trình duyệt đó bị cô lập theo giá trị
Originđã chuẩn hóa, nên các lỗi lặp lại từ một origin localhost không tự động khóa một origin khác. tailscale.mode:serve(chỉ tailnet, bind loopback) hoặcfunnel(công khai, yêu cầu xác thực).controlUi.allowedOrigins: danh sách cho phép rõ ràng các browser-origin cho kết nối WebSocket tới Gateway. Bắt buộc khi dự kiến có client trình duyệt từ origin không phải loopback.controlUi.dangerouslyAllowHostHeaderOriginFallback: chế độ nguy hiểm bật fallback origin dựa trên Host-header cho các triển khai cố ý dựa vào chính sách origin của Host-header.remote.transport:ssh(mặc định) hoặcdirect(ws/wss). Vớidirect,remote.urlphải làws://hoặcwss://.OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1: ghi đè khẩn cấp bằng process-environment phía client cho phépws://dạng plaintext tới các IP mạng riêng đáng tin cậy; mặc định vẫn chỉ cho phép plaintext với loopback. Không có cấu hình tương đương trongopenclaw.json, và cấu hình mạng riêng của trình duyệt nhưbrowser.ssrfPolicy.dangerouslyAllowPrivateNetworkkhông ảnh hưởng tới các client WebSocket của Gateway.gateway.remote.token/.passwordlà các trường thông tin xác thực client từ xa. Tự chúng không cấu hình xác thực gateway.gateway.push.apns.relay.baseUrl: URL HTTPS cơ sở cho relay APNs bên ngoài được các bản dựng iOS chính thức/TestFlight dùng sau khi chúng công bố đăng ký dùng relay tới gateway. URL này phải khớp với URL relay được biên dịch vào bản dựng iOS.gateway.push.apns.relay.timeoutMs: thời gian chờ gửi từ gateway tới relay tính bằng mili giây. Mặc định là10000.- Các đăng ký dùng relay được ủy quyền cho một danh tính gateway cụ thể. Ứng dụng iOS đã ghép đôi lấy
gateway.identity.get, đưa danh tính đó vào đăng ký relay, và chuyển tiếp quyền gửi theo phạm vi đăng ký tới gateway. Gateway khác không thể tái sử dụng đăng ký đã lưu đó. OPENCLAW_APNS_RELAY_BASE_URL/OPENCLAW_APNS_RELAY_TIMEOUT_MS: ghi đè env tạm thời cho cấu hình relay ở trên.OPENCLAW_APNS_RELAY_ALLOW_HTTP=true: lối thoát chỉ dành cho phát triển với URL relay HTTP loopback. URL relay sản xuất nên tiếp tục dùng HTTPS.gateway.handshakeTimeoutMs: thời gian chờ handshake WebSocket Gateway trước xác thực, tính bằng mili giây. Mặc định:15000.OPENCLAW_HANDSHAKE_TIMEOUT_MScó ưu tiên khi được đặt. Tăng giá trị này trên máy chủ đang tải cao hoặc công suất thấp, nơi client cục bộ có thể kết nối trong khi quá trình warmup khởi động vẫn đang ổn định.gateway.channelHealthCheckMinutes: khoảng thời gian của bộ giám sát tình trạng kênh, tính bằng phút. Đặt0để tắt khởi động lại bởi bộ giám sát tình trạng trên toàn cục. Mặc định:5.gateway.channelStaleEventThresholdMinutes: ngưỡng socket cũ, tính bằng phút. Giữ giá trị này lớn hơn hoặc bằnggateway.channelHealthCheckMinutes. Mặc định:30.gateway.channelMaxRestartsPerHour: số lần khởi động lại tối đa bởi bộ giám sát tình trạng trên mỗi kênh/tài khoản trong một giờ trượt. Mặc định:10.channels.<provider>.healthMonitor.enabled: tùy chọn tắt riêng từng kênh cho các lần khởi động lại bởi bộ giám sát tình trạng trong khi vẫn bật bộ giám sát toàn cục.channels.<provider>.accounts.<accountId>.healthMonitor.enabled: ghi đè riêng từng tài khoản cho các kênh nhiều tài khoản. Khi được đặt, nó có ưu tiên hơn ghi đè cấp kênh.- Các đường dẫn gọi gateway cục bộ chỉ có thể dùng
gateway.remote.*làm dự phòng khigateway.auth.*chưa được đặt. - Nếu
gateway.auth.token/gateway.auth.passwordđược cấu hình rõ qua SecretRef và không phân giải được, quá trình phân giải sẽ đóng an toàn (không có dự phòng từ xa che khuất). trustedProxies: IP reverse proxy kết thúc TLS hoặc chèn header client được chuyển tiếp. Chỉ liệt kê proxy bạn kiểm soát. Các mục loopback vẫn hợp lệ cho thiết lập proxy/phát hiện cục bộ cùng máy chủ (ví dụ Tailscale Serve hoặc reverse proxy cục bộ), nhưng chúng không khiến các yêu cầu loopback đủ điều kiện chogateway.auth.mode: "trusted-proxy".allowRealIpFallback: khi làtrue, gateway chấp nhậnX-Real-IPnếu thiếuX-Forwarded-For. Mặc định làfalseđể có hành vi đóng an toàn.gateway.nodes.pairing.autoApproveCidrs: danh sách cho phép CIDR/IP tùy chọn để tự động phê duyệt ghép đôi thiết bị node lần đầu khi không có scope được yêu cầu. Tính năng này bị tắt khi chưa đặt. Điều này không tự động phê duyệt ghép đôi operator/trình duyệt/Control UI/WebChat, và không tự động phê duyệt nâng cấp vai trò, scope, metadata hoặc public-key.gateway.nodes.allowCommands/gateway.nodes.denyCommands: định hình allow/deny toàn cục cho các lệnh node đã khai báo sau khi ghép đôi và sau khi đánh giá danh sách cho phép của nền tảng. DùngallowCommandsđể chọn tham gia các lệnh node nguy hiểm nhưcamera.snap,camera.clip, vàscreen.record;denyCommandsloại bỏ một lệnh ngay cả khi mặc định nền tảng hoặc allow rõ ràng sẽ bao gồm lệnh đó. Sau khi một node thay đổi danh sách lệnh đã khai báo, hãy từ chối và phê duyệt lại ghép đôi thiết bị đó để gateway lưu ảnh chụp lệnh đã cập nhật.gateway.tools.deny: tên công cụ bổ sung bị chặn cho HTTPPOST /tools/invoke(mở rộng danh sách deny mặc định).gateway.tools.allow: loại bỏ tên công cụ khỏi danh sách deny HTTP mặc định.
Endpoint tương thích OpenAI
- Chat Completions: bị tắt theo mặc định. Bật bằng
gateway.http.endpoints.chatCompletions.enabled: true. - Responses API:
gateway.http.endpoints.responses.enabled. - Gia cố URL-input cho Responses:
gateway.http.endpoints.responses.maxUrlPartsgateway.http.endpoints.responses.files.urlAllowlistgateway.http.endpoints.responses.images.urlAllowlistDanh sách cho phép rỗng được coi như chưa đặt; dùnggateway.http.endpoints.responses.files.allowUrl=falsevà/hoặcgateway.http.endpoints.responses.images.allowUrl=falseđể tắt lấy dữ liệu từ URL.
- Header gia cố phản hồi tùy chọn:
gateway.http.securityHeaders.strictTransportSecurity(chỉ đặt cho các origin HTTPS bạn kiểm soát; xem Trusted Proxy Auth)
Cô lập nhiều phiên bản
Chạy nhiều gateway trên một máy chủ với cổng và thư mục trạng thái riêng:--dev (dùng ~/.openclaw-dev + cổng 19001), --profile <name> (dùng ~/.openclaw-<name>).
Xem Multiple Gateways.
gateway.tls
enabled: bật kết thúc TLS tại listener gateway (HTTPS/WSS) (mặc định:false).autoGenerate: tự động tạo cặp chứng chỉ/khóa tự ký cục bộ khi chưa cấu hình tệp rõ ràng; chỉ dùng cho local/dev.certPath: đường dẫn hệ thống tệp tới tệp chứng chỉ TLS.keyPath: đường dẫn hệ thống tệp tới tệp khóa riêng TLS; giữ quyền truy cập bị hạn chế.caPath: đường dẫn CA bundle tùy chọn cho xác minh client hoặc chuỗi tin cậy tùy chỉnh.
gateway.reload
mode: kiểm soát cách áp dụng chỉnh sửa cấu hình khi chạy."off": bỏ qua chỉnh sửa trực tiếp; thay đổi yêu cầu khởi động lại rõ ràng."restart": luôn khởi động lại tiến trình gateway khi cấu hình thay đổi."hot": áp dụng thay đổi trong tiến trình mà không khởi động lại."hybrid"(mặc định): thử hot reload trước; quay lại khởi động lại nếu bắt buộc.
debounceMs: cửa sổ debounce tính bằng ms trước khi thay đổi cấu hình được áp dụng (số nguyên không âm).deferralTimeoutMs: thời gian tối đa tùy chọn tính bằng ms để chờ các thao tác đang chạy trước khi buộc khởi động lại. Bỏ qua để dùng thời gian chờ giới hạn mặc định (300000); đặt0để chờ vô thời hạn và ghi log cảnh báo vẫn đang chờ theo định kỳ.
Hooks
Authorization: Bearer <token> hoặc x-openclaw-token: <token>.
Token hook trong chuỗi truy vấn bị từ chối.
Ghi chú xác thực và an toàn:
hooks.enabled=trueyêu cầuhooks.tokenkhông rỗng.hooks.tokenphải khác vớigateway.auth.token; việc dùng lại token Gateway sẽ bị từ chối.hooks.pathkhông được là/; hãy dùng một đường dẫn con riêng như/hooks.- Nếu
hooks.allowRequestSessionKey=true, hãy giới hạnhooks.allowedSessionKeyPrefixes(ví dụ["hook:"]). - Nếu một ánh xạ hoặc preset dùng
sessionKeytheo mẫu, hãy đặthooks.allowedSessionKeyPrefixesvàhooks.allowRequestSessionKey=true. Các khóa ánh xạ tĩnh không yêu cầu bật tùy chọn đó.
POST /hooks/wake→{ text, mode?: "now"|"next-heartbeat" }POST /hooks/agent→{ message, name?, agentId?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }sessionKeytừ payload yêu cầu chỉ được chấp nhận khihooks.allowRequestSessionKey=true(mặc định:false).
POST /hooks/<name>→ được phân giải quahooks.mappings- Các giá trị
sessionKeycủa ánh xạ được kết xuất từ mẫu được xem là do bên ngoài cung cấp và cũng yêu cầuhooks.allowRequestSessionKey=true.
- Các giá trị
Mapping details
Mapping details
match.pathkhớp đường dẫn con sau/hooks(ví dụ/hooks/gmail→gmail).match.sourcekhớp một trường payload cho các đường dẫn chung.- Các mẫu như
{{messages[0].subject}}đọc từ payload. transformcó thể trỏ đến một mô-đun JS/TS trả về một hành động hook.transform.modulephải là đường dẫn tương đối và nằm tronghooks.transformsDir(đường dẫn tuyệt đối và duyệt vượt thư mục bị từ chối).
agentIdđịnh tuyến đến một agent cụ thể; ID không xác định sẽ quay về mặc định.allowedAgentIds: hạn chế định tuyến tường minh (*hoặc bỏ qua = cho phép tất cả,[]= từ chối tất cả).defaultSessionKey: khóa phiên cố định tùy chọn cho các lần chạy agent hook không cósessionKeytường minh.allowRequestSessionKey: cho phép bên gọi/hooks/agentvà khóa phiên ánh xạ dựa trên mẫu đặtsessionKey(mặc định:false).allowedSessionKeyPrefixes: danh sách cho phép tiền tố tùy chọn cho các giá trịsessionKeytường minh (yêu cầu + ánh xạ), ví dụ["hook:"]. Trường này trở thành bắt buộc khi bất kỳ ánh xạ hoặc preset nào dùngsessionKeytheo mẫu.deliver: truegửi phản hồi cuối cùng đến một kênh;channelmặc định làlast.modelghi đè LLM cho lần chạy hook này (phải được cho phép nếu danh mục model được đặt).
Tích hợp Gmail
- Preset Gmail tích hợp sẵn dùng
sessionKey: "hook:gmail:{{messages[0].id}}". - Nếu bạn giữ định tuyến theo từng thư đó, hãy đặt
hooks.allowRequestSessionKey: truevà giới hạnhooks.allowedSessionKeyPrefixesđể khớp namespace Gmail, ví dụ["hook:", "hook:gmail:"]. - Nếu bạn cần
hooks.allowRequestSessionKey: false, hãy ghi đè preset bằng mộtsessionKeytĩnh thay vì mặc định theo mẫu.
- Gateway tự khởi động
gog gmail watch servekhi khởi động nếu đã được cấu hình. ĐặtOPENCLAW_SKIP_GMAIL_WATCHER=1để tắt. - Đừng chạy một
gog gmail watch serveriêng song song với Gateway.
Máy chủ canvas
- Phục vụ HTML/CSS/JS mà agent có thể chỉnh sửa và A2UI qua HTTP dưới cổng Gateway:
http://<gateway-host>:<gateway.port>/__openclaw__/canvas/http://<gateway-host>:<gateway.port>/__openclaw__/a2ui/
- Chỉ cục bộ: giữ
gateway.bind: "loopback"(mặc định). - Bind không phải loopback: các tuyến canvas yêu cầu xác thực Gateway (token/mật khẩu/trusted-proxy), giống các bề mặt HTTP Gateway khác.
- Node WebViews thường không gửi header xác thực; sau khi một Node được ghép nối và kết nối, Gateway quảng bá các URL khả năng có phạm vi theo Node để truy cập canvas/A2UI.
- URL khả năng được ràng buộc với phiên WS Node đang hoạt động và hết hạn nhanh chóng. Không dùng dự phòng dựa trên IP.
- Chèn client tải lại trực tiếp vào HTML được phục vụ.
- Tự động tạo
index.htmlkhởi đầu khi trống. - Cũng phục vụ A2UI tại
/__openclaw__/a2ui/. - Các thay đổi yêu cầu khởi động lại Gateway.
- Tắt tải lại trực tiếp cho thư mục lớn hoặc lỗi
EMFILE.
Khám phá
mDNS (Bonjour)
minimal(mặc định): bỏ quacliPath+sshPortkhỏi bản ghi TXT.full: bao gồmcliPath+sshPort.- Tên máy chủ mặc định là tên máy chủ hệ thống khi đó là nhãn DNS hợp lệ, nếu không sẽ quay về
openclaw. Ghi đè bằngOPENCLAW_MDNS_HOSTNAME.
Diện rộng (DNS-SD)
~/.openclaw/dns/. Để khám phá xuyên mạng, ghép với máy chủ DNS (khuyến nghị CoreDNS) + DNS phân tách Tailscale.
Thiết lập: openclaw dns setup --apply.
Môi trường
env (biến môi trường nội tuyến)
- Biến môi trường nội tuyến chỉ được áp dụng nếu môi trường của tiến trình thiếu khóa đó.
- Tệp
.env:.envtrong CWD +~/.openclaw/.env(không tệp nào ghi đè các biến hiện có). shellEnv: nhập các khóa dự kiến còn thiếu từ hồ sơ shell đăng nhập của bạn.- Xem Môi trường để biết đầy đủ thứ tự ưu tiên.
Thay thế biến môi trường
Tham chiếu biến môi trường trong bất kỳ chuỗi cấu hình nào bằng${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 cấu hình.
- Thoát bằng
$${VAR}để biểu diễn nguyên văn${VAR}. - Hoạt động với
$include.
Bí mật
Tham chiếu bí mật có tính bổ sung: giá trị văn bản thuần vẫn hoạt động.SecretRef
Dùng một dạng đối tượng:
- Mẫu
provider:^[a-z][a-z0-9_-]{0,63}$ - Mẫu id của
source: "env":^[A-Z][A-Z0-9_]{0,127}$ - id của
source: "file": con trỏ JSON tuyệt đối (ví dụ"/providers/openai/apiKey") - Mẫu id của
source: "exec":^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$ - id của
source: "exec"không được chứa các đoạn đường dẫn phân tách bằng dấu gạch chéo là.hoặc..(ví dụa/../bbị từ chối)
Bề mặt thông tin xác thực được hỗ trợ
- Ma trận chuẩn: Bề mặt thông tin xác thực SecretRef
secrets applynhắm đến các đường dẫn thông tin xác thựcopenclaw.jsonđược hỗ trợ.- Tham chiếu
auth-profiles.jsonđược bao gồm trong quá trình phân giải thời gian chạy và phạm vi kiểm tra.
Cấu hình nhà cung cấp bí mật
- Nhà cung cấp
filehỗ trợmode: "json"vàmode: "singleValue"(idphải là"value"trong chế độ singleValue). - Đường dẫn của nhà cung cấp tệp và exec sẽ thất bại đóng khi không thể xác minh ACL của Windows. Chỉ đặt
allowInsecurePath: truecho các đường dẫn đáng tin cậy không thể xác minh. - Nhà cung cấp
execyêu cầu đường dẫncommandtuyệt đối và dùng tải trọng giao thức trên stdin/stdout. - Theo mặc định, đường dẫn lệnh symlink bị từ chối. Đặt
allowSymlinkCommand: trueđể cho phép đường dẫn symlink trong khi vẫn xác thực đường dẫn đích đã phân giải. - Nếu
trustedDirsđược cấu hình, kiểm tra thư mục đáng tin cậy áp dụng cho đường dẫn đích đã phân giải. - Môi trường tiến trình con
exectheo mặc định là tối thiểu; truyền rõ ràng các biến bắt buộc bằngpassEnv. - Tham chiếu bí mật được phân giải tại thời điểm kích hoạt thành một ảnh chụp nhanh trong bộ nhớ, sau đó các đường dẫn yêu cầu chỉ đọc ảnh chụp nhanh đó.
- Lọc bề mặt hoạt động áp dụng trong quá trình kích hoạt: tham chiếu chưa phân giải trên các bề mặt đã bật sẽ khiến khởi động/tải lại thất bại, còn các bề mặt không hoạt động được bỏ qua kèm chẩn đoán.
Lưu trữ xác thực
- Hồ sơ theo tác tử được lưu tại
<agentDir>/auth-profiles.json. auth-profiles.jsonhỗ trợ tham chiếu ở cấp giá trị (keyRefchoapi_key,tokenRefchotoken) đối với các chế độ thông tin xác thực tĩnh.- Các ánh xạ
auth-profiles.jsonphẳng kiểu cũ như{ "provider": { "apiKey": "..." } }không phải là định dạng thời gian chạy;openclaw doctor --fixviết lại chúng thành hồ sơ API-keyprovider:defaultchuẩn với bản sao lưu.legacy-flat.*.bak. - Hồ sơ chế độ OAuth (
auth.profiles.<id>.mode = "oauth") không hỗ trợ thông tin xác thực hồ sơ xác thực dựa trên SecretRef. - Thông tin xác thực thời gian chạy tĩnh đến từ các ảnh chụp nhanh đã phân giải trong bộ nhớ; các mục
auth.jsontĩnh kiểu cũ sẽ bị xóa sạch khi được phát hiện. - Nhập OAuth kiểu cũ từ
~/.openclaw/credentials/oauth.json. - Xem OAuth.
- Hành vi thời gian chạy của bí mật và công cụ
audit/configure/apply: Quản lý bí mật.
auth.cooldowns
billingBackoffHours: thời gian chờ cơ sở tính bằng giờ khi một hồ sơ thất bại do lỗi thanh toán/không đủ tín dụng thật sự (mặc định:5). Văn bản thanh toán rõ ràng vẫn có thể rơi vào đây ngay cả trên phản hồi401/403, nhưng các bộ khớp văn bản theo nhà cung cấp vẫn chỉ giới hạn trong nhà cung cấp sở hữu chúng (ví dụ OpenRouterKey limit exceeded). Các thông báo HTTP402có thể thử lại về cửa sổ sử dụng hoặc giới hạn chi tiêu của tổ chức/không gian làm việc vẫn nằm trong đường dẫnrate_limit.billingBackoffHoursByProvider: ghi đè tùy chọn theo từng nhà cung cấp cho số giờ chờ do thanh toán.billingMaxHours: giới hạn tính bằng giờ cho tăng trưởng lũy thừa của thời gian chờ do thanh toán (mặc định:24).authPermanentBackoffMinutes: thời gian chờ cơ sở tính bằng phút cho các lỗiauth_permanentcó độ tin cậy cao (mặc định:10).authPermanentMaxMinutes: giới hạn tính bằng phút cho tăng trưởng thời gian chờauth_permanent(mặc định:60).failureWindowHours: cửa sổ trượt tính bằng giờ dùng cho bộ đếm thời gian chờ (mặc định:24).overloadedProfileRotations: số lần xoay vòng hồ sơ xác thực tối đa trong cùng nhà cung cấp đối với lỗi quá tải trước khi chuyển sang dự phòng mô hình (mặc định:1). Các dạng nhà cung cấp bận nhưModelNotReadyExceptionrơi vào đây.overloadedBackoffMs: độ trễ cố định trước khi thử lại một lần xoay vòng nhà cung cấp/hồ sơ bị quá tải (mặc định:0).rateLimitedProfileRotations: số lần xoay vòng hồ sơ xác thực tối đa trong cùng nhà cung cấp đối với lỗi giới hạn tốc độ trước khi chuyển sang dự phòng mô hình (mặc định:1). Nhóm giới hạn tốc độ đó bao gồm văn bản theo dạng nhà cung cấp nhưToo many concurrent requests,ThrottlingException,concurrency limit reached,workers_ai ... quota limit exceededvàresource exhausted.
Ghi nhật ký
- Tệp nhật ký mặc định:
/tmp/openclaw/openclaw-YYYY-MM-DD.log. - Đặt
logging.fileđể có đường dẫn ổn định. consoleLeveltăng lêndebugkhi dùng--verbose.maxFileBytes: kích thước tối đa của tệp nhật ký đang hoạt động tính bằng byte trước khi xoay vòng (số nguyên dương; mặc định:104857600= 100 MB). OpenClaw giữ tối đa năm bản lưu trữ được đánh số bên cạnh tệp đang hoạt động.redactSensitive/redactPatterns: che giấu theo nỗ lực tốt nhất cho đầu ra console, nhật ký tệp, bản ghi nhật ký OTLP và văn bản bản ghi phiên được lưu giữ.redactSensitive: "off"chỉ tắt chính sách nhật ký/bản ghi chung này; các bề mặt an toàn UI/công cụ/chẩn đoán vẫn che giấu bí mật trước khi phát ra.
Chẩn đoán
enabled: công tắc chính cho đầu ra đo lường (mặc định:true).flags: mảng chuỗi cờ bật đầu ra nhật ký có mục tiêu (hỗ trợ ký tự đại diện như"telegram.*"hoặc"*").stuckSessionWarnMs: ngưỡng tuổi tính bằng ms để phát cảnh báo phiên bị kẹt trong khi phiên vẫn ở trạng thái xử lý.otel.enabled: bật pipeline xuất OpenTelemetry (mặc định:false). Để xem cấu hình đầy đủ, danh mục tín hiệu và mô hình quyền riêng tư, xem xuất OpenTelemetry.otel.endpoint: URL collector cho xuất OTel.otel.tracesEndpoint/otel.metricsEndpoint/otel.logsEndpoint: các endpoint OTLP tùy chọn riêng theo tín hiệu. Khi được đặt, chúng ghi đèotel.endpointchỉ cho tín hiệu đó.otel.protocol:"http/protobuf"(mặc định) hoặc"grpc".otel.headers: các header siêu dữ liệu HTTP/gRPC bổ sung được gửi cùng yêu cầu xuất OTel.otel.serviceName: tên dịch vụ cho thuộc tính tài nguyên.otel.traces/otel.metrics/otel.logs: bật xuất trace, metrics hoặc nhật ký.otel.sampleRate: tỷ lệ lấy mẫu trace0–1.otel.flushIntervalMs: khoảng thời gian flush telemetry định kỳ tính bằng ms.otel.captureContent: chọn tham gia thu thập nội dung thô cho thuộc tính span OTEL. Mặc định tắt. Booleantruethu thập nội dung thông điệp/công cụ không thuộc hệ thống; dạng đối tượng cho phép bạn bật rõ rànginputMessages,outputMessages,toolInputs,toolOutputsvàsystemPrompt.OTEL_SEMCONV_STABILITY_OPT_IN=gen_ai_latest_experimental: công tắc môi trường cho các thuộc tính nhà cung cấp span GenAI thử nghiệm mới nhất. Theo mặc định, span giữ thuộc tínhgen_ai.systemcũ để tương thích; metrics GenAI dùng các thuộc tính ngữ nghĩa có giới hạn.OPENCLAW_OTEL_PRELOADED=1: công tắc môi trường cho host đã đăng ký SDK OpenTelemetry toàn cục. Khi đó OpenClaw bỏ qua khởi động/tắt SDK do Plugin sở hữu trong khi vẫn giữ các listener chẩn đoán hoạt động.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,OTEL_EXPORTER_OTLP_METRICS_ENDPOINTvàOTEL_EXPORTER_OTLP_LOGS_ENDPOINT: biến môi trường endpoint riêng theo tín hiệu được dùng khi khóa cấu hình tương ứng chưa được đặt.cacheTrace.enabled: ghi nhật ký snapshot cache trace cho các lần chạy nhúng (mặc định:false).cacheTrace.filePath: đường dẫn đầu ra cho cache trace JSONL (mặc định:$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl).cacheTrace.includeMessages/includePrompt/includeSystem: kiểm soát nội dung được đưa vào đầu ra cache trace (tất cả mặc định:true).
Cập nhật
channel: kênh phát hành cho cài đặt npm/git —"stable","beta"hoặc"dev".checkOnStart: kiểm tra bản cập nhật npm khi gateway khởi động (mặc định:true).auto.enabled: bật tự động cập nhật nền cho cài đặt gói (mặc định:false).auto.stableDelayHours: độ trễ tối thiểu tính bằng giờ trước khi tự động áp dụng kênh stable (mặc định:6; tối đa:168).auto.stableJitterHours: cửa sổ phân bổ rollout bổ sung cho kênh stable tính bằng giờ (mặc định:12; tối đa:168).auto.betaCheckIntervalHours: tần suất chạy kiểm tra kênh beta tính bằng giờ (mặc định:1; tối đa:24).
ACP
enabled: cổng tính năng ACP toàn cục (mặc định:true; đặtfalseđể ẩn dispatch ACP và các tùy chọn spawn).dispatch.enabled: cổng độc lập cho dispatch lượt phiên ACP (mặc định:true). Đặtfalseđể giữ các lệnh ACP khả dụng trong khi chặn thực thi.backend: id backend runtime ACP mặc định (phải khớp với một Plugin runtime ACP đã đăng ký). Nếuplugins.allowđược đặt, hãy bao gồm id Plugin backend (ví dụacpx) nếu không Plugin mặc định đi kèm sẽ không tải.defaultAgent: id agent mục tiêu ACP dự phòng khi spawn không chỉ định mục tiêu rõ ràng.allowedAgents: danh sách cho phép các id agent được phép dùng cho phiên runtime ACP; rỗng nghĩa là không có hạn chế bổ sung.maxConcurrentSessions: số phiên ACP hoạt động đồng thời tối đa.stream.coalesceIdleMs: cửa sổ flush khi rảnh tính bằng ms cho văn bản được stream.stream.maxChunkChars: kích thước chunk tối đa trước khi tách phép chiếu khối được stream.stream.repeatSuppression: chặn các dòng trạng thái/công cụ lặp lại trong mỗi lượt (mặc định:true).stream.deliveryMode:"live"stream tăng dần;"final_only"đệm cho đến khi có sự kiện kết thúc lượt.stream.hiddenBoundarySeparator: dấu phân cách trước văn bản hiển thị sau các sự kiện công cụ ẩn (mặc định:"paragraph").stream.maxOutputChars: số ký tự đầu ra assistant tối đa được chiếu mỗi lượt ACP.stream.maxSessionUpdateChars: số ký tự tối đa cho các dòng trạng thái/cập nhật ACP được chiếu.stream.tagVisibility: bản ghi tên thẻ tới các ghi đè hiển thị boolean cho sự kiện được stream.runtime.ttlMinutes: TTL khi rảnh tính bằng phút cho worker phiên ACP trước khi đủ điều kiện dọn dẹp.runtime.installCommand: lệnh cài đặt tùy chọn để chạy khi bootstrap môi trường runtime ACP.
CLI
cli.banner.taglineModekiểm soát kiểu tagline banner:"random"(mặc định): các tagline hài hước/theo mùa luân phiên."default": tagline trung tính cố định (All your chats, one OpenClaw.)."off": không có văn bản tagline (vẫn hiển thị tiêu đề/phiên bản banner).
- Để ẩn toàn bộ banner (không chỉ tagline), đặt env
OPENCLAW_HIDE_BANNER=1.
Trình hướng dẫn
Siêu dữ liệu được ghi bởi các luồng thiết lập có hướng dẫn của CLI (onboard, configure, doctor):
Danh tính
Xem các trường danh tínhagents.list trong mặc định agent.
Bridge (cũ, đã loại bỏ)
Các bản dựng hiện tại không còn bao gồm TCP bridge. Node kết nối qua Gateway WebSocket. Các khóabridge.* không còn là một phần của schema cấu hình (xác thực sẽ thất bại cho đến khi bị loại bỏ; openclaw doctor --fix có thể loại bỏ các khóa không xác định).
Cấu hình bridge cũ (tham khảo lịch sử)
Cấu hình bridge cũ (tham khảo lịch sử)
Cron
sessionRetention: thời gian giữ các phiên chạy cron cô lập đã hoàn tất trước khi cắt tỉa khỏisessions.json. Cũng kiểm soát việc dọn dẹp các bản ghi cron đã xóa được lưu trữ. Mặc định:24h; đặtfalseđể tắt.runLog.maxBytes: kích thước tối đa cho mỗi tệp nhật ký chạy (cron/runs/<jobId>.jsonl) trước khi cắt tỉa. Mặc định:2_000_000byte.runLog.keepLines: các dòng mới nhất được giữ lại khi kích hoạt cắt tỉa nhật ký chạy. Mặc định:2000.webhookToken: token bearer được dùng cho gửi POST Cron Webhook (delivery.mode = "webhook"), nếu bỏ qua thì không gửi header xác thực.webhook: URL Webhook dự phòng cũ đã ngừng dùng (http/https), chỉ dùng cho các job đã lưu vẫn cónotify: true.
cron.retry
maxAttempts: số lần thử lại tối đa cho job chạy một lần khi gặp lỗi tạm thời (mặc định:3; phạm vi:0–10).backoffMs: mảng độ trễ backoff tính bằng ms cho mỗi lần thử lại (mặc định:[30000, 60000, 300000]; 1–10 mục).retryOn: các loại lỗi kích hoạt thử lại —"rate_limit","overloaded","network","timeout","server_error". Bỏ qua để thử lại tất cả các loại tạm thời.
cron.failureAlert
enabled: bật cảnh báo lỗi cho job Cron (mặc định:false).after: số lỗi liên tiếp trước khi cảnh báo được phát (số nguyên dương, tối thiểu:1).cooldownMs: số mili giây tối thiểu giữa các cảnh báo lặp lại cho cùng một job (số nguyên không âm).includeSkipped: tính các lần chạy bị bỏ qua liên tiếp vào ngưỡng cảnh báo (mặc định:false). Các lần chạy bị bỏ qua được theo dõi riêng và không ảnh hưởng đến backoff lỗi thực thi.mode: chế độ gửi —"announce"gửi qua tin nhắn kênh;"webhook"POST tới Webhook đã cấu hình.accountId: id tài khoản hoặc kênh tùy chọn để giới hạn phạm vi gửi cảnh báo.
cron.failureDestination
- Đích mặc định cho thông báo lỗi Cron trên tất cả các tác vụ.
mode:"announce"hoặc"webhook"; mặc định là"announce"khi có đủ dữ liệu đích.channel: ghi đè kênh cho việc gửi announce."last"dùng lại kênh gửi đã biết gần nhất.to: đích announce rõ ràng hoặc URL Webhook. Bắt buộc đối với chế độ Webhook.accountId: ghi đè tài khoản tùy chọn cho việc gửi.delivery.failureDestinationtheo từng tác vụ ghi đè mặc định toàn cục này.- Khi không đặt đích lỗi toàn cục hoặc theo từng tác vụ, các tác vụ đã gửi qua
announcesẽ quay về đích announce chính đó khi xảy ra lỗi. delivery.failureDestinationchỉ được hỗ trợ cho các tác vụsessionTarget="isolated"trừ khidelivery.modechính của tác vụ là"webhook".
Biến mẫu của mô hình phương tiện
Các phần giữ chỗ mẫu được mở rộng trongtools.media.models[].args:
| Biến | Mô tả |
|---|---|
{{Body}} | Toàn bộ nội dung tin nhắn đến |
{{RawBody}} | Nội dung thô (không có lớp bọc lịch sử/người gửi) |
{{BodyStripped}} | Nội dung đã loại bỏ lượt nhắc nhóm |
{{From}} | Mã định danh người gửi |
{{To}} | Mã định danh đích |
{{MessageSid}} | ID tin nhắn kênh |
{{SessionId}} | UUID phiên hiện tại |
{{IsNewSession}} | "true" khi phiên mới được tạo |
{{MediaUrl}} | URL giả của phương tiện đến |
{{MediaPath}} | Đường dẫn phương tiện cục bộ |
{{MediaType}} | Loại phương tiện (hình ảnh/âm thanh/tài liệu/…) |
{{Transcript}} | Bản chép lời âm thanh |
{{Prompt}} | prompt phương tiện đã phân giải cho mục CLI |
{{MaxChars}} | Số ký tự đầu ra tối đa đã phân giải cho mục CLI |
{{ChatType}} | "direct" hoặc "group" |
{{GroupSubject}} | Chủ đề nhóm (nỗ lực tốt nhất) |
{{GroupMembers}} | Bản xem trước thành viên nhóm (nỗ lực tốt nhất) |
{{SenderName}} | Tên hiển thị của người gửi (nỗ lực tốt nhất) |
{{SenderE164}} | Số điện thoại của người gửi (nỗ lực tốt nhất) |
{{Provider}} | Gợi ý nhà cung cấp (whatsapp, telegram, discord, v.v.) |
Bao gồm cấu hình ($include)
Tách cấu hình thành nhiều tệp:
- Một tệp: thay thế đối tượng chứa nó.
- Mảng tệp: hợp nhất sâu theo thứ tự (phần sau ghi đè phần trước).
- Khóa cùng cấp: được hợp nhất sau các include (ghi đè các giá trị được include).
- Include lồng nhau: sâu tối đa 10 cấp.
- Đường dẫn: được phân giải tương đối với tệp đang include, nhưng phải nằm trong thư mục cấu hình cấp cao nhất (
dirnamecủaopenclaw.json). Dạng tuyệt đối/../chỉ được phép khi chúng vẫn phân giải bên trong ranh giới đó. - Các lần ghi do OpenClaw sở hữu chỉ thay đổi một mục cấp cao nhất được hỗ trợ bởi include một tệp sẽ ghi xuyên qua tệp được include đó. Ví dụ:
plugins installcập nhậtplugins: { $include: "./plugins.json5" }trongplugins.json5và giữ nguyênopenclaw.json. - Include ở gốc, mảng include và include có ghi đè cùng cấp là chỉ đọc đối với các lần ghi do OpenClaw sở hữu; các lần ghi đó sẽ thất bại đóng thay vì làm phẳng cấu hình.
- Lỗi: thông báo rõ ràng cho tệp bị thiếu, lỗi phân tích cú pháp và include vòng.
Liên quan: Cấu hình · Ví dụ cấu hình · Doctor