首页 教程 分类 Skills下载 关于
ZH EN JA KO
频道对接

OpenClaw连接LINE教程

· 13 分钟

前言

LINE 是日本、泰国、台湾等地区最主流的即时通讯应用。通过将 OpenClaw 连接到 LINE,你可以创建一个智能聊天机器人,自动回复好友消息或在群组中提供 AI 服务。本文将从 LINE Developers 控制台的配置开始,一步步完成整个接入过程。

前置条件

  • OpenClaw 已安装并正常运行
  • 拥有 LINE 账号
  • OpenClaw 服务可通过公网 HTTPS 地址访问(LINE Webhook 要求 HTTPS)

第一步:创建 LINE Messaging API 频道

1.1 注册 LINE Developers 账号

  1. 访问 LINE Developers
  2. 使用 LINE 账号登录
  3. 如果是首次登录,需要同意开发者协议并创建 Provider

1.2 创建 Provider

Provider 是管理频道(Channel)的顶级组织单位:

  1. 在 LINE Developers Console 中,点击 Create a new provider
  2. 输入 Provider 名称(例如 "My OpenClaw Bot")
  3. 点击 Create

1.3 创建 Messaging API Channel

  1. 在 Provider 页面,点击 Create a Messaging API channel
  2. 填写以下信息:
字段 说明 示例
Channel type 选择 Messaging API Messaging API
Channel name 机器人显示名称 AI 助手
Channel description 机器人描述 基于 OpenClaw 的智能助手
Category 选择一个类别 工具/实用程序
Subcategory 选择子类别 聊天机器人
Email address 联系邮箱 [email protected]
  1. 勾选同意条款,点击 Create

1.4 获取必要凭据

创建完成后,你需要记录两个关键信息:

Channel Secret:在 Basic settings 标签页中找到。

Channel Access Token

  1. 进入 Messaging API 标签页
  2. 滚动到底部 Channel access token 区域
  3. 点击 Issue 按钮生成长期 Token
  4. 复制并妥善保存
Channel Secret: abc123def456ghi789jkl012
Channel Access Token: eyJhbGciOiJIUzI1NiJ9.xxxxx.xxxxx(很长的字符串)

第二步:配置 Webhook

2.1 设置 Webhook URL

Messaging API 标签页中:

  1. 找到 Webhook settings 区域
  2. 点击 Edit 按钮
  3. 输入你的 Webhook URL:
https://your-domain.com/webhook/line
  1. 点击 Update
  2. 开启 Use webhook 开关

2.2 验证 Webhook

点击 Verify 按钮测试 Webhook 连接。如果 OpenClaw 已经配置好并运行中,应该会显示 Success

2.3 关闭自动回复

Messaging API 标签页中:

  1. 找到 LINE Official Account features 区域
  2. 点击 Auto-reply messages 旁边的 Edit 链接
  3. 进入 LINE Official Account Manager
  4. 关闭 自动应答消息(否则会和 OpenClaw 的回复冲突)
  5. 同时关闭 问候消息(可选,也可以保留 LINE 的默认问候)

第三步:配置 OpenClaw

3.1 配置文件方式

编辑 ~/.config/openclaw/openclaw.json5

{
  channels: {
    line: {
      enabled: true,
      // Channel Secret(从 Basic settings 获取)
      channelSecret: "abc123def456ghi789jkl012",
      // Channel Access Token(从 Messaging API 生成)
      channelAccessToken: "eyJhbGciOiJIUzI1NiJ9.xxxxx.xxxxx",

      // Webhook 路径(需要和 LINE 控制台设置一致)
      webhookPath: "/webhook/line",

      // 消息处理配置
      message: {
        // 回复方式: "reply" 使用 Reply API (免费), "push" 使用 Push API (可能收费)
        replyMode: "reply",
        // 是否支持群组消息
        groupEnabled: true,
        // 群组中的触发方式
        groupTrigger: "mention",  // "mention" | "keyword" | "all"
        // 群组触发关键词(groupTrigger 为 "keyword" 时生效)
        groupKeywords: ["@AI", "/ask"]
      },

      // 回复格式
      reply: {
        // 长消息自动分割
        maxLength: 5000,
        // 是否使用 Flex Message 格式(更美观)
        useFlexMessage: false,
        // 发送消息前的等待提示
        loadingAnimation: true
      }
    }
  }
}

3.2 环境变量方式

export LINE_CHANNEL_SECRET="abc123def456ghi789jkl012"
export LINE_CHANNEL_ACCESS_TOKEN="eyJhbGciOiJIUzI1NiJ9.xxxxx.xxxxx"

3.3 重启并验证

openclaw restart

# 查看连接日志
openclaw logs -f --component channel:line

成功日志:

[INFO] [channel:line] LINE Messaging API 频道已启动
[INFO] [channel:line] Webhook 路径: /webhook/line
[INFO] [channel:line] Bot 名称: AI 助手
[INFO] [channel:line] 等待接收消息...

