ระบบแชทบอท LINE Official Account อัจฉริยะ ขับเคลื่อนด้วยระบบ พร้อม สำหรับควบคุม จัดการฐานความรู้ (Knowledge Base) และดูประวัติการสนทนาแบบ Realtime
Overview
ระบบแชทบอท LINE Official Account อัจฉริยะ ขับเคลื่อนด้วยระบบ พร้อม สำหรับควบคุม จัดการฐานความรู้ (Knowledge Base) และดูประวัติการสนทนาแบบ Realtime โปรเจกต์นี้เป็นการผสานพลังระหว่าง , และ เพื่อสร้างระบบบริการลูกค้าอัตโนมัติ 24 ชั่วโมง โดยมีโครงสร้างหลัก 4 ส่วน: Server มาตรฐาน Model Context Protocol เพื่อให้ AI Agent สามารถเรียกใช้ฟังก์ชันของ LINE ได้โดยตรง: - : ส่งข้อความ Broadcast ประกาศข่าวสารหาเพื่อนทุกคนใน LINE Official Account - : ส่งข้อความระบุเจาะจงรายบุคคลหรือรายกลุ่ม (Push Message) ผ่าน user_id / group_id - : ดึงข้อมูลโปรไฟล์บอท (ชื่อบอท, Basic ID, Premium ID, รูปโปรไฟล์) - : เช็คราคาเหรียญคริปโตล่าสุด (USD และ THB) พร้อม % เปลี่ยนแปลงใน 24 ชม. ผ่าน CoinGecko API - : คำนวณอัตราแลกเปลี่ยนเงินตราระหว่างประเทศแบบ Realtime (THB, USD, JPY, EUR, GBP ฯลฯ) ระบบ Backend และ CLI สำหรับรัน AI Agent: - ตอบคำถามลูกค้าอัตโนมัติโดยอ้างอิงจาก knowledge.
README
<![CDATA[
📌 ภาพรวมโครงการ (Project Overview)
โปรเจกต์นี้เป็นการผสานพลังระหว่าง LINE Messaging API, AI Agent / LLM และ MCP Servers เพื่อสร้างระบบบริการลูกค้าอัตโนมัติ 24 ชั่วโมง โดยมีโครงสร้างหลัก 4 ส่วน:
graph TD
User([📱 ลูกค้าทัก LINE]) -->|Webhook Event| Gateway{ช่องทางรับ Webhook}
Gateway -->|ทางเลือกที่ 1: Local / Worker| AgentServer[🤖 line-ai-agent / Express]
Gateway -->|ทางเลือกที่ 2: Cloud / Vercel| DashServer[🌐 line-bot-dashboard / Next.js API]
AgentServer --> AgentLogic[🧠 AI Agent Core]
DashServer --> SmartLogic[🧠 Smart AI Rule Engine]
AgentLogic --> MCPClient[🔌 MCP Client Manager]
MCPClient --> LineMCP[📦 line-mcp Server]
MCPClient --> CryptoMCP[🪙 thai-crypto-mcp Server]
AgentLogic -->|ดึงข้อมูล| KB1[(knowledge.json)]
SmartLogic -->|ดึงข้อมูล| KB2[(data_store.json)]
Admin([👨💻 ผู้ดูแลระบบ]) -->|เข้าใช้งาน| Dashboard[🖥️ Web Admin Dashboard]
Dashboard -->|อัปเดตความรู้ / เปิดปิดระบบ| KB2
Dashboard -->|ดูบันทึกแชท| KB2
LineMCP -->|LINE Messaging API| LINEAPI[🟢 LINE Platform]
LINEAPI -->|ส่งข้อความตอบกลับ| User
✨ ฟีเจอร์หลัก (Key Features)
| ฟีเจอร์ | รายละเอียด |
|---|---|
| 🤖 AI Auto-Reply | ตอบข้อความลูกค้าอัตโนมัติ 24/7 ผ่าน Google Gemini AI |
| 📦 LINE MCP Server | ควบคุม LINE Messaging API ผ่าน Model Context Protocol |
| 🪙 Thai Crypto MCP | เช็คราคาคริปโต & แปลงค่าเงินแบบ Realtime |
| 🖥️ Admin Dashboard | เว็บแดชบอร์ด Next.js จัดการ Knowledge Base & ดู Chat Logs |
| 🧠 Knowledge Base | ฐานข้อมูลความรู้ธุรกิจแก้ไขได้แบบ Live ผ่าน Dashboard |
| 🔐 Auth System | ระบบ Login แอดมินด้วย Cookie Session |
| 🌐 Local Tunnel | สร้าง Public HTTPS URL อัตโนมัติสำหรับ Webhook Testing |
| ☁️ Cloud Ready | รองรับ Deploy บน Vercel ได้ทันที |
📁 โครงสร้างโปรเจกต์ (Project Structure)
auto-line-mcp/
├── line-mcp/ # 📦 Custom MCP Server สำหรับควบคุม LINE Messaging API
│ ├── index.js # Server Tools: send_line_broadcast, send_line_push, get_line_bot_info
│ └── package.json
│
├── thai-crypto-mcp/ # 🪙 Custom MCP Server สำหรับเช็คราคาคริปโตและแปลงค่าเงิน
│ ├── index.js # Tools: get_crypto_price, convert_currency
│ └── package.json
│
├── line-ai-agent/ # 🤖 AI Agent Backend & CLI Tool
│ ├── src/
│ │ ├── agent.js # ระบบประมวลผลข้อความและจับคู่เงื่อนไขความรู้
│ │ ├── cli.js # เครื่องมือ CLI สำหรับสั่งการผ่าน Terminal
│ │ ├── config.js # จัดการ Environment และโหลดไฟล์ความรู้
│ │ ├── mcp-client.js # สะพานเชื่อมต่อไปยัง MCP Servers
│ │ └── server.js # Express Webhook Server + Local Tunnel
│ ├── knowledge.json # ฐานข้อมูลความรู้ธุรกิจ (Knowledge Base)
│ └── package.json
│
├── line-bot-dashboard/ # 🖥️ Full-stack Web Admin Dashboard (Next.js 14)
│ ├── app/
│ │ ├── api/
│ │ │ ├── auth/ # ระบบ Login / Logout แอดมิน (Cookie Session)
│ │ │ ├── knowledge/ # API ดึงและอัปเดตข้อมูลความรู้ธุรกิจ
│ │ │ └── webhook/ # API Webhook รองรับการ Deploy ขึ้น Cloud (Vercel)
│ │ ├── layout.js
│ │ └── page.js # หน้า GUI ควบคุมบอท, แก้ไขความรู้ และดู Chat Logs
│ ├── lib/
│ │ └── knowledge.js # ตัวจัดการฐานข้อมูล JSON File Store
│ ├── data_store.json # ไฟล์บันทึกข้อมูลและประวัติแชท
│ └── package.json
│
└── mcp_config.json # ⚙️ ไฟล์การตั้งค่า MCP สำหรับเชื่อมต่อกับ AI / Antigravity
🛠️ รายละเอียดของแต่ละโมดูล (Module Components)
1. line-mcp — MCP Server สำหรับ LINE
Server มาตรฐาน Model Context Protocol เพื่อให้ AI Agent สามารถเรียกใช้ฟังก์ชันของ LINE ได้โดยตรง:
send_line_broadcast: ส่งข้อความ Broadcast ประกาศข่าวสารหาเพื่อนทุกคนใน LINE Official Accountsend_line_push: ส่งข้อความระบุเจาะจงรายบุคคลหรือรายกลุ่ม (Push Message) ผ่านuser_id/group_idget_line_bot_info: ดึงข้อมูลโปรไฟล์บอท (ชื่อบอท, Basic ID, Premium ID, รูปโปรไฟล์)
2. thai-crypto-mcp — MCP Server ด้านการเงิน & Crypto
get_crypto_price: เช็คราคาเหรียญคริปโตล่าสุด (USD และ THB) พร้อม % เปลี่ยนแปลงใน 24 ชม. ผ่าน CoinGecko APIconvert_currency: คำนวณอัตราแลกเปลี่ยนเงินตราระหว่างประเทศแบบ Realtime (THB, USD, JPY, EUR, GBP ฯลฯ)
3. line-ai-agent — AI Agent & Local Webhook
ระบบ Backend และ CLI สำหรับรัน AI Agent:
- ตอบคำถามลูกค้าอัตโนมัติโดยอ้างอิงจาก
knowledge.json - มีฟังก์ชันสร้าง Public HTTPS Tunnel อัตโนมัติในตัว (ผ่าน
localtunnel) ทำให้สามารถเทส LINE Webhook จากเครื่อง Local ได้ทันทีโดยไม่ต้องลงโปรแกรมเพิ่ม - มีคำสั่ง CLI ครบครันสำหรับทดสอบและสั่งงาน
4. line-bot-dashboard — Web Admin Dashboard
เว็บแดชบอร์ดสร้างด้วย Next.js 14 & React:
- 🔐 ระบบความปลอดภัย (Admin Authentication): เข้าใช้งานด้วยรหัสผ่านแอดมิน พร้อมระบบ Cookie Session
- 🧠 สอนงาน AI (Live Knowledge Editor): แก้ไขข้อมูลสินค้า/บริการ, ราคา, เอกสาร หรือข้อความตอบกลับได้ทันทีผ่านหน้าเว็บ
- 🟢 สวิตช์เปิด/ปิด Auto-Reply: เลือกเปิดหรือปิดการตอบอัตโนมัติได้แบบเรียลไทม์
- 💬 ประวัติบทสนทนา (Live Chat Logs): แสดงข้อความที่ลูกค้าทักมาและคำตอบที่ AI ตอบกลับไป
🚀 การติดตั้งและเริ่มต้นใช้งาน (Getting Started)
ความต้องการของระบบ (Prerequisites)
- Node.js เวอร์ชัน 18.0.0 ขึ้นไป
- LINE Official Account และ LINE Developers Console Account
- Google AI API Key สำหรับ Gemini AI
การตั้งค่า Environment Variables (.env)
สร้างไฟล์ .env ในโฟลเดอร์ line-ai-agent และ line-bot-dashboard:
ตัวอย่าง .env สำหรับ line-ai-agent:
PORT=3010
LINE_CHANNEL_ACCESS_TOKEN="your_channel_access_token_here"
LINE_CHANNEL_SECRET="your_channel_secret_here"
ตัวอย่าง .env สำหรับ line-bot-dashboard:
ADMIN_PASSWORD="your_admin_password" # รหัสผ่านเข้า Dashboard (ค่าเริ่มต้น: 123456)
LINE_CHANNEL_ACCESS_TOKEN="your_channel_access_token_here"
LINE_CHANNEL_SECRET="your_channel_secret_here"
💻 วิธีการรันระบบ (How to Run)
1. รัน AI Agent + Local Webhook พร้อม Public URL (แนะนำ)
เปิด Terminal ไปที่โฟลเดอร์ line-ai-agent:
cd line-ai-agent
npm install
npm run cli live
ระบบจะแสดง URL สาธารณะ เช่น:
======================================================
🎉 PUBLIC LIVE WEBHOOK IS READY!
🔗 Public Webhook URL:
https://xxxx-xxxx.loca.lt/webhook
👉 นำ URL ด้านบนไปใส่ใน LINE Developers -> Messaging API -> Webhook URL
======================================================
2. รันคำสั่งต่างๆ ผ่าน CLI (line-ai-agent)
| คำสั่ง | คำอธิบาย |
|---|---|
node src/cli.js live |
รัน Webhook Server พร้อมเปิด Public HTTPS Tunnel ทันที |
node src/cli.js status |
ตรวจสอบสถานะบอท, การเชื่อมต่อ LINE Token และ MCP Tools ทั้งหมด |
node src/cli.js test "" |
ทดสอบจำลองพิมพ์คุยกับ AI Agent บน Terminal |
node src/cli.js broadcast "" |
ส่งข้อความบรอดแคสต์หาเพื่อนทุกคนใน LINE OA ผ่าน MCP |
node src/cli.js help |
แสดงคู่มือคำสั่งทั้งหมด |
3. รัน Web Admin Dashboard (Next.js)
เปิด Terminal ไปที่โฟลเดอร์ line-bot-dashboard:
cd line-bot-dashboard
npm install
npm run dev
เปิด Browser ไปที่ http://localhost:3000 เพื่อเข้าใช้งาน Admin Dashboard
⚙️ การตั้งค่า MCP ใน AI Tools (mcp_config.json)
สามารถนำการตั้งค่าจาก mcp_config.json ไปใช้งานร่วมกับเครื่องมือที่รองรับ MCP (เช่น Antigravity หรือ Claude Desktop):
{
"mcpServers": {
"thai-crypto-mcp": {
"command": "node",
"args": ["path/to/thai-crypto-mcp/index.js"]
},
"line-mcp": {
"command": "node",
"args": ["path/to/line-mcp/index.js"],
"env": {
"LINE_CHANNEL_ACCESS_TOKEN": "YOUR_LINE_CHANNEL_ACCESS_TOKEN",
"LINE_CHANNEL_SECRET": "YOUR_LINE_CHANNEL_SECRET"
}
}
}
}
🌐 การ Deploy ขึ้น Cloud (Production Deployment)
การ Deploy line-bot-dashboard บน Vercel:
- เชื่อมต่อ Git Repository กับ Vercel
- ตั้งค่า Root Directory เป็น
line-bot-dashboard - กำหนด Environment Variables:
ADMIN_PASSWORDLINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
- เมื่อ Deploy เสร็จสิ้น นำ URL ที่ได้ เช่น
https://your-app.vercel.app/api/webhookไปใส่ใน LINE Developers Console
🧰 Tech Stack
| เทคโนโลยี | การใช้งาน |
|---|---|
| @modelcontextprotocol/sdk | MCP Server & Client Implementation |
| Next.js 14 | Web Admin Dashboard (Full-stack) |
| React 18 | Frontend UI Components |
| Google Generative AI (Gemini) | AI Language Model สำหรับ Auto-Reply |
| Node.js & Express | Backend Webhook Server |
| Localtunnel | Public HTTPS Tunnel สำหรับ Development |
| LINE Messaging API | การเชื่อมต่อกับ LINE Platform |
| CoinGecko API | ข้อมูลราคา Cryptocurrency |
📄 ใบอนุญาต (License)
โปรเจกต์นี้พัฒนาสำหรับใช้งานส่วนบุคคลและองค์กร ภายใต้สัญญาอนุญาต MIT License
]]>
Install
This server does not publish a one-line install command.
Open the repository installation guideConfiguration
{
"mcpServers": {
"thai-crypto-mcp": {
"command": "node",
"args": ["path/to/thai-crypto-mcp/index.js"]
},
"line-mcp": {
"command": "node",
"args": ["path/to/line-mcp/index.js"],
"env": {
"LINE_CHANNEL_ACCESS_TOKEN": "YOUR_LINE_CHANNEL_ACCESS_TOKEN",
"LINE_CHANNEL_SECRET": "YOUR_LINE_CHANNEL_SECRET"
}
}
}
}