LINE 通过 LINE Messaging API 连接到 OpenClaw。该插件作为 webhook 接收器运行在 Gateway 网关上,并使用你的渠道访问令牌 + 渠道密钥进行 身份验证。 Status:可下载插件。支持私信、群聊、媒体、位置、Flex 消息、模板消息和快速回复。不支持回应和线程。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.
安装
在配置渠道之前安装 LINE:设置
- 创建 LINE Developers 账号并打开 Console: https://developers.line.biz/console/
- 创建(或选择)一个 Provider,并添加一个 Messaging API 渠道。
- 从渠道设置中复制 Channel access token 和 Channel secret。
- 在 Messaging API 设置中启用 Use webhook。
- 将 webhook URL 设置为你的 Gateway 网关端点(需要 HTTPS):
channels.line.webhookPath 或
channels.line.accounts.<id>.webhookPath,并相应更新 URL。
安全注意事项:
- LINE 签名验证依赖请求体(对原始请求体执行 HMAC),因此 OpenClaw 会在验证前应用严格的请求体大小限制和超时。
- OpenClaw 会从已验证的原始请求字节处理 webhook 事件。为保证签名完整性安全,会忽略上游中间件转换后的
req.body值。
配置
最小配置:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile 和 secretFile 必须指向常规文件。符号链接会被拒绝。
多个账号:
访问控制
私信默认使用配对。未知发送者会收到配对码,在获批前其 消息会被忽略。channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom:用于私信的允许列表 LINE 用户 IDchannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom:用于群组的允许列表 LINE 用户 ID- 每个群组的覆盖项:
channels.line.groups.<groupId>.allowFrom - 运行时注意事项:如果完全缺少
channels.line,运行时会在群组检查中回退到groupPolicy="allowlist"(即使设置了channels.defaults.groupPolicy)。
- 用户:
U+ 32 个十六进制字符 - 群组:
C+ 32 个十六进制字符 - 房间:
R+ 32 个十六进制字符
消息行为
- 文本会按 5000 个字符分块。
- Markdown 格式会被移除;代码块和表格会在可行时转换为 Flex 卡片。
- 流式响应会被缓冲;当智能体工作时,LINE 会收到带加载 动画的完整分块。
- 媒体下载受
channels.line.mediaMaxMb限制(默认 10)。 - 入站媒体会先保存到
~/.openclaw/media/inbound/,再传递 给智能体,这与其他内置渠道 插件使用的共享媒体存储一致。
渠道数据(富消息)
使用channelData.line 发送快速回复、位置、Flex 卡片或模板
消息。
/card 命令:
ACP 支持
LINE 支持 ACP(Agent Communication Protocol)对话绑定:/acp spawn <agent> --bind here会将当前 LINE 聊天绑定到 ACP 会话,而不创建子线程。- 已配置的 ACP 绑定和活跃的对话绑定 ACP 会话在 LINE 上的工作方式与其他对话渠道相同。
出站媒体
LINE 插件支持通过智能体消息工具发送图片、视频和音频文件。媒体会通过 LINE 专用投递路径发送,并带有合适的预览和跟踪处理:- 图片:作为 LINE 图片消息发送,并自动生成预览。
- 视频:发送时会显式处理预览和内容类型。
- 音频:作为 LINE 音频消息发送。
故障排除
- Webhook 验证失败: 确保 webhook URL 使用 HTTPS,并且
channelSecret与 LINE 控制台匹配。 - 没有入站事件: 确认 webhook 路径与
channels.line.webhookPath匹配,并且 LINE 可以访问 Gateway 网关。 - 媒体下载错误: 如果媒体超过默认限制,请提高
channels.line.mediaMaxMb。