#room) và tin nhắn trực tiếp.
IRC được cung cấp dưới dạng Plugin tích hợp, nhưng được cấu hình trong cấu hình chính bên dưới channels.irc.
Bắt đầu nhanh
- Bật cấu hình IRC trong
~/.openclaw/openclaw.json. - Thiết lập ít nhất:
- Khởi động/khởi động lại Gateway:
Mặc định bảo mật
- IRC dùng socket TCP/TLS thô bên ngoài định tuyến forward proxy do operator của OpenClaw quản lý. Trong các triển khai yêu cầu toàn bộ lưu lượng đi ra đi qua forward proxy đó, đặt
channels.irc.enabled=falsetrừ khi lưu lượng IRC trực tiếp được phê duyệt rõ ràng. channels.irc.dmPolicymặc định là"pairing".channels.irc.groupPolicymặc định là"allowlist".- Với
groupPolicy="allowlist", đặtchannels.irc.groupsđể định nghĩa các kênh được phép. - Dùng TLS (
channels.irc.tls=true) trừ khi bạn chủ ý chấp nhận truyền tải văn bản thuần.
Kiểm soát truy cập
Có hai “cổng” riêng biệt cho kênh IRC:- Truy cập kênh (
groupPolicy+groups): bot có chấp nhận tin nhắn từ một kênh hay không. - Truy cập người gửi (
groupAllowFrom/groups["#channel"].allowFromtheo từng kênh): ai được phép kích hoạt bot bên trong kênh đó.
- Allowlist DM (quyền truy cập người gửi DM):
channels.irc.allowFrom - Allowlist người gửi nhóm (quyền truy cập người gửi kênh):
channels.irc.groupAllowFrom - Điều khiển theo từng kênh (quy tắc kênh + người gửi + nhắc tên):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"cho phép các kênh chưa cấu hình (mặc định vẫn bị chặn bởi yêu cầu nhắc tên)
nick!user@host).
Khớp nick trần có thể thay đổi và chỉ được bật khi channels.irc.dangerouslyAllowNameMatching: true.
Lỗi thường gặp: allowFrom dành cho DM, không phải kênh
Nếu bạn thấy log như:
irc: drop group sender alice!ident@host (policy=allowlist)
- đặt
channels.irc.groupAllowFrom(toàn cục cho tất cả kênh), hoặc - đặt allowlist người gửi theo từng kênh:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev nói chuyện với bot):
Kích hoạt trả lời (nhắc tên)
Ngay cả khi một kênh được phép (quagroupPolicy + groups) và người gửi được phép, OpenClaw mặc định dùng cổng nhắc tên trong ngữ cảnh nhóm.
Điều đó nghĩa là bạn có thể thấy log như drop channel … (missing-mention) trừ khi tin nhắn chứa mẫu nhắc tên khớp với bot.
Để bot trả lời trong một kênh IRC mà không cần nhắc tên, hãy tắt cổng nhắc tên cho kênh đó:
Ghi chú bảo mật (khuyến nghị cho kênh công khai)
Nếu bạn cho phépallowFrom: ["*"] trong một kênh công khai, bất kỳ ai cũng có thể prompt bot.
Để giảm rủi ro, hãy hạn chế công cụ cho kênh đó.
Cùng công cụ cho mọi người trong kênh
Công cụ khác nhau theo từng người gửi (owner có nhiều quyền hơn)
DùngtoolsBySender để áp dụng chính sách nghiêm ngặt hơn cho "*" và chính sách nới lỏng hơn cho nick của bạn:
- Khóa
toolsBySendernên dùngid:cho giá trị danh tính người gửi IRC:id:eigenhoặcid:eigen!~eigen@174.127.248.171để khớp chặt hơn. - Các khóa cũ không có tiền tố vẫn được chấp nhận và chỉ được khớp dưới dạng
id:. - Chính sách người gửi khớp đầu tiên sẽ thắng;
"*"là phương án dự phòng ký tự đại diện.
NickServ
Để định danh với NickServ sau khi kết nối:register sau khi nick đã được đăng ký để tránh các lần thử REGISTER lặp lại.
Biến môi trường
Tài khoản mặc định hỗ trợ:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(phân tách bằng dấu phẩy)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST từ .env của workspace; xem Tệp .env của workspace.
Khắc phục sự cố
- Nếu bot kết nối nhưng không bao giờ trả lời trong kênh, hãy xác minh
channels.irc.groupsvà xem cổng nhắc tên có đang loại bỏ tin nhắn không (missing-mention). Nếu bạn muốn bot trả lời mà không cần ping, đặtrequireMention:falsecho kênh. - Nếu đăng nhập thất bại, hãy xác minh nick còn khả dụng và mật khẩu máy chủ.
- Nếu TLS thất bại trên một mạng tùy chỉnh, hãy xác minh host/port và thiết lập chứng chỉ.
Liên quan
- Tổng quan về kênh — tất cả kênh được hỗ trợ
- Ghép cặp — xác thực DM và luồng ghép cặp
- Nhóm — hành vi chat nhóm và cổng nhắc tên
- Định tuyến kênh — định tuyến phiên cho tin nhắn
- Bảo mật — mô hình truy cập và gia cố bảo mật