完整版・Google Cloud Run

在 LINE 裡用你自己的 AI(完整版)

比簡易版多了上網查資料、語音訊息、畫類似風格的圖,回覆也比較快。程式跑在你自己的 Google Cloud 上,背後是你選的 AI:ChatGPT、Gemini 或 Claude。

完整版的程式碼還沒公開。這份教學先放上來給大家參考,但第 3 步的程式碼連結和第 5 步的下載目前還打不開。想現在就用,可以先架簡易版,免費、不用綁卡。
1

建立 LINE 官方帳號,拿到兩把金鑰

這個帳號就是你的機器人。完整版會驗證訊息真的是 LINE 送來的,所以要兩把:Channel secret 和 Channel access token。

  1. 用電腦打開 LINE Developers,用你的 LINE 帳號登入。
  2. 第一次進來會請你建立一個 Provider,名稱隨意,例如「我的助理」。
  3. 在 Provider 裡點 Create a new channel,選 Messaging API。
  4. 畫面會說現在不能直接在這裡建立。點綠色按鈕 Create a LINE Official Account,照表單填寫,不用申請認證。
  5. 完成後點 前往 LINE Official Account Manager,同意條款。
  6. 在 Official Account Manager 點 設定 → Messaging API → 啟用 Messaging API,選剛剛建立的 Provider,其他欄位留空,按確定。
  7. 回到 LINE Developers,點進剛出現的頻道:
    • Basic settings 分頁 → Channel secret,複製起來。
    • Messaging API 分頁 → 最下面 Channel access token → 按 Issue,複製起來。
這兩串等於機器人的鑰匙。不要貼給任何人,也不要貼到群組。

最後關掉 LINE 內建的自動回覆:Official Account Manager → 設定 → 回應設定,把「加入好友的歡迎訊息」和「自動回應訊息」都關掉。

2

拿一把 AI 金鑰(三選一)

不知道選哪個,就先選 Gemini:免費就能開始用,而且語音、生圖都用同一把。

Gemini(Google)ChatGPT(OpenAI)Claude(Anthropic)
費用有免費額度要先儲值,最少 5 美元要先儲值
申請網址Google AI StudioOpenAI PlatformClaude Console
語音訊息可以可以要另外加一把 Gemini 金鑰
畫類似的圖要為金鑰開啟帳單要另外加一把 Gemini 金鑰(開帳單)要另外加一把 Gemini 金鑰(開帳單)
  1. 打開申請網址,登入,建立一把 API key,複製起來先放著。
  2. 選 ChatGPT 或 Claude 的話,要先到網站的 Billing(帳單)頁儲值,金鑰才能用。
Gemini 免費方案的對話內容,Google 可能拿去改進他們的產品。會傳工作文件、學生或客戶資料的話,改用付費方案,或選另外兩家。
生圖用的 Gemini 模型沒有免費額度,要在 Google AI Studio 為這把金鑰開啟帳單才能用,每張圖大約 2 元台幣。不需要生圖的話可以不開,其他功能照常。
3

建立行事曆連接(Apps Script)

這支小程式跑在你的 Google 帳號裡,讓雲端的機器人可以讀寫你的行事曆,不用把 Google 密碼交給任何人。

  1. 打開 Google Apps Script,用行事曆所在的 Gmail 登入,點 新專案,改名為「LINE AI 行事曆」。
  2. 打開 程式碼 CalendarBridge.gs,全選後複製,貼進編輯器(原本的幾行先刪掉),存檔。
  3. 左邊齒輪 專案設定 → 時區 選「(GMT+08:00) 台北」。
  4. 回到編輯器,函式選單選 setup → 執行。跳出授權時選你的帳號;看到「Google 尚未驗證這個應用程式」就點 進階 → 前往(不安全) → 允許。這是因為程式是你自己建的,屬於正常現象。
  5. 右上角 部署 → 新增部署作業 → 齒輪選 網頁應用程式 → 執行身分 我、誰可以存取 所有人 → 部署。
  6. 函式選單選 showSettings → 執行。執行紀錄會印出 CALENDAR_BRIDGE_URL=… 和 CALENDAR_BRIDGE_SECRET=… 兩行,複製起來,第 5 步要用。
選「所有人」是為了讓雲端的機器人連得進來。每個請求都要帶密碼,別人拿到網址也讀不到你的行事曆。
4

建立 Google Cloud 專案、連結帳單

機器人本體跑在這裡。Google 規定要綁卡才能用,但個人用量通常在免費額度內。

  1. 打開 Google Cloud 建立專案,專案名稱填「line-ai」,按 建立。
  2. 建好後在首頁的 專案資訊 找到 專案 ID(例如 line-ai-123456),複製起來。
  3. 打開 帳單,把這個專案連結到帳單帳戶。第一次用要先建立帳單帳戶、填信用卡。
  4. 建議設一個預算提醒:帳單 → 預算與快訊 → 建立預算,金額填每月 100 元。超過時 Google 會寄信通知你。
