docs/usage/channels/line.zh-CN.mdx
通过将 LINE 渠道连接到您的 LobeHub 代理,用户可以通过 LINE 私信、群组聊天以及多人聊天室与 AI 助手互动。集成使用官方的 LINE Messaging API,LINE 与 LobeHub 之间没有第三方中转。
重要变化(2024-09-04 起): LINE 已不再允许直接在 LINE Developers Console 中创建 Messaging API channel。必须先建 LINE Official Account,再在 Official Account Manager 中启用 Messaging API,对应的 channel 才会在 Developers Console 中自动出现。
打开 entry.line.biz,用 LINE Business ID 登录,按表单填写账号名称、行业、地区等信息提交。完成后到 LINE Official Account Manager 确认账号已经出现在列表中。
进入这个 Official Account → Settings → Messaging API → 点击 Enable Messaging API。系统会让你:
注意: Provider 一旦绑定就 不能修改。如果同时管理多个不相关业务,建议为每个业务用独立的 Provider。
用同一个 LINE Business ID 登录 LINE Developers Console,选中刚才绑的 Provider,对应的 Messaging API channel 会自动出现。
打开 Basic settings 选项卡,复制 Channel secret —— 用于第四步校验 Webhook 签名。
注意: 同一选项卡里的 "Your user ID" 是你账号自己的 LINE user ID,不是 bot 的 destination user ID。两者格式完全一样(都以
U开头共 33 位),但 LobeHub 需要的是 bot 的,会在第四步根据 Channel Access Token 自动解析。
然后切到 Messaging API 选项卡,记下:
@xxxx 短 ID。
</Steps>
滚到 Messaging API 选项卡底部的 Channel access token 区域。
在 "Channel access token (long-lived)" 处点击 Issue。立即复制 Token —— LINE 只展示一次。
重要提示: Channel Access Token 与 Channel Secret 都是敏感凭据,切勿提交到代码仓库或在截图中泄露。
</Steps>
LINE Official Account Manager 默认会自动回复用户消息并在第一次接触时发送欢迎语,会与 LobeHub 的回复发生冲突,需要关闭。
<Steps> ### 打开 LINE Official Account Manager在 Messaging API 选项卡中,点击 LINE Official Account Manager 链接进入对应 Official Account 的管理界面。
打开 设置 → Messaging API(或 Response settings),调整为:
这样所有入站消息都会交给你的机器人处理。 </Steps>
在 LobeHub 中,进入您的代理设置,选择 渠道 标签。在平台列表中点击 LINE。
推荐顺序 —— 先粘贴 Token,LobeHub 会帮你自动填入 Destination User ID:
GET /v2/bot/info,自动取出 bot 的 userId(以 U 开头共 33 位)并填入。如果你已经拿到这个值,也可以手动粘贴。为什么需要自动获取? LINE Developers Console 界面不展示 bot 的 destination user ID,唯一的获取方式就是调用
<details> <summary>手动备选方案(按钮不可用时)</summary>/v2/bot/info。从 LINE 获取 按钮会把这一步curl替你做掉。bashcurl -H "Authorization: Bearer <你的 channel access token>" \ https://api.line.me/v2/bot/info把返回 JSON 中的
</details>userId字段复制到 Destination User ID 即可。
点击 保存配置。LobeHub 会加密您的凭据,调用一次 GET /v2/bot/info 验证 Token 可用、且返回的 bot user ID 与 Destination User ID 一致,并在凭据下方显示 Webhook URL 供下一步使用。
注意: 与 Telegram 不同,LINE Messaging API 不支持程序化注册 Webhook,LobeHub 无法替您在 LINE Developers Console 中填写 URL,需要您在第五步中自行粘贴。
</Steps>
在 LobeHub 的 LINE 渠道详情页中,复制凭据区域下方显示的 Webhook URL。形如 https://app.lobehub.com/api/agent/webhooks/line/<your-destination-user-id>。
回到 channel 的 Messaging API 选项卡:
POST(events: []),Channel Secret 匹配时 LobeHub 返回 200。在 LINE Developers Console 的 Messaging API 选项卡,使用手机扫描机器人的 QR code;也可以直接在 LINE 中搜索 Bot basic ID(例如 @abc1234x)。
在 LINE 里向机器人发送任意消息。几秒内 LobeHub 代理就会回复。
在 LobeHub 渠道设置中点击 测试连接,再次校验 Token 与 bot 身份是否匹配,错误信息会透传 LINE 返回的具体内容。 </Steps>
要在 LINE 群聊或多人聊天室使用机器人:
... → Invite)邀请到已存在的群组。注意: 允许机器人加入群组与聊天室需要在 LINE Official Account Manager 的 Response settings 中启用 "Allow bot to join group chats",默认是关闭的。
| 字段 | 是否必需 | 描述 |
|---|---|---|
| Destination User ID | 是 | 机器人的用户 ID(U + 32 位十六进制)。LobeHub 会通过 从 LINE 获取 按钮(背后调用 GET /v2/bot/info)自动填入;LINE Developers Console 界面不展示这个值。同时作为机器人标识与 Webhook 路径。 |
| Channel Access Token | 是 | Messaging API 选项卡中签发的长期 Token,用作每个 LINE API 调用的 bearer 头。 |
| Channel Secret | 是 | Basic settings 选项卡中的 Channel secret,用于校验每条入站 Webhook 的 X-Line-Signature。 |
LINE Messaging API 有一些平台层面的限制,LobeHub 的对接行为如下:
stripMarkdown 去掉强调、标题、列表等标记。/v2/bot/message/push)而非 reply API,因为 reply token 60 秒就过期,而 agent 生成回复可能更慢。Push 消息会消耗付费方案的月度配额,免费的 Developer Trial 实际不限量。Authentication failed.。 Channel Access Token 失效或被撤销。在 Messaging API 选项卡里重新签发长期 Token,并把新值粘贴到 LobeHub。Channel access token belongs to bot Uxxx, not Uyyy。 Destination User ID 与 Token 不匹配。最简方式:清空字段后点击 从 LINE 获取,让 LobeHub 重新拉到正确的 userId。错误消息里的 Uxxx 也是 Token 实际归属的 bot userId,直接复制粘贴也可以。(手动核对:curl -H "Authorization: Bearer <token>" https://api.line.me/v2/bot/info。)401 Invalid signature。 LobeHub 中的 Channel Secret 与 LINE 的不一致,更新为正确的 Channel Secret。