File size: 5,884 Bytes
cd9bca9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# 🔑 API Keys 取得指南

本文件詳細說明如何取得所有必要的 API Keys 來運行 LINE Bot 系統。

## 📋 必要的 API Keys

### 1. LINE Bot API Keys

#### 步驟 1: 建立 LINE Developers 帳號
1. 前往 [LINE Developers Console](https://developers.line.biz/)
2. 使用 LINE 帳號登入
3. 同意開發者條款

#### 步驟 2: 建立 Provider
1. 點擊 "Create a new provider"
2. 輸入 Provider 名稱 (例如: "我的公司")
3. 點擊 "Create"

#### 步驟 3: 建立 Messaging API Channel
1. 在 Provider 頁面點擊 "Create a Messaging API channel"
2. 填寫以下資訊:
   - **Channel name**: 您的 Bot 名稱
   - **Channel description**: Bot 描述
   - **Category**: 選擇適合的類別
   - **Subcategory**: 選擇子類別
3. 上傳 Channel icon (可選)
4. 同意條款並點擊 "Create"

#### 步驟 4: 取得 API Keys
1. 進入剛建立的 Channel
2. 前往 "Basic settings" 頁籤:
   - 複製 **Channel secret** → 這是您的 `LINE_CHANNEL_SECRET`
3. 前往 "Messaging API" 頁籤:
   - 點擊 "Issue" 按鈕產生 Channel access token
   - 複製 **Channel access token** → 這是您的 `LINE_CHANNEL_ACCESS_TOKEN`

#### 步驟 5: 設定 Webhook (部署後執行)
1. 在 "Messaging API" 頁籤中
2. 設定 **Webhook URL**: `https://你的用戶名-你的空間名稱.hf.space/webhook`
3. 啟用 "Use webhook"
4. 關閉 "Auto-reply messages" (可選)

### 2. Supabase API Keys

#### 步驟 1: 建立 Supabase 帳號
1. 前往 [Supabase](https://supabase.com/)
2. 點擊 "Start your project"
3. 使用 GitHub 或 Google 帳號註冊

#### 步驟 2: 建立新專案
1. 點擊 "New project"
2. 選擇組織 (或建立新組織)
3. 填寫專案資訊:
   - **Name**: 專案名稱
   - **Database Password**: 設定強密碼
   - **Region**: 選擇最近的區域 (建議: Southeast Asia)
4. 點擊 "Create new project"
5. 等待專案建立完成 (約 2-3 分鐘)

#### 步驟 3: 取得 API Keys
1. 在專案 Dashboard 中
2. 前往左側選單的 "Settings" → "API"
3. 複製以下資訊:
   - **URL** → 這是您的 `SUPABASE_URL`
   - **anon public** key → 這是您的 `SUPABASE_KEY`

#### 步驟 4: 建立資料表
1. 前往左側選單的 "SQL Editor"
2. 複製 `setup_guide.md` 中的 SQL 語句
3. 點擊 "RUN" 執行

## 🚀 可選的 API Keys

### 3. OpenRouter API Keys (進階 NLP 功能)

#### 步驟 1: 建立 OpenRouter 帳號
1. 前往 [OpenRouter](https://openrouter.ai/)
2. 點擊 "Sign Up"
3. 使用 Google 或 GitHub 帳號註冊

#### 步驟 2: 充值帳戶
1. 前往 [Credits 頁面](https://openrouter.ai/credits)
2. 點擊 "Add Credits"
3. 選擇充值金額 (建議先充值 $5-10 測試)
4. 完成付款

#### 步驟 3: 建立 API Key
1. 前往 [API Keys 頁面](https://openrouter.ai/keys)
2. 點擊 "Create Key"
3. 輸入 Key 名稱 (例如: "LINE Bot")
4. 複製產生的 API Key → 這是您的 `OPENROUTER_API_KEY`

#### 步驟 4: 選擇模型
根據您的需求和預算選擇模型:

| 模型 | 成本 | 適用場景 | 設定值 |
|------|------|----------|--------|
| Claude 3 Haiku | 最低 | 日常查詢 | `anthropic/claude-3-haiku` |
| GPT-3.5 Turbo | 中等 | 平衡使用 | `openai/gpt-3.5-turbo` |
| Claude 3 Sonnet | 較高 | 複雜查詢 | `anthropic/claude-3-sonnet` |

## 🔧 環境變數設定

### Hugging Face Spaces 設定

1. 前往您的 Hugging Face Spaces 專案
2. 點擊 "Settings" 頁籤
3. 在 "Repository secrets" 區域新增以下變數:

```bash
# 必要設定
LINE_CHANNEL_ACCESS_TOKEN=你的_LINE_Channel_Access_Token
LINE_CHANNEL_SECRET=你的_LINE_Channel_Secret
SUPABASE_URL=你的_Supabase_專案_URL
SUPABASE_KEY=你的_Supabase_Anon_Key

# 可選設定 (進階 NLP)
OPENROUTER_API_KEY=你的_OpenRouter_API_Key
OPENROUTER_MODEL=anthropic/claude-3-haiku

# 其他設定
DEBUG=False
LOG_LEVEL=INFO
```

### 本地開發設定

建立 `.env` 檔案:

```bash
cp .env.example .env
```

編輯 `.env` 檔案並填入您的 API Keys。

## ✅ 驗證設定

### 1. 測試 LINE Bot
```bash
# 檢查 LINE Channel 設定
curl -H "Authorization: Bearer YOUR_CHANNEL_ACCESS_TOKEN" \
     https://api.line.me/v2/bot/info
```

### 2. 測試 Supabase
```bash
# 檢查 Supabase 連線
curl "YOUR_SUPABASE_URL/rest/v1/" \
     -H "apikey: YOUR_SUPABASE_KEY"
```

### 3. 測試 OpenRouter
```bash
# 檢查 OpenRouter API
curl https://openrouter.ai/api/v1/models \
     -H "Authorization: Bearer YOUR_OPENROUTER_KEY"
```

## 🔒 安全性注意事項

1. **絕不在程式碼中硬編碼 API Keys**
2. **使用環境變數儲存敏感資訊**
3. **定期輪換 API Keys**
4. **監控 API 使用量和成本**
5. **設定適當的權限和限制**

## 💰 成本估算

### LINE Bot
- **免費額度**: 每月 1,000 則訊息
- **付費方案**: 超過免費額度後按量計費

### Supabase
- **免費方案**: 
  - 500MB 資料庫
  - 50MB 檔案儲存
  - 2GB 頻寬
- **Pro 方案**: $25/月起

### OpenRouter
- **按使用量計費**
- **Claude 3 Haiku**: ~$0.25/1M input tokens
- **建議預算**: $5-20/月 (中小型應用)

## 🆘 常見問題

### Q: LINE Bot 無法回應訊息
A: 檢查以下項目:
1. Channel Access Token 是否正確
2. Webhook URL 是否設定正確
3. 應用程式是否正常運行

### Q: Supabase 連線失敗
A: 檢查以下項目:
1. URL 和 API Key 是否正確
2. 資料表是否已建立
3. 網路連線是否正常

### Q: OpenRouter 回應錯誤
A: 檢查以下項目:
1. API Key 是否有效
2. 帳戶餘額是否充足
3. 模型名稱是否正確

## 📞 技術支援

如果您在設定過程中遇到問題:

1. **LINE Bot**: [LINE Developers 文件](https://developers.line.biz/en/docs/)
2. **Supabase**: [Supabase 文件](https://supabase.com/docs)
3. **OpenRouter**: [OpenRouter 文件](https://openrouter.ai/docs)

---

**提醒**: 請妥善保管您的 API Keys,避免洩露給他人使用。