channels.*: quyền truy cập DM và nhóm, thiết lập nhiều tài khoản, kiểm soát bằng lượt nhắc đến và các khóa theo từng kênh cho Slack, Discord, Telegram, WhatsApp, Matrix, iMessage cùng các plugin kênh khác.
Đối với agent, công cụ, runtime Gateway và các khóa cấp cao nhất khác, hãy xem Tham chiếu cấu hình.
Kênh
Mỗi kênh tự động khởi động khi phần cấu hình của kênh đó tồn tại (trừ khienabled: false). Telegram và iMessage được cung cấp trong gói openclaw cốt lõi. Các kênh chính thức khác (Discord, Slack, WhatsApp, Matrix, Microsoft Teams, IRC, Google Chat, Signal, Mattermost và nhiều kênh khác) được cài đặt dưới dạng các plugin riêng biệt bằng openclaw plugins install <spec>; xem Kênh để biết danh sách đầy đủ và thông số cài đặt.
Quyền truy cập DM và nhóm
Tất cả các kênh đều hỗ trợ chính sách DM và chính sách nhóm:channels.defaults.groupPolicy đặt giá trị mặc định khi groupPolicy của nhà cung cấp chưa được đặt.
Mã ghép đôi hết hạn sau 1 giờ. Số yêu cầu ghép đôi đang chờ được giới hạn ở 3 yêu cầu cho mỗi tài khoản (phạm vi theo kênh và mã định danh tài khoản).
Nếu thiếu hoàn toàn khối nhà cung cấp (không có channels.<provider>), chính sách nhóm của runtime sẽ chuyển về allowlist (đóng khi lỗi) kèm cảnh báo khi khởi động.Ghi đè mô hình theo kênh
Dùngchannels.modelByChannel để ghim các mã định danh kênh cụ thể hoặc đối tác nhắn tin trực tiếp vào một mô hình. Giá trị chấp nhận provider/model hoặc bí danh mô hình đã cấu hình. Ánh xạ kênh chỉ áp dụng khi phiên chưa có ghi đè mô hình đang hoạt động (ví dụ: ghi đè được đặt qua /model).
Đối với cuộc trò chuyện nhóm/luồng, các khóa là mã định danh nhóm, mã định danh chủ đề hoặc tên kênh dành riêng cho từng kênh. Đối với cuộc trò chuyện bằng tin nhắn trực tiếp (DM), các khóa là mã định danh đối tác được lấy từ danh tính người gửi của kênh (nativeDirectUserId, origin.from, origin.to, OriginatingTo, From hoặc SenderId). Dạng khóa chính xác phụ thuộc vào kênh:
Giá trị mặc định của kênh và Heartbeat
Dùngchannels.defaults cho chính sách nhóm, lượt nhắc đến ngầm định và hành vi Heartbeat dùng chung giữa các nhà cung cấp:
channels.defaults.groupPolicy: chính sách nhóm dự phòng khigroupPolicyở cấp nhà cung cấp chưa được đặt.channels.defaults.contextVisibility: chế độ hiển thị ngữ cảnh bổ sung mặc định cho tất cả các kênh. Giá trị:all(mặc định, bao gồm toàn bộ ngữ cảnh trích dẫn/luồng/lịch sử),allowlist(chỉ bao gồm ngữ cảnh từ người gửi trong danh sách cho phép),allowlist_quote(giống danh sách cho phép nhưng giữ lại ngữ cảnh trích dẫn/trả lời rõ ràng). Ghi đè theo từng kênh:channels.<channel>.contextVisibility.channels.defaults.implicitMentions: kiểm soát những dữ kiện gửi đến được hỗ trợ nào được tính là lượt nhắc đến.replyToBot,quotedBotvàthreadParticipationđều mặc định làtrue, duy trì hành vi hiện tại. Ghi đè theo từng kênh bằngchannels.<channel>.implicitMentionshoặc theo từng tài khoản bằngchannels.<channel>.accounts.<id>.implicitMentions; mỗi cờ được phân giải độc lập theo thứ tự tài khoản -> kênh -> giá trị mặc định. Tên cờ mang nghĩa khẳng định: đặt cờ thànhfalseđể ngăn dữ kiện đó bỏ qua cơ chế kiểm soát bằng lượt nhắc đến. Các lượt nhắc đến tường minh nguyên bản luôn được cho phép và cờ không có tác dụng khi kênh không tạo ra dữ kiện đó. Xem Kiểm soát bằng lượt nhắc đến để biết ma trận nguồn tạo hiện tại. Các thiết lập này không thay đổi chế độ trả lời/luồng gửi đi hoặc việc xử lý lệnh được ủy quyền.channels.defaults.heartbeat.showOk: bao gồm trạng thái kênh bình thường trong đầu ra Heartbeat (mặc địnhfalse).channels.defaults.heartbeat.showAlerts: bao gồm trạng thái suy giảm/lỗi trong đầu ra Heartbeat (mặc địnhtrue).channels.defaults.heartbeat.useIndicator: hiển thị đầu ra Heartbeat kiểu chỉ báo nhỏ gọn (mặc địnhtrue).
- Các mục
bindings[]cấp cao nhất cótype: "acp"cấu hình liên kết ACP lâu dài cho DM và nhóm WhatsApp. Dùng số trực tiếp theo chuẩn E.164 hoặc JID nhóm WhatsApp trongmatch.peer.id. Ngữ nghĩa trường được dùng chung trong Agent ACP.
WhatsApp nhiều tài khoản
WhatsApp nhiều tài khoản
- Các lệnh gửi đi mặc định dùng tài khoản
defaultnếu có; nếu không, dùng mã định danh tài khoản được cấu hình đầu tiên (sau khi sắp xếp). channels.whatsapp.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định dự phòng đó khi khớp với một mã định danh tài khoản đã cấu hình.- Thư mục xác thực Baileys một tài khoản kiểu cũ được
openclaw doctordi chuyển vàowhatsapp/default. - Ghi đè theo từng tài khoản:
channels.whatsapp.accounts.<id>.sendReadReceipts,channels.whatsapp.accounts.<id>.dmPolicy,channels.whatsapp.accounts.<id>.allowFrom.
Telegram
- Token bot:
channels.telegram.botTokenhoặcchannels.telegram.tokenFile(chỉ tệp thông thường; liên kết tượng trưng bị từ chối), vớiTELEGRAM_BOT_TOKENlàm giá trị dự phòng cho tài khoản mặc định. apiRootchỉ là gốc Telegram Bot API. Dùnghttps://api.telegram.orghoặc gốc tự lưu trữ/proxy của bạn, không dùnghttps://api.telegram.org/bot<TOKEN>;openclaw doctor --fixloại bỏ hậu tố/bot<TOKEN>vô tình nằm ở cuối.- Đối với máy chủ Bot API tự lưu trữ ở chế độ
--local,trustedLocalFileRootsliệt kê các đường dẫn máy chủ mà OpenClaw có thể đọc. Gắn volume dữ liệu máy chủ trên máy chủ OpenClaw và cấu hình thư mục gốc dữ liệu hoặc thư mục theo từng token; các đường dẫn container trong/var/lib/telegram-bot-apiđược ánh xạ vào các thư mục gốc đó. Các đường dẫn tuyệt đối khác vẫn bị từ chối. channels.telegram.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với một mã định danh tài khoản đã cấu hình.- Trong thiết lập nhiều tài khoản (từ 2 mã định danh tài khoản trở lên), hãy đặt rõ tài khoản mặc định (
channels.telegram.defaultAccounthoặcchannels.telegram.accounts.default) để tránh định tuyến dự phòng;openclaw doctorcảnh báo khi thiết lập này bị thiếu hoặc không hợp lệ. configWrites: falsechặn các thao tác ghi cấu hình do Telegram khởi tạo (di chuyển mã định danh siêu nhóm,/config set|unset).- Các mục
bindings[]cấp cao nhất cótype: "acp"cấu hình liên kết ACP lâu dài cho các chủ đề diễn đàn (dùngchatId:topic:topicIdchuẩn trongmatch.peer.id). Ngữ nghĩa trường được dùng chung trong Agent ACP. - Bản xem trước luồng Telegram dùng
sendMessage+editMessageText(hoạt động trong cuộc trò chuyện trực tiếp và nhóm). network.dnsResultOrdermặc định là"ipv4first"để tránh các lỗi truy xuất IPv6 thường gặp.- Chính sách thử lại: xem Chính sách thử lại.
Discord
- Token:
channels.discord.token, vớiDISCORD_BOT_TOKENlàm phương án dự phòng cho tài khoản mặc định. - Các lệnh gọi đi trực tiếp cung cấp rõ ràng Discord
tokensẽ sử dụng token đó cho lệnh gọi; các thiết lập thử lại/chính sách của tài khoản vẫn lấy từ tài khoản được chọn trong ảnh chụp nhanh runtime đang hoạt động. channels.discord.defaultAccounttùy chọn ghi đè việc chọn tài khoản mặc định khi khớp với một ID tài khoản đã cấu hình.- Sử dụng
user:<id>(DM) hoặcchannel:<id>(kênh guild) làm đích gửi; các ID chỉ gồm số sẽ bị từ chối. - Slug của guild dùng chữ thường và thay dấu cách bằng
-; khóa kênh sử dụng tên đã được chuyển thành slug (không có#). Nên ưu tiên ID guild. - Theo mặc định, các tin nhắn do bot tạo sẽ bị bỏ qua.
allowBots: truebật chúng; sử dụngallowBots: "mentions"để chỉ chấp nhận các tin nhắn của bot có đề cập đến bot (tin nhắn của chính bot vẫn bị lọc). - Các kênh hỗ trợ tin nhắn đến do bot tạo có thể sử dụng cơ chế bảo vệ vòng lặp bot dùng chung. Đặt
channels.defaults.botLoopProtectioncho ngân sách cặp cơ sở, sau đó chỉ ghi đè ở cấp kênh hoặc tài khoản khi một bề mặt cần giới hạn khác. channels.discord.guilds.<id>.ignoreOtherMentions(và các ghi đè của kênh) loại bỏ những tin nhắn đề cập đến người dùng hoặc vai trò khác nhưng không đề cập đến bot (không bao gồm @everyone/@here).channels.discord.mentionAliasesánh xạ văn bản@handleổn định ở đầu ra sang ID người dùng Discord trước khi gửi, nhờ đó có thể đề cập đến các đồng đội đã biết một cách xác định ngay cả khi bộ nhớ đệm thư mục tạm thời trống. Các ghi đè theo tài khoản nằm trongchannels.discord.accounts.<accountId>.mentionAliases.maxLinesPerMessage(mặc định17) chia nhỏ các tin nhắn dài theo chiều dọc ngay cả khi dưới 2000 ký tự.channels.discord.suppressEmbedsmặc định làtrue, vì vậy các URL gửi đi không mở rộng thành bản xem trước liên kết Discord trừ khi bị tắt. Các payloadembedsđược chỉ định rõ vẫn gửi bình thường; các lệnh gọi công cụ theo từng tin nhắn có thể ghi đè bằngsuppressEmbeds.channels.discord.threadBindingskiểm soát định tuyến gắn với luồng Discord:enabled: ghi đè Discord cho các tính năng phiên gắn với luồng (/focus,/unfocus,/agents,/session idle,/session max-age, cùng việc gửi/định tuyến đã liên kết)idleHours: ghi đè Discord cho thời gian không hoạt động trước khi tự động bỏ tập trung, tính bằng giờ (0sẽ vô hiệu hóa)maxAgeHours: ghi đè Discord cho tuổi tối đa tuyệt đối, tính bằng giờ (0sẽ vô hiệu hóa)spawnSessions: công tắc chosessions_spawn({ thread: true })và việc tự động tạo/liên kết luồng khi ACP tạo luồng con (mặc định:true)defaultSpawnContext: ngữ cảnh subagent gốc cho các lần tạo gắn với luồng (mặc định là"fork")
- Các mục
bindings[]cấp cao nhất cótype: "acp"cấu hình các liên kết ACP lâu dài cho kênh và luồng (sử dụng ID kênh/luồng trongmatch.peer.id). Ngữ nghĩa của các trường được dùng chung trong Tác tử ACP. channels.discord.ui.components.accentColorđặt màu nhấn cho các vùng chứa thành phần Discord v2.channels.discord.agentComponents.ttlMskiểm soát thời gian các callback của thành phần Discord đã gửi tiếp tục được đăng ký. Mặc định1800000(30 phút), tối đa86400000(24 giờ). Các ghi đè theo tài khoản nằm trongchannels.discord.accounts.<accountId>.agentComponents.ttlMs. Nên dùng TTL ngắn nhất phù hợp với quy trình.channels.discord.voicebật hội thoại trong kênh thoại Discord và các ghi đè tùy chọn cho tự động tham gia + LLM + TTS. Các cấu hình Discord chỉ dùng văn bản mặc định tắt thoại; đặtchannels.discord.voice.enabled=trueđể bật.channels.discord.voice.modeltùy chọn ghi đè mô hình LLM được sử dụng cho phản hồi trong kênh thoại Discord.channels.discord.voice.daveEncryption(mặc địnhtrue) vàchannels.discord.voice.decryptionFailureTolerance(mặc định24) được chuyển tiếp đến các tùy chọn DAVE của@discordjs/voice.channels.discord.voice.connectTimeoutMskiểm soát khoảng chờ Ready ban đầu của@discordjs/voicecho/vc joinvà các lần thử tự động tham gia (mặc định30000).channels.discord.voice.reconnectGraceMskiểm soát thời gian một phiên thoại bị ngắt kết nối được phép dùng để chuyển sang phát tín hiệu kết nối lại trước khi OpenClaw hủy phiên đó (mặc định15000).- Việc phát âm thanh thoại Discord không bị gián đoạn bởi sự kiện người dùng khác bắt đầu nói. Để tránh vòng lặp phản hồi âm thanh, OpenClaw bỏ qua việc thu âm thoại mới trong khi TTS đang phát.
- OpenClaw cũng cố gắng khôi phục việc nhận thoại bằng cách rời khỏi rồi tham gia lại phiên thoại sau nhiều lần giải mã thất bại.
channels.discord.streaminglà khóa chế độ luồng chuẩn. Discord mặc định dùngstreaming.mode: "progress"để tiến trình công cụ/công việc xuất hiện trong một tin nhắn xem trước được chỉnh sửa; đặtstreaming.mode: "off"để vô hiệu hóa. Các khóa phẳng cũ (streamMode,chunkMode,blockStreaming,draftChunk,blockStreamingCoalesce) không còn được đọc trong runtime; chạyopenclaw doctor --fixđể di chuyển cấu hình đã lưu.channels.discord.autoPresenceánh xạ mức độ sẵn sàng của runtime sang trạng thái hiện diện của bot (khỏe mạnh => trực tuyến, suy giảm => không hoạt động, cạn kiệt => không làm phiền) và cho phép ghi đè văn bản trạng thái tùy chọn.channels.discord.guilds.<id>.presenceEventsđịnh tuyến các lần người dùng chuyển sang trạng thái sẵn sàng vào một kênh Discord đã cấu hình dưới dạng sự kiện hệ thống của tác tử. Các thành viên đủ điều kiện phải có khả năng xemchannelId; luồng công khai kế thừa khả năng hiển thị của luồng cha, còn luồng riêng tư cần thêm tư cách thành viên hoặc quyền Manage Threads.userscó thể thu hẹp thêm đối tượng đó. Tính năng này khởi tạo các thành viên hiện đang trực tuyến từ ảnh chụp nhanhGUILD_CREATEhoàn chỉnh, định tuyến các chuyển đổi từ ngoại tuyến sang trực tuyến được quan sát và coi tín hiệu trực tuyến đầu tiên sau đó của một thành viên chưa từng thấy là mới sẵn sàng mà không khẳng định họ vừa trực tuyến hay vừa tham gia sau ảnh chụp nhanh. Các guild vượt quá giới hạn ảnh chụp nhanh 75,000 thành viên của Discord trước tiên cần một bản cập nhật ngoại tuyến rõ ràng. Các tùy chọn điều tiết:reconnectSuppressSeconds(khoảng lặng sau một phiên Gateway mới trong khi trạng thái hiện diện của guild được dựng lại, mặc định 300,0sẽ vô hiệu hóa) vàburstLimit/burstWindowSeconds(giới hạn tốc độ sự kiện đã xếp hàng thành công theo từng guild, mặc định 8 sự kiện trong mỗi cửa sổ trượt 60 giây). Các phiên được tiếp tục không khởi động cửa sổ chặn khi kết nối lại. Thời gian hồi giữa các lần chào lại hiện có theo từng người dùng vẫn là tám giờ. Tính năng này yêu cầuchannels.discord.intents.presence=true, Presence Intent đặc quyền trong Developer Portal của Discord và Heartbeat của tác tử đã được bật.channels.discord.dangerouslyAllowNameMatchingbật lại việc so khớp tên/thẻ có thể thay đổi (chế độ tương thích dùng trong tình huống khẩn cấp).channels.discord.execApprovals: gửi phê duyệt thực thi và xác thực người phê duyệt theo cơ chế gốc của Discord.enabled:true,falsehoặc"auto"(mặc định). Trong chế độ tự động, phê duyệt thực thi được kích hoạt khi có thể phân giải người phê duyệt từapprovershoặccommands.ownerAllowFrom.approvers: các ID người dùng Discord được phép phê duyệt yêu cầu thực thi. Dùngcommands.ownerAllowFromlàm phương án dự phòng khi bị bỏ qua.agentFilter: danh sách cho phép ID tác tử tùy chọn. Bỏ qua để chuyển tiếp phê duyệt cho tất cả tác tử.sessionFilter: các mẫu khóa phiên tùy chọn (chuỗi con hoặc biểu thức chính quy).target: nơi gửi lời nhắc phê duyệt."dm"(mặc định) gửi đến DM của người phê duyệt,"channel"gửi đến kênh khởi nguồn,"both"gửi đến cả hai. Khi đích bao gồm"channel", chỉ những người phê duyệt đã phân giải mới có thể sử dụng các nút.cleanupAfterResolve: khitrue, xóa các DM phê duyệt sau khi được phê duyệt, bị từ chối hoặc hết thời gian chờ.
off (không có), own (tin nhắn của bot, mặc định), all (tất cả tin nhắn), allowlist (từ guilds.<id>.users trên tất cả tin nhắn).
Google Chat
- JSON tài khoản dịch vụ: nội tuyến (
serviceAccount) hoặc dựa trên tệp (serviceAccountFile). - SecretRef của tài khoản dịch vụ cũng được hỗ trợ (
serviceAccountRef). - Các phương án dự phòng từ biến môi trường:
GOOGLE_CHAT_SERVICE_ACCOUNThoặcGOOGLE_CHAT_SERVICE_ACCOUNT_FILE(chỉ tài khoản mặc định). - Sử dụng
spaces/<spaceId>hoặcusers/<userId>làm đích gửi. channels.googlechat.dangerouslyAllowNameMatchingbật lại việc so khớp định danh email có thể thay đổi (chế độ tương thích dùng trong tình huống khẩn cấp).
Slack
- Chế độ Socket yêu cầu cả
botTokenvàappToken(SLACK_BOT_TOKEN+SLACK_APP_TOKENđể dự phòng bằng biến môi trường của tài khoản mặc định). - Chế độ HTTP yêu cầu
botTokencùng vớisigningSecret(ở cấp gốc hoặc theo từng tài khoản). - Danh tính người dùng (
identity: "user") đăng và đọc với tư cách người đã cấp quyền. Tính năng này yêu cầuuserTokencùng vớiappTokentrong Chế độ Socket, hoặcuserTokencùng vớisigningSecrettrong chế độ HTTP. Không yêu cầu token bot hoặc người dùng bot. Xem Danh tính người dùng để biết các phạm vi người dùng và đăng ký sự kiện. enterpriseOrgInstall: truecho phép một tài khoản sử dụng đường dẫn sự kiện trên toàn tổ chức của Slack Enterprise Grid. Khi khởi động, hệ thống xác minh token bot bằngauth.testvà báo lỗi khi chế độ đã cấu hình không khớp với danh tính cài đặt của Slack. DM doanh nghiệp phải bị vô hiệu hóa hoặc sử dụngdmPolicy: "open"vớiallowFrom: ["*"]có hiệu lực. Chính sách kênh và người dùng phải sử dụng ID Slack ổn định; tên có thể thay đổi và tiền tố kênh không được hỗ trợ sẽ khiến quá trình khởi động thất bại. V1 chỉ xử lý trực tiếp các sự kiện Chế độ Socket hoặc HTTPmessagevàapp_mentionvới phản hồi tức thì; chuyển tiếp, lệnh, tương tác, App Home, trình lắng nghe sự kiện phản ứng, ghim, công cụ hành động, phê duyệt gốc, liên kết, phân phối trì hoãn và gửi chủ động đều không khả dụng. Việc xác nhận, nhập liệu và phản ứng trạng thái do trình lắng nghe quản lý vẫn khả dụng vớireactions:write; thông báo phản ứng đến và công cụ hành động phản ứng không khả dụng. Xem Cài đặt trên toàn tổ chức Enterprise Grid để biết manifest có đặc quyền tối thiểu, quy trình thiết lập và đầy đủ các hạn chế.socketModechuyển tiếp các tùy chỉnh truyền tải Chế độ Socket của Slack SDK đến API bộ nhận Bolt công khai. Chỉ sử dụng khi điều tra thời gian chờ ping/pong hoặc hành vi websocket cũ.clientPingTimeoutmặc định là15000;serverPingTimeoutvàpingPongLoggingEnabledchỉ được chuyển tiếp khi đã cấu hình.botToken,appToken,signingSecretvàuserTokenchấp nhận chuỗi văn bản thuần hoặc đối tượng SecretRef.- Ảnh chụp nhanh tài khoản Slack hiển thị các trường nguồn/trạng thái theo từng thông tin xác thực, chẳng hạn như
botTokenSource,botTokenStatus,userTokenSource,userTokenStatus,appTokenStatusvà, trong chế độ HTTP,signingSecretStatus.configured_unavailablecó nghĩa là tài khoản được cấu hình thông qua SecretRef nhưng đường dẫn lệnh/runtime hiện tại không thể phân giải giá trị bí mật. configWrites: falsechặn các thao tác ghi cấu hình do Slack khởi tạo.channels.slack.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với ID tài khoản đã cấu hình.channels.slack.streaming.modelà khóa chế độ luồng Slack chuẩn (mặc định"partial").channels.slack.streaming.nativeTransportkiểm soát cơ chế truyền tải phát trực tiếp gốc của Slack (mặc địnhtrue). Các giá trị cũstreamMode, giá trị booleanstreaming,chunkMode,blockStreaming,blockStreamingCoalescevànativeStreamingkhông còn được đọc trong runtime; chạyopenclaw doctor --fixđể di chuyển cấu hình đã lưu sangstreaming.{mode,chunkMode,block.enabled,block.coalesce,nativeTransport}.unfurlLinksvàunfurlMediachuyển tiếp các giá trị boolean bung nội dung liên kết và phương tiệnchat.postMessagecủa Slack cho phản hồi của bot.unfurlLinksmặc định làfalseđể liên kết gửi đi của bot không mở rộng nội tuyến trừ khi được bật;unfurlMediabị bỏ qua nếu chưa cấu hình. Đặt một trong hai giá trị tạichannels.slack.accounts.<accountId>để ghi đè giá trị cấp cao nhất cho một tài khoản.- Sử dụng
user:<id>(DM) hoặcchannel:<id>làm đích phân phối.
off, own (mặc định), all, allowlist (từ reactionAllowlist).
Cách ly phiên luồng: thread.historyScope áp dụng theo từng luồng (mặc định) hoặc dùng chung trong toàn kênh. thread.inheritParent sao chép bản ghi hội thoại của kênh cha sang các luồng mới. thread.initialHistoryLimit (mặc định 20) giới hạn số lượng tin nhắn hiện có trong luồng được tải khi một phiên luồng mới bắt đầu; 0 vô hiệu hóa việc tải lịch sử luồng.
- Tính năng phát trực tiếp gốc của Slack cùng trạng thái luồng kiểu trợ lý “đang nhập…” của Slack yêu cầu đích phản hồi là một luồng. DM cấp cao nhất mặc định vẫn nằm ngoài luồng, vì vậy chúng vẫn có thể phát trực tiếp thông qua bản xem trước đăng bản nháp rồi chỉnh sửa của Slack thay vì hiển thị bản xem trước luồng/trạng thái gốc kiểu luồng.
typingReactionthêm một phản ứng tạm thời vào tin nhắn Slack đến trong khi phản hồi đang chạy, rồi xóa phản ứng đó khi hoàn tất. Sử dụng mã viết tắt emoji Slack như"hourglass_flowing_sand".channels.slack.execApprovals: phân phối máy khách phê duyệt gốc của Slack và ủy quyền người phê duyệt thực thi. Cùng schema với Discord:enabled(true/false/"auto"),approvers(ID người dùng Slack),agentFilter,sessionFiltervàtarget("dm","channel"hoặc"both"). Phê duyệt Plugin có thể sử dụng đường dẫn máy khách gốc này cho các yêu cầu bắt nguồn từ Slack khi phân giải được người phê duyệt Plugin Slack; việc phân phối phê duyệt Plugin gốc của Slack cũng có thể được bật thông quaapprovals.plugincho các phiên bắt nguồn từ Slack hoặc đích Slack. Phê duyệt Plugin sử dụng người phê duyệt Plugin Slack từallowFromvà định tuyến mặc định, không dùng người phê duyệt thực thi.
Mattermost
Mattermost được cài đặt dưới dạng một Plugin riêng biệt, tương tự Discord, Slack và WhatsApp:oncall (phản hồi khi được @-đề cập, mặc định), onmessage (mọi tin nhắn), onchar (tin nhắn bắt đầu bằng tiền tố kích hoạt).
Khi các lệnh gốc của Mattermost được bật:
commands.callbackPathphải là một đường dẫn (ví dụ/api/channels/mattermost/command), không phải URL đầy đủ.commands.callbackUrlphải phân giải đến điểm cuối Gateway OpenClaw và máy chủ Mattermost phải có thể truy cập được.- Các callback lệnh gạch chéo gốc được xác thực bằng token theo từng lệnh do
Mattermost trả về trong quá trình đăng ký lệnh gạch chéo. Nếu đăng ký thất bại hoặc không có
lệnh nào được kích hoạt, OpenClaw từ chối callback với
Unauthorized: invalid command token. - Đối với máy chủ callback riêng/tailnet/nội bộ, Mattermost có thể yêu cầu
ServiceSettings.AllowedUntrustedInternalConnectionsbao gồm máy chủ/tên miền callback. Sử dụng giá trị máy chủ/tên miền, không sử dụng URL đầy đủ. channels.mattermost.configWrites: cho phép hoặc từ chối các thao tác ghi cấu hình do Mattermost khởi tạo.channels.mattermost.requireMention: yêu cầu@mentiontrước khi phản hồi trong các kênh.channels.mattermost.groups.<channelId>.requireMention: ghi đè điều kiện đề cập theo từng kênh ("*"cho mặc định).channels.mattermost.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với ID tài khoản đã cấu hình.
Signal
off, own (mặc định), all, allowlist (từ reactionAllowlist).
channels.signal.account: ghim quá trình khởi động kênh vào một danh tính tài khoản Signal cụ thể.channels.signal.configWrites: cho phép hoặc từ chối các thao tác ghi cấu hình do Signal khởi tạo.channels.signal.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với ID tài khoản đã cấu hình.
iMessage
OpenClaw khởi chạyimsg rpc (JSON-RPC qua stdio). Không yêu cầu daemon hoặc cổng. Đây là đường dẫn được ưu tiên cho các thiết lập OpenClaw iMessage mới khi máy chủ có thể cấp quyền truy cập cơ sở dữ liệu Messages và quyền Automation.
Hỗ trợ BlueBubbles đã bị loại bỏ. channels.bluebubbles không phải là bề mặt cấu hình runtime được hỗ trợ trên OpenClaw hiện tại. Di chuyển cấu hình cũ sang channels.imessage; xem Việc loại bỏ BlueBubbles và đường dẫn imsg iMessage để biết phiên bản ngắn và Chuyển từ BlueBubbles để xem bảng chuyển đổi đầy đủ.
Nếu Gateway không chạy trên máy Mac đã đăng nhập Messages, hãy giữ channels.imessage.enabled=true và đặt channels.imessage.cliPath thành một trình bao bọc SSH chạy imsg "$@" trên máy Mac đó. Đường dẫn imsg cục bộ mặc định chỉ dành cho macOS.
Trước khi dựa vào trình bao bọc SSH để gửi trong môi trường production, hãy xác minh một imsg send gửi đi thông qua chính trình bao bọc đó. Một số trạng thái TCC của macOS gán quyền Tự động hóa Messages cho /usr/libexec/sshd-keygen-wrapper, điều này có thể khiến thao tác đọc và thăm dò hoạt động trong khi thao tác gửi thất bại với AppleEvents -1743; xem phần khắc phục sự cố trình bao bọc SSH tại iMessage.
channels.imessage.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với một id tài khoản đã cấu hình.- Yêu cầu quyền Full Disk Access đối với cơ sở dữ liệu Messages.
- Ưu tiên các đích
chat_id:<id>. Dùngimsg chats --limit 20để liệt kê các cuộc trò chuyện. cliPathcó thể trỏ đến một trình bao bọc SSH; đặtremoteHost(hosthoặcuser@host) để tìm nạp tệp đính kèm qua SCP.attachmentRootsvàremoteAttachmentRootsgiới hạn các đường dẫn tệp đính kèm gửi đến (mặc định:/Users/*/Library/Messages/Attachments).- SCP sử dụng kiểm tra khóa máy chủ nghiêm ngặt, vì vậy hãy bảo đảm khóa của máy chủ chuyển tiếp đã tồn tại trong
~/.ssh/known_hosts. channels.imessage.configWrites: cho phép hoặc từ chối việc ghi cấu hình do iMessage khởi tạo.channels.imessage.sendTransport: phương thức truyền gửi RPCimsgưu tiên cho các phản hồi gửi đi thông thường.auto(mặc định) sử dụng cầu nối IMCore cho các cuộc trò chuyện hiện có khi cầu nối đang chạy, rồi chuyển sang AppleScript nếu không thành công;bridgeyêu cầu phân phối qua API riêng tư;applescriptbuộc sử dụng đường dẫn tự động hóa Messages công khai.channels.imessage.actions.*: bật các hành động API riêng tư cũng được kiểm soát bởiimsg status/openclaw channels status --probe.channels.imessage.includeAttachmentsmặc định bị tắt; đặt thànhtruetrước khi mong đợi phương tiện gửi đến xuất hiện trong các lượt của tác nhân.- Quá trình khôi phục dữ liệu gửi đến sau khi cầu nối/gateway khởi động lại diễn ra tự động (loại trùng lặp GUID cộng với hàng rào tuổi cho backlog cũ). Các cấu hình
channels.imessage.catchup.enabled: truehiện có vẫn được hỗ trợ dưới dạng hồ sơ tương thích không còn được khuyến nghị;catchupmặc định bị tắt. channels.imessage.groups: sổ đăng ký nhóm và các thiết lập cho từng nhóm. VớigroupPolicy: "allowlist", hãy cấu hình các khóachat_idtường minh hoặc một mục ký tự đại diện"*"để tin nhắn nhóm có thể vượt qua cổng sổ đăng ký.- Các mục
bindings[]cấp cao nhất cótype: "acp"có thể liên kết các cuộc trò chuyện iMessage với các phiên ACP bền vững. Dùng một định danh liên hệ đã chuẩn hóa hoặc đích trò chuyện tường minh (chat_id:*,chat_guid:*,chat_identifier:*) trongmatch.peer.id. Ngữ nghĩa trường dùng chung: Tác nhân ACP.
Ví dụ về trình bao bọc SSH cho iMessage
Ví dụ về trình bao bọc SSH cho iMessage
Matrix
Matrix được hỗ trợ bởi Plugin và được cấu hình trongchannels.matrix.
- Xác thực bằng token sử dụng
accessToken; xác thực bằng mật khẩu sử dụnguserId+password. channels.matrix.proxyđịnh tuyến lưu lượng HTTP của Matrix qua một proxy HTTP(S) tường minh. Các tài khoản có tên có thể ghi đè bằngchannels.matrix.accounts.<id>.proxy.channels.matrix.network.dangerouslyAllowPrivateNetworkcho phép các homeserver riêng tư/nội bộ.proxyvà tùy chọn tham gia mạng này là các biện pháp kiểm soát độc lập.channels.matrix.defaultAccountchọn tài khoản ưu tiên trong cấu hình nhiều tài khoản.channels.matrix.autoJoinmặc định là"off", vì vậy các phòng được mời và lời mời mới theo kiểu DM bị bỏ qua cho đến khi bạn đặtautoJoin: "allowlist"bằngautoJoinAllowlisthoặcautoJoin: "always".channels.matrix.execApprovals: phân phối phê duyệt thực thi theo cơ chế gốc của Matrix và ủy quyền người phê duyệt.enabled:true,falsehoặc"auto"(mặc định). Ở chế độ tự động, phê duyệt thực thi được kích hoạt khi có thể phân giải người phê duyệt từapprovershoặccommands.ownerAllowFrom.approvers: các ID người dùng Matrix (ví dụ:@owner:example.org) được phép phê duyệt yêu cầu thực thi.agentFilter: danh sách cho phép ID tác nhân tùy chọn. Bỏ qua để chuyển tiếp phê duyệt cho tất cả tác nhân.sessionFilter: các mẫu khóa phiên tùy chọn (chuỗi con hoặc biểu thức chính quy).target: nơi gửi lời nhắc phê duyệt."dm"(mặc định),"channel"(phòng khởi nguồn) hoặc"both".- Ghi đè theo tài khoản:
channels.matrix.accounts.<id>.execApprovals.
channels.matrix.dm.sessionScopekiểm soát cách các DM của Matrix được nhóm thành phiên:per-user(mặc định) dùng chung theo đối tác được định tuyến, cònper-roomcô lập từng phòng DM.- Các phép thăm dò trạng thái Matrix và tra cứu thư mục trực tiếp sử dụng cùng chính sách proxy như lưu lượng thời gian chạy.
- Cấu hình Matrix đầy đủ, quy tắc nhắm đích và các ví dụ thiết lập được ghi lại trong Matrix.
Microsoft Teams
Microsoft Teams được hỗ trợ bởi Plugin và được cấu hình trongchannels.msteams.
- Các đường dẫn khóa cốt lõi được đề cập tại đây:
channels.msteams,channels.msteams.configWrites. - Cấu hình Teams đầy đủ (thông tin xác thực, webhook, chính sách DM/nhóm, ghi đè theo nhóm/kênh) được ghi lại trong Microsoft Teams.
IRC
IRC được hỗ trợ bởi Plugin và được cấu hình trongchannels.irc.
- Các đường dẫn khóa cốt lõi được đề cập tại đây:
channels.irc,channels.irc.dmPolicy,channels.irc.configWrites,channels.irc.nickserv.*. channels.irc.defaultAccounttùy chọn ghi đè lựa chọn tài khoản mặc định khi khớp với một id tài khoản đã cấu hình.- Cấu hình kênh IRC đầy đủ (máy chủ/cổng/TLS/kênh/danh sách cho phép/kiểm soát đề cập) được ghi lại trong IRC.
Nhiều tài khoản (tất cả các kênh)
Chạy nhiều tài khoản trên mỗi kênh (mỗi tài khoản cóaccountId riêng):
defaultđược sử dụng khiaccountIdbị bỏ qua (CLI + định tuyến).- Token môi trường chỉ áp dụng cho tài khoản mặc định.
- Các thiết lập kênh cơ sở áp dụng cho tất cả tài khoản trừ khi bị ghi đè theo từng tài khoản.
- Dùng
bindings[].match.accountIdđể định tuyến từng tài khoản đến một tác nhân khác nhau. - Nếu bạn thêm một tài khoản không mặc định qua
openclaw channels add(hoặc quy trình tích hợp kênh) trong khi vẫn dùng cấu hình kênh một tài khoản cấp cao nhất, trước tiên OpenClaw đưa các giá trị cấp cao nhất dành cho một tài khoản và có phạm vi tài khoản vào bản đồ tài khoản của kênh để tài khoản ban đầu tiếp tục hoạt động. Hầu hết các kênh chuyển chúng vàochannels.<channel>.accounts.default; thay vào đó, Matrix có thể giữ nguyên một đích có tên/mặc định hiện có và khớp. - Các liên kết chỉ dành cho kênh hiện có (không có
accountId) tiếp tục khớp với tài khoản mặc định; các liên kết có phạm vi tài khoản vẫn là tùy chọn. openclaw doctor --fixcũng sửa chữa các cấu trúc hỗn hợp bằng cách chuyển các giá trị cấp cao nhất dành cho một tài khoản và có phạm vi tài khoản vào tài khoản được nâng cấp đã chọn cho kênh đó. Hầu hết các kênh sử dụngaccounts.default; thay vào đó, Matrix có thể giữ nguyên một đích có tên/mặc định hiện có và khớp.
Các kênh Plugin khác
Nhiều kênh Plugin được cấu hình dưới dạngchannels.<id> và được ghi lại trong các trang kênh riêng (ví dụ: Feishu, LINE, Nextcloud Talk, Nostr, QQ Bot, Synology Chat, Twitch và Zalo).
Xem chỉ mục kênh đầy đủ: Các kênh.
Kiểm soát đề cập trong trò chuyện nhóm
Tin nhắn nhóm mặc định yêu cầu đề cập (đề cập trong siêu dữ liệu hoặc các mẫu biểu thức chính quy an toàn). Áp dụng cho các cuộc trò chuyện nhóm WhatsApp, Telegram, Discord, Google Chat và iMessage. Các phản hồi hiển thị được kiểm soát riêng. Theo mặc định, các yêu cầu trực tiếp thông thường trong nhóm, kênh và WebChat nội bộ được phân phối kết quả cuối tự động: văn bản cuối cùng của trợ lý được đăng qua đường dẫn phản hồi hiển thị cũ. Chọn dùngmessages.visibleReplies: "message_tool" hoặc messages.groupChat.visibleReplies: "message_tool" khi các phản hồi nguồn do mô hình tạo chỉ nên được đăng sau khi tác nhân gọi message(action=send). Nếu mô hình trả về một câu trả lời cuối có nội dung đáng kể mà không gọi công cụ tin nhắn trong chế độ chỉ dùng công cụ đã được chọn, văn bản cuối đó vẫn ở chế độ riêng tư, nhật ký chi tiết của Gateway ghi lại siêu dữ liệu tải trọng bị chặn và OpenClaw đưa vào hàng đợi một lần thử lại khôi phục để yêu cầu mô hình phân phối cùng phản hồi đó qua message(action=send).
Chính sách chỉ dùng công cụ chi phối các phản hồi nguồn của trợ lý và phương tiện công cụ chung. Chính sách này không chặn đầu ra đầu cuối do thời gian chạy sở hữu, chẳng hạn như phản hồi lệnh đã được ủy quyền, thông báo hoàn tất bền vững hoặc tạo phẩm gốc của nhà cung cấp mà bộ kiểm thử sở hữu xác định rõ là do máy chủ sở hữu. Các tạo phẩm do máy chủ sở hữu được phân phối qua đường dẫn điều phối kênh thông thường và vẫn tuân thủ việc từ chối sendPolicy gửi đi. Các lượt room_event xung quanh vẫn im lặng trừ khi chúng là lệnh tường minh, ngay cả khi đầu ra thời gian chạy được đánh dấu là do máy chủ sở hữu.
Phản hồi hiển thị chỉ dùng công cụ yêu cầu một mô hình/thời gian chạy gọi công cụ đáng tin cậy và được khuyến nghị cho các phòng dùng chung xung quanh trên các mô hình thế hệ mới nhất như GPT-5.6 Sol. Một số mô hình yếu hơn có thể trả lời bằng văn bản cuối nhưng không hiểu rằng đầu ra hiển thị tại nguồn phải được gửi bằng message(action=send). Theo mặc định, OpenClaw chỉ khôi phục trường hợp phổ biến khi câu trả lời cuối bị mắc kẹt nếu câu trả lời đó có nội dung đáng kể, lượt nguồn không phải là sự kiện phòng, chính sách gửi không từ chối phân phối và chưa có phản hồi nguồn nào được gửi. Quá trình khôi phục được giới hạn ở một lần thử lại; nó ngăn việc lưu lời nhắc thử lại tổng hợp và giữ lần thử lại đó ngoài quá trình gom lô để không thể hợp nhất với các lời nhắc không liên quan đang xếp hàng. Nếu lần thử lại cũng bị mắc kẹt hoặc không thể đưa vào hàng đợi, OpenClaw chỉ phân phối một thông báo chẩn đoán đã được làm sạch, chẳng hạn như “Tôi đã tạo phản hồi nhưng không thể gửi phản hồi đó đến cuộc trò chuyện này. Vui lòng thử lại.” Văn bản cuối riêng tư ban đầu không bao giờ được đánh dấu để tự động phân phối đến nguồn. Đối với các mô hình liên tục làm mắc kẹt phản hồi, hãy dùng "automatic" để lượt trợ lý cuối cùng trở thành đường dẫn phản hồi hiển thị, chuyển sang một mô hình gọi công cụ mạnh hơn, kiểm tra nhật ký chi tiết của Gateway để xem bản tóm tắt tải trọng bị chặn hoặc đặt messages.groupChat.visibleReplies: "automatic" để sử dụng phản hồi cuối hiển thị cho mọi yêu cầu nhóm/kênh.
Nếu công cụ tin nhắn không khả dụng theo chính sách công cụ đang hoạt động, OpenClaw sẽ chuyển sang các phản hồi hiển thị tự động thay vì âm thầm chặn phản hồi. openclaw doctor cảnh báo về sự không khớp này.
Quy tắc này áp dụng cho văn bản cuối thông thường của tác nhân. Các liên kết hội thoại do Plugin sở hữu sử dụng phản hồi do Plugin sở hữu trả về làm phản hồi hiển thị cho các lượt trong luồng đã liên kết mà Plugin xác nhận xử lý; Plugin không cần gọi message(action=send) cho các phản hồi liên kết đó.
Khắc phục sự cố: @mention trong nhóm kích hoạt trạng thái đang nhập rồi im lặng (không có lỗi)
Triệu chứng: một @mention trong nhóm/kênh hiển thị chỉ báo đang nhập và nhật ký Gateway báo dispatch complete (queuedFinal=false, replies=0), nhưng không có tin nhắn nào xuất hiện trong phòng. Tin nhắn trực tiếp gửi đến cùng tác nhân vẫn được phản hồi bình thường.
Nguyên nhân: chế độ phản hồi hiển thị của nhóm/kênh được phân giải thành "message_tool", vì vậy OpenClaw chạy lượt nhưng chặn văn bản cuối của trợ lý trừ khi tác nhân gọi message(action=send). Không có hợp đồng NO_REPLY trong chế độ này; không gọi công cụ tin nhắn đồng nghĩa với việc văn bản cuối ban đầu là riêng tư. Đối với các lượt nguồn có nội dung thực chất, OpenClaw hiện thử lại một lần để khôi phục có bảo vệ; ghi chú ngắn, yêu cầu im lặng rõ ràng, sự kiện phòng, lượt bị chính sách gửi từ chối và lượt đã được gửi sẽ không được thử lại. Các lượt nhóm và kênh thông thường mặc định là "automatic", vì vậy triệu chứng này chỉ xuất hiện khi messages.groupChat.visibleReplies (hoặc messages.visibleReplies toàn cục) được đặt rõ ràng thành "message_tool". defaultVisibleReplies của harness không áp dụng ở đây — bộ phân giải nhóm/kênh bỏ qua tùy chọn này; nó chỉ ảnh hưởng đến các cuộc trò chuyện trực tiếp/nguồn (harness Codex chặn phần kết của cuộc trò chuyện trực tiếp theo cách đó).
Cách khắc phục: chọn một mô hình gọi công cụ mạnh hơn, xóa ghi đè "message_tool" rõ ràng để quay về mặc định "automatic", hoặc đặt messages.groupChat.visibleReplies: "automatic" để buộc hiển thị phản hồi cho mọi yêu cầu nhóm/kênh. Một văn bản cuối có nội dung thực chất bị mắc kẹt sẽ không còn kết thúc dưới dạng thành công trong im lặng; nó phải khôi phục qua một lần thử lại message(action=send) hoặc hiển thị thông báo chẩn đoán lỗi gửi đã được làm sạch. Gateway tự động tải lại nóng cấu hình messages sau khi tệp được lưu; chỉ khởi động lại Gateway khi tính năng theo dõi tệp hoặc tải lại cấu hình bị vô hiệu hóa trong môi trường triển khai.
Các loại lượt đề cập:
- Lượt đề cập trong siêu dữ liệu: @-mention gốc của nền tảng. Bị bỏ qua trong chế độ tự trò chuyện của WhatsApp.
- Mẫu văn bản: Các mẫu biểu thức chính quy an toàn trong
agents.list[].groupChat.mentionPatterns. Các mẫu không hợp lệ và phép lặp lồng nhau không an toàn sẽ bị bỏ qua. - Cổng kiểm soát lượt đề cập chỉ được thực thi khi có thể phát hiện (lượt đề cập gốc hoặc ít nhất một mẫu).
messages.groupChat.historyLimit đặt giá trị mặc định toàn cục. Các kênh có thể ghi đè bằng channels.<channel>.historyLimit (hoặc theo từng tài khoản). Đặt 0 để vô hiệu hóa.
messages.groupChat.unmentionedInbound: "room_event" gửi các tin nhắn nhóm/kênh luôn bật nhưng không có lượt đề cập dưới dạng ngữ cảnh phòng yên lặng trên các kênh được hỗ trợ. Tin nhắn có lượt đề cập, lệnh và tin nhắn trực tiếp vẫn là yêu cầu của người dùng. Xem Sự kiện phòng nền để biết các ví dụ đầy đủ về Discord, Slack và Telegram.
messages.visibleReplies là giá trị mặc định toàn cục cho sự kiện nguồn; messages.groupChat.visibleReplies ghi đè giá trị này cho sự kiện nguồn của nhóm/kênh. Khi messages.visibleReplies chưa được đặt, các cuộc trò chuyện trực tiếp/nguồn sử dụng giá trị mặc định của runtime hoặc harness đã chọn, nhưng các lượt trực tiếp nội bộ của WebChat sử dụng tính năng gửi văn bản cuối tự động để bảo đảm tính tương đồng về prompt giữa Pi/Codex. Đặt messages.visibleReplies: "message_tool" để chủ ý yêu cầu message(action=send) cho đầu ra hiển thị. Danh sách cho phép của kênh và cổng kiểm soát lượt đề cập vẫn quyết định một sự kiện có được xử lý hay không.
Giới hạn lịch sử tin nhắn trực tiếp
channels.<provider>.dmHistoryLimit và channels.<provider>.dms.<id>.historyLimit cho mọi kênh có khóa phiên tuân theo dạng provider:direct:<id> tiêu chuẩn (hoặc provider:dm:<id> cũ), vì vậy nó hoạt động trên cả các kênh đi kèm lẫn kênh Plugin, không chỉ một danh sách cố định.
Chế độ tự trò chuyện
Thêm số của chính bạn vàoallowFrom để bật chế độ tự trò chuyện (bỏ qua @-mention gốc, chỉ phản hồi các mẫu văn bản):
Lệnh (xử lý lệnh trò chuyện)
Chi tiết lệnh
Chi tiết lệnh
- Khối này cấu hình các bề mặt lệnh. Để xem danh mục lệnh tích hợp sẵn và đi kèm hiện tại, hãy xem Lệnh dấu gạch chéo.
- Trang này là tài liệu tham chiếu khóa cấu hình, không phải toàn bộ danh mục lệnh. Các lệnh do kênh/Plugin sở hữu như QQ Bot
/bot-ping/bot-help/bot-logs, LINE/card, ghép nối thiết bị/pair, bộ nhớ/dreaming, điều khiển điện thoại/phonevà Talk/voiceđược ghi lại trên các trang kênh/Plugin tương ứng cùng với Lệnh dấu gạch chéo. - Các lệnh văn bản phải là tin nhắn độc lập với
/đứng đầu. native: "auto"bật các lệnh gốc cho Discord/Telegram và giữ chúng tắt trên Slack.nativeSkills: "auto"bật các lệnh Skills gốc cho Discord/Telegram và giữ chúng tắt trên Slack.- Ghi đè theo từng kênh:
channels.discord.commands.native(giá trị boolean hoặc"auto"). Đối với Discord,falsebỏ qua việc đăng ký và dọn dẹp lệnh gốc trong quá trình khởi động. - Ghi đè việc đăng ký Skills gốc theo từng kênh bằng
channels.<provider>.commands.nativeSkills. channels.telegram.customCommandsthêm các mục bổ sung vào menu bot Telegram.bash: truebật! <cmd>cho shell của máy chủ. Yêu cầutools.elevated.enabledvà người gửi phải nằm trongtools.elevated.allowFrom.<channel>.config: truebật/config(đọc/ghiopenclaw.json). Đối với các máy kháchchat.sendcủa Gateway, các thao tác ghi/config set|unsetđược duy trì lâu dài cũng yêu cầuoperator.admin;/config showchỉ đọc vẫn khả dụng cho các máy khách vận hành thông thường có phạm vi ghi.mcp: truebật/mcpcho cấu hình máy chủ MCP do OpenClaw quản lý trongmcp.servers.plugins: truebật/pluginscho các chức năng khám phá, cài đặt và bật/tắt Plugin.channels.<provider>.configWriteskiểm soát các thay đổi cấu hình theo từng kênh (mặc định: true).- Đối với các kênh nhiều tài khoản,
channels.<provider>.accounts.<id>.configWritescũng kiểm soát các thao tác ghi nhắm đến tài khoản đó (ví dụ:/allowlist --config --account <id>hoặc/config set channels.<provider>.accounts.<id>...). restart: falsevô hiệu hóa/restartvà các yêu cầu khởi động lạiSIGUSR1bên ngoài. Mặc định:true.ownerAllowFromlà danh sách chủ sở hữu được phép rõ ràng dành cho các lệnh chỉ dành cho chủ sở hữu và các thao tác kênh được kiểm soát theo chủ sở hữu. Danh sách này tách biệt vớiallowFrom.ownerDisplay: "hash"băm mã định danh chủ sở hữu trong prompt hệ thống. ĐặtownerDisplaySecretđể kiểm soát việc băm.allowFromáp dụng theo từng nhà cung cấp. Khi được đặt, đây là nguồn ủy quyền duy nhất (danh sách cho phép/ghép nối của kênh vàuseAccessGroupsbị bỏ qua).useAccessGroups: falsecho phép các lệnh bỏ qua chính sách nhóm truy cập khiallowFromchưa được đặt.- Bản đồ tài liệu lệnh:
Liên quan
- Tài liệu tham chiếu cấu hình — các khóa cấp cao nhất
- Cấu hình — tác nhân
- Tổng quan về kênh