openclaw channels
Quản lý các tài khoản kênh trò chuyện và trạng thái thời gian chạy của chúng trên Gateway.
Tài liệu liên quan:
Các lệnh thường dùng
channels list chỉ hiển thị các kênh trò chuyện: theo mặc định là các tài khoản đã cấu hình, với các thẻ trạng thái installed, configured và enabled cho mỗi tài khoản (--json dành cho đầu ra máy đọc). Truyền --all để hiển thị thêm các kênh đi kèm chưa có tài khoản nào được cấu hình và các kênh trong danh mục có thể cài đặt nhưng chưa có trên ổ đĩa. Việc xác thực nhà cung cấp và sử dụng mô hình được quản lý ở nơi khác: openclaw models auth list dành cho hồ sơ xác thực nhà cung cấp, openclaw status hoặc openclaw models list dành cho mức sử dụng/hạn ngạch.
Trạng thái / khả năng / phân giải / nhật ký
channels status:--channel <name>,--probe,--timeout <ms>(mặc định10000),--jsonchannels capabilities:--channel <name>,--account <id>(yêu cầu--channel),--target <dest>(yêu cầu--channel),--timeout <ms>(mặc định10000, giới hạn tối đa ở30000),--jsonchannels resolve <entries...>:--channel <name>,--account <id>,--kind <auto|user|group>(mặc địnhauto),--jsonchannels logs:--channel <name|all>(mặc địnhall),--lines <n>(mặc định200),--json
channels status --probe là đường dẫn trực tiếp: trên một gateway có thể truy cập, nó chạy các bước kiểm tra
probeAccount theo từng tài khoản và auditAccount tùy chọn, vì vậy đầu ra có thể bao gồm trạng thái
vận chuyển cùng các kết quả thăm dò như works, probe failed, audit ok hoặc audit failed.
Nếu không thể truy cập gateway, channels status chuyển sang các bản tóm tắt chỉ dựa trên cấu hình
thay vì đầu ra thăm dò trực tiếp.
Thư chết đến
Các sự kiện đến đã sử dụng hết chính sách thử lại vẫn được lưu trong cơ sở dữ liệu trạng thái dùng chung trong khoảng thời gian lưu giữ mục lỗi hiện có của hàng đợi. Kiểm tra một tài khoản kênh bằng:openclaw health báo cáo số lượng thư chết và tuổi của lỗi cũ nhất theo từng tài khoản kênh. openclaw doctor nêu tên các tài khoản bị ảnh hưởng và trỏ về lệnh kiểm tra.
Không sử dụng openclaw sessions, Gateway sessions.list hoặc công cụ
sessions_list của tác nhân làm tín hiệu về tình trạng socket của kênh. Các bề mặt đó báo cáo
các hàng hội thoại đã lưu, không phải trạng thái thời gian chạy của nhà cung cấp. Sau khi nhà cung cấp Discord
khởi động lại, một tài khoản đã kết nối nhưng không có hoạt động vẫn có thể bình thường dù chưa có hàng phiên Discord nào
xuất hiện cho đến sự kiện hội thoại đến hoặc đi tiếp theo.
Thêm / xóa tài khoản
channels remove chỉ hoạt động trên các plugin kênh đã cài đặt/cấu hình. Trước tiên, hãy dùng channels add cho các kênh trong danh mục có thể cài đặt. Nếu không có --delete, lệnh sẽ hỏi để vô hiệu hóa tài khoản và giữ lại cấu hình; --delete xóa các mục cấu hình mà không nhắc xác nhận.
Đối với các plugin kênh dựa trên thời gian chạy, channels remove cũng yêu cầu Gateway đang chạy dừng tài khoản được chọn trước khi cập nhật cấu hình, để việc vô hiệu hóa hoặc xóa tài khoản không khiến trình lắng nghe cũ tiếp tục hoạt động cho đến lần khởi động lại.
Các cờ thêm không tương tác dùng chung giữa các kênh: --account <id>, --name <name>, --token, --token-file, --bot-token, --app-token, --secret, --secret-file, --password, --cli-path, --url, --base-url, --http-url, --auth-dir và --use-env (xác thực dựa trên biến môi trường, chỉ dành cho tài khoản mặc định, ở nơi được hỗ trợ). Các cờ dành riêng cho từng kênh gồm:
Nếu cần cài đặt plugin kênh trong một lệnh thêm dựa trên cờ, OpenClaw sử dụng nguồn cài đặt mặc định của kênh mà không mở lời nhắc cài đặt plugin tương tác.
Khi chạy
openclaw channels add mà không có cờ, trình hướng dẫn tương tác có thể yêu cầu:
- ID tài khoản cho từng kênh đã chọn
- tên hiển thị tùy chọn cho các tài khoản đó
Route these channel accounts to agents now?
openclaw agents bindings, openclaw agents bind và openclaw agents unbind (xem tác nhân).
Khi bạn thêm một tài khoản không mặc định vào kênh vẫn đang sử dụng thiết lập cấp cao nhất cho một tài khoản, OpenClaw sẽ chuyển các giá trị cấp cao nhất đó vào bản đồ tài khoản của kênh trước khi ghi tài khoản mới. Quá trình chuyển đổi sử dụng lại một tài khoản đã đặt tên hiện có khi kênh có đúng một tài khoản hoặc khi defaultAccount trỏ đến một tài khoản; nếu không, các giá trị sẽ được đưa vào channels.<channel>.accounts.default.
Hành vi định tuyến vẫn nhất quán:
- Các liên kết hiện có chỉ dành cho kênh (không có
accountId) tiếp tục khớp với tài khoản mặc định. channels addkhông tự động tạo hoặc ghi lại các liên kết ở chế độ không tương tác.- Thiết lập tương tác có thể tùy chọn thêm các liên kết theo phạm vi tài khoản.
openclaw doctor --fix để chuyển các giá trị theo phạm vi tài khoản vào tài khoản được chọn để chuyển đổi cho kênh đó.
Đăng nhập và đăng xuất (tương tác)
channels loginhỗ trợ--account <id>và--verbose;channels logouthỗ trợ--account <id>.channels loginvàlogoutcó thể suy ra kênh khi chỉ có một kênh đã cấu hình hỗ trợ hành động đó; nếu có nhiều kênh, hãy truyền--channel.channels logoutưu tiên đường dẫn Gateway trực tiếp khi có thể truy cập, vì vậy thao tác đăng xuất sẽ dừng mọi trình lắng nghe đang hoạt động trước khi xóa trạng thái xác thực kênh. Nếu không thể truy cập Gateway cục bộ, lệnh sẽ chuyển sang dọn dẹp xác thực cục bộ; vớigateway.mode: "remote", lỗi gateway sẽ khiến lệnh thất bại.- Sau khi đăng nhập thành công, CLI yêu cầu Gateway cục bộ có thể truy cập khởi động tài khoản; ở chế độ từ xa, CLI lưu xác thực cục bộ và thông báo rằng thời gian chạy từ xa chưa được khởi động lại.
- Chạy
channels logintừ một thiết bị đầu cuối trên máy chủ gateway. Tác nhânexecchặn luồng đăng nhập tương tác này; khi có, nên sử dụng các công cụ đăng nhập tác nhân gốc của kênh, chẳng hạn nhưwhatsapp_login, từ cuộc trò chuyện.
Khắc phục sự cố
- Chạy
openclaw status --deepđể thực hiện thăm dò tổng quát. - Sử dụng
openclaw doctorđể được hướng dẫn khắc phục. openclaw channels statuschuyển sang các bản tóm tắt chỉ dựa trên cấu hình khi không thể truy cập gateway. Nếu thông tin xác thực của một kênh được hỗ trợ được cấu hình qua SecretRef nhưng không khả dụng trong đường dẫn lệnh hiện tại, lệnh sẽ báo cáo tài khoản đó là đã cấu hình kèm ghi chú suy giảm thay vì hiển thị là chưa cấu hình.
Thăm dò khả năng
Tìm nạp các gợi ý về khả năng của nhà cung cấp (ý định/phạm vi khi có) cùng với hỗ trợ tính năng tĩnh:--channellà tùy chọn; bỏ qua để liệt kê mọi kênh (bao gồm cả các kênh do plugin cung cấp).--accountchỉ hợp lệ khi dùng với--channel.--targetchấp nhậnchannel:<id>hoặc ID kênh dạng số thô và chỉ áp dụng cho Discord. Đối với các kênh thoại Discord, bước kiểm tra quyền sẽ đánh dấu các quyền còn thiếu gồmViewChannel,Connect,Speak,SendMessagesvàReadMessageHistory.- Các bước thăm dò phụ thuộc vào từng nhà cung cấp: danh tính bot Discord + ý định cùng quyền kênh tùy chọn; phạm vi bot + người dùng Slack; cờ bot Telegram + webhook; phiên bản daemon Signal; token ứng dụng Microsoft Teams + vai trò/phạm vi Graph (được chú thích khi biết). Các kênh không có bước thăm dò sẽ báo cáo
Probe: unavailable.
Phân giải tên thành ID
Phân giải tên kênh/người dùng thành ID bằng thư mục của nhà cung cấp:- Sử dụng
--kind user|group|autođể buộc loại đích. - Quá trình phân giải ưu tiên các kết quả khớp đang hoạt động khi nhiều mục có cùng tên.
channels resolvechỉ đọc. Nếu một tài khoản được chọn được cấu hình qua SecretRef nhưng thông tin xác thực đó không khả dụng trong đường dẫn lệnh hiện tại, lệnh sẽ trả về các kết quả chưa phân giải ở trạng thái suy giảm kèm ghi chú thay vì hủy toàn bộ lượt chạy.channels resolvekhông cài đặt plugin kênh. Sử dụngchannels add --channel <name>trước khi phân giải tên cho một kênh trong danh mục có thể cài đặt.