5

在 Cloud Shell 下載程式、填設定

Cloud Shell 是 Google 在瀏覽器裡提供的終端機,不用在電腦上安裝任何東西。

  1. 在 Google Cloud Console 右上角點 啟用 Cloud Shell(>_ 圖示),下方會開出一個終端機。
  2. 複製下面這行,貼到終端機,按 Enter:
git clone https://github.com/goingli0324/line-ai-assistant-full.git && cd line-ai-assistant-full && cp line-ai.env.example line-ai.env && cloudshell edit line-ai.env
  1. 上方會開出設定檔 line-ai.env。在每個等號後面填上前幾步複製的值,等號前後不要有空白:
    LINE_CHANNEL_SECRET第 1 步的 Channel secret
    LINE_CHANNEL_ACCESS_TOKEN第 1 步的 Channel access token
    AI_PROVIDERgemini、openai 或 claude(小寫)
    AI_API_KEY第 2 步的 AI 金鑰
    CALENDAR_BRIDGE_URL第 3 步印出的網址
    CALENDAR_BRIDGE_SECRET第 3 步印出的密碼
  2. 選 Claude 又想用語音或生圖的話,另外填 GEMINI_API_KEY。
  3. 存檔(Ctrl+S 或 ⌘+S)。
這個設定檔只會存在你的 Cloud Shell,部署時會放進 Google 的 Secret Manager(專門保管密碼的地方),不會跟著程式上傳。
6

一鍵部署

這個指令會幫你開好需要的服務、存好金鑰、部署機器人、建立 LINE 下方的選單。第一次大約 5–8 分鐘。

回到下方的終端機,把 你的專案ID 換成第 4 步複製的專案 ID,按 Enter:

bash scripts/deploy.sh 你的專案ID
  1. 第一次執行時可能會跳出「授權 Cloud Shell」,按 授權。
  2. 畫面會依序顯示 1/7 到 7/7。看到 7/7 完成 後,最下面會印出一個以 /webhook 結尾的網址,複製起來。
出現紅色的 ✗ 時,照它說的修正後,再執行同一個指令就好。已經做完的步驟會自動略過。
7

把網址貼到 LINE

告訴 LINE:有人傳訊息給機器人時,送到這裡。

  1. 到 LINE Developers → 你的頻道 → Messaging API 分頁。
  2. Webhook URL 點 Edit,貼上第 6 步的網址,按 Update。
  3. 把 Use webhook 打開。
  4. 按 Verify,應該顯示 Success。
8

加好友、綁定自己

第一個傳訊息的人會成為主人,之後只有主人能用。

  1. Messaging API 分頁上方有 QR code,用手機 LINE 掃描、加好友。
  2. 傳一則訊息給它,例如「你好」。它回話就代表完成了。
一定要你自己傳第一則訊息。別人之後加好友傳訊息,只會收到「私人助理」的回覆。

試試看:

  • 今天台北會下雨嗎?(上網查)
  • (按住麥克風說)明天早上十點要去看牙醫
  • (傳一張活動海報)→ 點「加到行事曆」
  • (傳一張照片)→ 點「畫類似風格的圖」
?

出問題時

機器人會把大部分錯誤翻成白話回給你。下面是常見狀況。

狀況怎麼辦
Verify 顯示失敗確認網址是第 6 步印出的、以 /webhook 結尾;line-ai.env 裡的 LINE_CHANNEL_SECRET 有沒有貼對。改好後再執行一次部署指令。
回「AI 金鑰不能用」改 line-ai.env 的 AI_API_KEY,再執行一次部署指令。
回「餘額不足」到 AI 公司網站的 Billing 頁儲值。
回「行事曆還沒設定好」或查不到行程重做第 3 步最後的 showSettings,確認兩個值都貼進 line-ai.env,再部署一次。
生圖失敗、說沒有免費額度到 Google AI Studio 為 Gemini 金鑰開啟帳單。
想換 AI 公司改 AI_PROVIDER 和 AI_API_KEY,再部署一次。
想換人當主人到 Firestore 刪掉 config/owner 這筆,再用新的 LINE 帳號傳訊息。

更新到新版:打開 Cloud Shell,執行下面這行(專案 ID 一樣要換):

cd line-ai-assistant-full && git pull && bash scripts/deploy.sh 你的專案ID

不想用了:到 Google Cloud Console 刪除這個專案,就不會再有任何費用。

隱私

  • 機器人跑在你自己的 Google Cloud 專案、行事曆連接跑在你自己的 Google 帳號,對話與行程不會經過作者或任何第三方。
  • 你傳的訊息、照片與語音,會送到你選的 AI 公司處理,依各家的隱私條款處理。
  • 對話記憶只存在機器人的記憶體,30 分鐘沒說話就清掉;Firestore 只記誰是主人。