2026-09-18 11 min read -- 次瀏覽
用 LINE 打造你的 24 小時 AI 客服
從申請官方帳號到部署 Webhook,一個晚上就能讓 LINE 機器人接上 LLM 上線。
📌 本篇文章重點
- LINE 官方帳號 + Messaging API + Webhook + LLM = 你的 AI 客服。
- 4 步:開帳號 → 拿 token → 寫 webhook → 部署上線。
- 用 Cloudflare Workers 免費版就能架 webhook,冷啟動快、免伺服器。
- 先做「echo」,再做「接 LLM」,最後加防呆與漫罵應付。
一、為什麼這篇值得看?
把 AI 接進 LINE,你的客服就能 24 小時不休息。聽起來要買伺服器、架框架——其實只要一個免費的 Worker 加兩個 API 金鑰。這篇把你從申請一路帶到能實際回訊。
二、核心概念,3 分鐘搞懂
LINE 機器人的運作是一條簡訊鏈:
訊息連結
使用者 → LINE 伺服器 → 你的 Webhook URL → 你回 API → 傳回使用者
Webhook 就是你架一條「接收訊息、決定回什麼」的程式。
「Webhook + 回應 API」兩件事拆開:LINE 只負責收發,你的程式只負責動腦。
三、動手實作:4 步上線
Step 1
開官方帳號、取得兩把鑰匙
- 建立 LINE Official Account(開發者模式)。
- 取得 Channel Secret 與 Channel Access Token。
- 在 Webhook 設定處填上你即將部署的 URL。
Step 2
寫一支接收訊息的 Worker
functions/api/line.js(Hono/Workers)
export default {
async fetch(req) {
const body = await req.json();
const text = body.events?.[0]?.message?.text;
await fetch("https://api.line.me/v2/bot/message/reply", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer " + context.env.LINE_TOKEN,
},
body: JSON.stringify({
replyToken: body.events[0].replyToken,
messages: [{ type: "text", text: `你剛剛說:${text}` }],
}),
});
return new Response("ok");
},
};
⚠️ 別漏掉
LINE 會先送一次「驗證 Webhook」的請求,請確認 Server 回 `ok` 才過關。多餘的 event(如 join)也要讓 Server 正常回 200。
Step 3
升級成「接 LLM」的版本
接 LLM 的關鍵一段
const ai = await context.env.AI.run(
"@cf/meta/llama-3.1-8b-instruct",
{ messages: [{ role: "user", content: text }] }
);
const answer = ai.response;
// 回覆 LINE
messages: [{ type: "text", text: answer }]
Step 4
部署對外(可公開的 URL)
Bash
cd functions && wrangler pages dev # 本機測試
wrangler pages deploy dist --project-name my-line-bot
# 把上線的 URL 貼回 LINE 的 Webhook 設定
打開 LINE 掃 QR 加入你的官方帳號,送出訊息,回覆就會從你的 Worker 生出。
四、穩定上線前要補的護欄
| 護欄 | 目的 |
|---|---|
| 時間戳去重 | 避免重送重複回覆 |
| 限制訊息長度 | 防止爆 token / 防過長文章 |
| 錯誤捕捉 | LLM 掛掉時回「稍後再試」 |
| 關鍵字黑名單 | 過濾不該回應的內容 |
五、常見問題(FAQ)
Q1一定要用 Cloudflare Workers 嗎?
不一定。任何能暴露 HTTPS URL 的端點都行(Vercel、自架皆可)。Worker 免費、冷啟動快,推薦入門。
Q2記憶對話上下文很難嗎?
先把「單則訊息→回覆」跑通,再慢慢加「最近 N 則」的歷史陣列。別一次到位。
Q3訊息安全要注意什麼?
不要記錄完整使用者對話內容;敏感資料不要送進 LLM;把 token 存在環境變數別寫死在程式裡。
總結
LINE 機器人的核心只有「Webhook 收訊息 → 動腦 → 回應 API」。先 echo、再接 LLM、最後上護欄——照這條路,你的 24 小時客服今晚就能開門。