Cài đặt
Cài đặt LINE trước khi cấu hình kênh:Thiết lập
- Tạo tài khoản LINE Developers và mở Console: https://developers.line.biz/console/
- Tạo (hoặc chọn) một Provider và thêm kênh Messaging API.
- Sao chép Channel access token và Channel secret từ phần cài đặt kênh.
- Bật Use webhook trong phần cài đặt Messaging API.
- Đặt URL webhook thành điểm cuối Gateway của bạn (bắt buộc dùng HTTPS):
200;
quá trình xử lý của tác nhân tiếp tục bất đồng bộ. Hoạt động phân phối không thành công được thử lại từ
hàng đợi, kể cả sau khi Gateway khởi động lại, và các sự kiện độc hại trở thành bản ghi hàng đợi
thất bại sau số lần thử lại hữu hạn. Nếu lưu trữ bền vững thất bại, yêu cầu trả về
500 thay vì xác nhận một sự kiện có thể bị mất.
Việc phân phối được thực hiện ít nhất một lần qua ranh giới từ hàng đợi đến tác nhân: Gateway tắt hoặc
gặp sự cố trong khi đang phân phối có thể phát lại lượt tương tác. Các sự kiện tin nhắn được loại bỏ trùng lặp theo
ID tin nhắn LINE; các loại sự kiện khác sử dụng webhookEventId. Các bản ghi hoàn tất được giữ lại
ngăn chặn webhook trùng lặp thông thường, nhưng các trình xử lý thực hiện tác dụng phụ bên ngoài
vẫn phải có tính lũy đẳng.
Nếu cần đường dẫn tùy chỉnh, hãy đặt channels.line.webhookPath hoặc
channels.line.accounts.<id>.webhookPath và cập nhật URL tương ứng.
Lưu ý bảo mật:
- Việc xác minh chữ ký LINE phụ thuộc vào phần thân (HMAC trên phần thân thô), vì vậy OpenClaw áp dụng giới hạn nghiêm ngặt 64 KB cho phần thân trước khi xác thực và thời gian chờ đọc trước khi xác minh.
- OpenClaw xử lý các sự kiện webhook từ các byte yêu cầu thô đã được xác minh. Các giá trị
req.bodyđã bị phần mềm trung gian phía trước biến đổi sẽ bị bỏ qua để bảo đảm tính toàn vẹn của chữ ký.
Cấu hình
Cấu hình tối thiểu:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile và secretFile phải trỏ đến các tệp thông thường. Liên kết tượng trưng sẽ bị từ chối.
Giá trị cấu hình nội tuyến được ưu tiên hơn tệp; biến môi trường là phương án dự phòng cuối cùng cho tài khoản mặc định.
Nhiều tài khoản:
Kiểm soát truy cập
Tin nhắn trực tiếp mặc định sử dụng ghép đôi. Người gửi không xác định nhận được mã ghép đôi và tin nhắn của họ bị bỏ qua cho đến khi được phê duyệt:channels.line.dmPolicy:pairing | allowlist | open | disabled(mặc địnhpairing)channels.line.allowFrom: các ID người dùng LINE trong danh sách cho phép dành cho tin nhắn trực tiếp;dmPolicy: "open"yêu cầu["*"]channels.line.groupPolicy:allowlist | open | disabled(mặc địnhallowlist)channels.line.groupAllowFrom: các ID người dùng LINE trong danh sách cho phép dành cho nhóm; các mụcallowFromcủa tin nhắn trực tiếp không cho phép người gửi trong nhóm- Ghi đè theo từng nhóm:
channels.line.groups.<groupId>.allowFrom(cùng vớienabled,requireMention,systemPrompt,skills). VớigroupPolicy: "allowlist", hãy đặtgroupAllowFromhoặcallowFromtheo từng nhóm; danh sách cho phép nhóm trống sẽ chặn tin nhắn nhóm ngay cả khi tin nhắn trực tiếp đang mở. - Các nhóm truy cập người gửi tĩnh có thể được tham chiếu từ
allowFrom,groupAllowFromvàallowFromtheo từng nhóm bằngaccessGroup:<name>; xem Nhóm truy cập. - Lưu ý khi chạy: nếu hoàn toàn thiếu
channels.line, môi trường chạy sẽ dùnggroupPolicy="allowlist"làm phương án dự phòng để kiểm tra nhóm (ngay cả khi đã đặtchannels.defaults.groupPolicy).
- Người dùng:
U+ 32 ký tự thập lục phân - Nhóm:
C+ 32 ký tự thập lục phân - Phòng:
R+ 32 ký tự thập lục phân
Hành vi tin nhắn
- Văn bản được chia thành các đoạn dài 5000 ký tự.
- Định dạng Markdown bị loại bỏ; khối mã và bảng được chuyển đổi thành thẻ Flex khi có thể.
- Phản hồi truyền trực tuyến được lưu vào bộ đệm; LINE nhận các đoạn hoàn chỉnh kèm hiệu ứng tải trong khi tác nhân làm việc.
- Lượt tải phương tiện xuống bị giới hạn bởi
channels.line.mediaMaxMb(mặc định 10). - Phương tiện gửi đến được lưu trong
~/.openclaw/media/inbound/trước khi được chuyển cho tác nhân, tương ứng với kho phương tiện dùng chung mà các Plugin kênh khác sử dụng.
Dữ liệu kênh (tin nhắn đa dạng thức)
Sử dụngchannelData.line để gửi câu trả lời nhanh, vị trí, thẻ Flex hoặc tin nhắn
mẫu.
/card cho các thiết lập sẵn của tin nhắn Flex:
Hỗ trợ ACP
LINE hỗ trợ liên kết cuộc trò chuyện ACP (Agent Communication Protocol):/acp spawn <agent> --bind hereliên kết cuộc trò chuyện LINE hiện tại với một phiên ACP mà không tạo luồng con.- Các liên kết ACP đã cấu hình và phiên ACP đang hoạt động được liên kết với cuộc trò chuyện hoạt động trên LINE giống như trên các kênh trò chuyện khác.
Phương tiện gửi đi
Plugin LINE gửi hình ảnh, video và âm thanh thông qua công cụ tin nhắn của tác nhân:- Hình ảnh: được gửi dưới dạng tin nhắn hình ảnh LINE; hình ảnh xem trước mặc định là URL phương tiện.
- Video: yêu cầu hình ảnh xem trước; đặt
channelData.line.previewImageUrlthành URL hình ảnh. - Âm thanh: được gửi dưới dạng tin nhắn âm thanh LINE; thời lượng mặc định là 60 giây trừ khi đặt
channelData.line.durationMs.
channelData.line.mediaKind khi được đặt, nếu không sẽ được suy ra
từ các tùy chọn LINE khác hoặc hậu tố tệp trong URL, với hình ảnh làm phương án dự phòng.
URL phương tiện gửi đi phải là URL HTTPS công khai dài tối đa 2000 ký tự. OpenClaw
xác thực tên máy chủ đích trước khi chuyển URL cho LINE và từ chối các đích loopback,
link-local và mạng riêng.
Việc gửi phương tiện chung mà không có tùy chọn dành riêng cho LINE sẽ sử dụng tuyến hình ảnh.
Khắc phục sự cố
- Xác minh webhook không thành công: hãy bảo đảm URL webhook sử dụng HTTPS và
channelSecretkhớp với LINE console. - Không có sự kiện gửi đến: xác nhận đường dẫn webhook khớp với
channels.line.webhookPathvà LINE có thể truy cập Gateway. - Lỗi tải phương tiện xuống: tăng
channels.line.mediaMaxMbnếu phương tiện vượt quá giới hạn mặc định.
Liên quan
- Tổng quan về kênh — tất cả các kênh được hỗ trợ
- Ghép đôi — quy trình xác thực và ghép đôi tin nhắn trực tiếp
- Nhóm — hành vi trò chuyện nhóm và kiểm soát lượt đề cập
- Đị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à tăng cường bảo mật