Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Kênh và định tuyến
OpenClaw định tuyến câu trả lời trở lại kênh nơi tin nhắn bắt nguồn. Mô hình không chọn kênh; việc định tuyến có tính xác định và được kiểm soát bởi cấu hình máy chủ.Thuật ngữ chính
- Kênh:
telegram,whatsapp,discord,irc,googlechat,slack,signal,imessage,line, cùng các kênh Plugin.webchatlà kênh giao diện WebChat nội bộ và không phải là kênh gửi đi có thể cấu hình. - AccountId: phiên bản tài khoản theo từng kênh (khi được hỗ trợ).
- Tài khoản mặc định tùy chọn của kênh:
channels.<channel>.defaultAccountchọn tài khoản được dùng khi một đường dẫn gửi đi không chỉ địnhaccountId.- Trong thiết lập nhiều tài khoản, hãy đặt mặc định tường minh (
defaultAccounthoặcaccounts.default) khi cấu hình từ hai tài khoản trở lên. Nếu không, định tuyến dự phòng có thể chọn ID tài khoản đã chuẩn hóa đầu tiên.
- Trong thiết lập nhiều tài khoản, hãy đặt mặc định tường minh (
- AgentId: một workspace + kho phiên tách biệt (“bộ não”).
- SessionKey: khóa nhóm được dùng để lưu ngữ cảnh và kiểm soát đồng thời.
Dạng khóa phiên (ví dụ)
Theo mặc định, tin nhắn trực tiếp được gộp vào phiên main của agent:agent:<agentId>:<mainKey>(mặc định:agent:main:main)
- Nhóm:
agent:<agentId>:<channel>:group:<id> - Kênh/phòng:
agent:<agentId>:<channel>:channel:<id>
- Luồng Slack/Discord thêm
:thread:<threadId>vào khóa cơ sở. - Chủ đề diễn đàn Telegram nhúng
:topic:<topicId>trong khóa nhóm.
agent:main:telegram:group:-1001234567890:topic:42agent:main:discord:channel:123456:thread:987654
Ghim tuyến DM main
Khisession.dmScope là main, tin nhắn trực tiếp có thể chia sẻ một phiên main. Để ngăn lastRoute của phiên bị DM không phải chủ sở hữu ghi đè, OpenClaw suy ra một chủ sở hữu được ghim từ allowFrom khi tất cả điều kiện sau đúng:
allowFromcó đúng một mục không phải ký tự đại diện.- Mục đó có thể được chuẩn hóa thành ID người gửi cụ thể cho kênh đó.
- Người gửi DM đến không khớp với chủ sở hữu được ghim đó.
lastRoute của phiên main.
Ghi nhận đầu vào có bảo vệ
Plugin kênh có thể đánh dấu một bản ghi phiên đến làcreateIfMissing: false khi một đường dẫn có bảo vệ không được tạo phiên OpenClaw mới. Ở chế độ đó, OpenClaw có thể cập nhật siêu dữ liệu và lastRoute cho phiên hiện có, nhưng không tạo mục phiên chỉ có tuyến chỉ vì đã quan sát thấy một tin nhắn.
Quy tắc định tuyến (cách chọn agent)
Định tuyến chọn một agent cho mỗi tin nhắn đến:- Khớp peer chính xác (
bindingsvớipeer.kind+peer.id). - Khớp peer cha (kế thừa luồng).
- Khớp guild + vai trò (Discord) qua
guildId+roles. - Khớp guild (Discord) qua
guildId. - Khớp nhóm (Slack) qua
teamId. - Khớp tài khoản (
accountIdtrên kênh). - Khớp kênh (bất kỳ tài khoản nào trên kênh đó,
accountId: "*"). - Agent mặc định (
agents.list[].default, nếu không thì mục đầu tiên trong danh sách, dự phòng vềmain).
peer, guildId, teamId, roles), tất cả các trường được cung cấp phải khớp để binding đó được áp dụng.
Agent khớp sẽ xác định workspace và kho phiên được sử dụng.
Nhóm phát rộng (chạy nhiều agent)
Nhóm phát rộng cho phép bạn chạy nhiều agent cho cùng một peer khi OpenClaw thường sẽ trả lời (ví dụ: trong nhóm WhatsApp, sau cổng nhắc đến/kích hoạt). Cấu hình:Tổng quan cấu hình
agents.list: định nghĩa agent được đặt tên (workspace, mô hình, v.v.).bindings: ánh xạ các kênh/tài khoản/peer đến vào agent.
Lưu trữ phiên
Kho phiên nằm trong thư mục trạng thái (mặc định~/.openclaw):
~/.openclaw/agents/<agentId>/sessions/sessions.json- Transcript JSONL nằm cạnh kho
session.store và mẫu {agentId}.
Việc khám phá phiên của Gateway và ACP cũng quét các kho agent dựa trên đĩa dưới gốc agents/ mặc định và dưới các gốc session.store theo mẫu. Các kho được khám phá phải nằm bên trong gốc agent đã phân giải đó và dùng tệp sessions.json thông thường. Symlink và đường dẫn ngoài gốc bị bỏ qua.
Hành vi WebChat
WebChat gắn với agent đã chọn và mặc định dùng phiên main của agent. Vì vậy, WebChat cho phép bạn xem ngữ cảnh xuyên kênh cho agent đó ở một nơi.Ngữ cảnh trả lời
Câu trả lời đến bao gồm:ReplyToId,ReplyToBody, vàReplyToSenderkhi có sẵn.- Ngữ cảnh được trích dẫn được thêm vào
Bodydưới dạng khối[Replying to ...].