Reply API 与 Push API

LINE 有两种发送消息的 API,理解它们的区别很重要:

Reply API

  • 触发方式:只能在收到用户消息后使用
  • 时间限制:Reply Token 有效期约 30 秒
  • 费用:完全免费
  • 限制:每个事件只能回复一次

Push API

  • 触发方式:可以主动向用户发送消息
  • 时间限制:无限制
  • 费用:免费计划每月 200 条,超出需付费
  • 限制:取决于订阅计划
{
  channels: {
    line: {
      message: {
        // 推荐使用 reply 模式节省费用
        replyMode: "reply",
        // 如果需要发送延迟回复(如处理耗时任务),可以启用 push 作为降级
        fallbackToPush: true
      }
    }
  }
}

消息配额

计划 Push API 消息数/月 费用
Free 200 条 免费
Light 5,000 条 约 800 TWD/月
Standard 25,000 条 约 4,000 TWD/月
Pro 自定义 联系 LINE

Reply API 的消息不计入配额,因此推荐优先使用 Reply 模式。

Rich Menu 配置

Rich Menu 是 LINE Bot 底部的自定义菜单,可以提供快捷操作入口。

创建 Rich Menu

在 LINE Official Account Manager 中创建:

  1. 进入 聊天图文选单
  2. 点击 创建
  3. 设计菜单布局,常见选项:
┌─────────┬─────────┬─────────┐
│         │         │         │
│  提问   │  翻译   │  总结   │
│         │         │         │
├─────────┼─────────┼─────────┤
│         │         │         │
│  重置   │  模型   │  帮助   │
│         │         │         │
└─────────┴─────────┴─────────┘
  1. 为每个区域设置动作类型为 文字,填入对应的触发命令

通过 API 创建 Rich Menu

也可以在 OpenClaw 配置中定义 Rich Menu:

{
  channels: {
    line: {
      richMenu: {
        enabled: true,
        areas: [
          { label: "提问", action: "/ask" },
          { label: "翻译", action: "/translate" },
          { label: "总结", action: "/summarize" },
          { label: "重置对话", action: "/reset" },
          { label: "切换模型", action: "/model" },
          { label: "帮助", action: "/help" }
        ]
      }
    }
  }
}

群组使用

将 Bot 添加到群组

  1. 在 LINE 中打开群组
  2. 点击群组设置 → 邀请
  3. 搜索并添加你的 Bot

群组行为配置

{
  channels: {
    line: {
      group: {
        // 加入群组时的欢迎消息
        welcomeMessage: "大家好,我是 AI 助手!@我或以 /ask 开头就可以向我提问。",
        // 被移出群组时清理数据
        cleanOnLeave: true,
        // 每个群组独立的上下文
        separateContext: true
      }
    }
  }
}

HTTPS 要求

LINE Webhook 强制要求 HTTPS。如果你还没有配置 HTTPS,可以使用以下方式:

方式一:Nginx 反向代理 + Let's Encrypt

# 安装 certbot
sudo apt install certbot python3-certbot-nginx

# 获取证书
sudo certbot --nginx -d your-domain.com

方式二:ngrok 隧道(开发测试用)

# 安装 ngrok
npm install -g ngrok

# 创建隧道
ngrok http 18789

将 ngrok 生成的 HTTPS 地址填入 LINE Webhook URL。

方式三:Cloudflare Tunnel

cloudflared tunnel --url http://localhost:18789

故障排查

Webhook 验证失败

# 确认 OpenClaw 正在运行
openclaw logs --level error

# 确认 Webhook 路径正确
curl -X POST https://your-domain.com/webhook/line -d '{}' -H "Content-Type: application/json"

# 检查 SSL 证书是否有效
openssl s_client -connect your-domain.com:443

Bot 不回复消息

# 检查 Channel Access Token 是否有效
openclaw logs --component channel:line --level debug

# 常见原因:
# 1. Token 已过期 - 重新 Issue 新 Token
# 2. 自动回复未关闭 - LINE 的自动回复会吃掉 Reply Token
# 3. Reply Token 超时 - AI 模型响应太慢(>30秒)

Reply Token 超时

如果 AI 模型响应时间超过 30 秒,Reply Token 会过期。解决方案:

{
  channels: {
    line: {
      message: {
        replyMode: "reply",
        fallbackToPush: true,  // Reply 失败时改用 Push API
        // 或者先发送一条"处理中"的回复
        thinkingMessage: "正在思考中,请稍候..."
      }
    }
  }
}

总结

LINE 集成的核心步骤:

  1. 在 LINE Developers 创建 Messaging API 频道
  2. 获取 Channel Secret 和 Channel Access Token
  3. 配置 HTTPS Webhook URL
  4. 在 OpenClaw 配置文件中填入凭据
  5. 关闭 LINE 的自动回复功能
  6. 重启服务并测试

建议优先使用 Reply API 节省费用,并通过 Rich Menu 提升用户体验。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入