從 複誦到看圖說故事:我與 AI 助理 15 分鐘將 LINE Bot 升級 Gemini 2.5 多模態大腦與免密認證實錄
在上一次的實驗中,我與 AI 協同開發助理 Antigravity 合作,在 20 分鐘內將一個基礎的 LINE Echo 機器人成功打包並部署到 Google Cloud Run。
從 複誦到看圖說故事:我與 AI 助理 15 分鐘將 LINE Bot 升級 Gemini 2.5 多模態大腦與免密認證實錄
在上一次的實驗中,我與 AI 協同開發助理 Antigravity 合作,在 20 分鐘內將一個基礎的 LINE Echo 機器人成功打包並部署到 Google Cloud Run。
上集回顧:程式小白也能看懂!我與 AI 攜手 20 分鐘無痛打造 LINE Bot實錄

不過,一個只會重複使用者說話的 Echo Bot 雖然能運作,但實用性較為有限。在完成了基礎架構後,我決定延續先前的成果,在原有的基礎上進行升級。我直接向 AI 助理下達了新任務:
💬 「請幫我把這個改成打字後呼叫 gemini,然後給我回應。」
以此為起點,我們開始擴充功能,目標是讓它不僅能理解上下文、甚至能「看懂」使用者傳送的照片。
這一次,我們要在原本的專案架構上進行功能擴建:不僅將大腦升級為搭載 Google 企業級 Vertex AI (Gemini 2.5 Flash) 的多模態助手,同時也解決專案遷移至新 GitHub 時,背景自動化上傳常卡在「金鑰 Token 認證」的技術關卡。
以下是我在現有系統基礎上,與 AI 助理一邊對話、一邊攻克難關的真實紀錄。
📌 升級大腦與配備:本次新增的核心組件
為了讓 LINE Bot 具備「思考與看圖」的能力,AI 助理幫我在原有的 Node.js 專案中,增添並配置了以下三項核心配件:
- Vertex AI Gemini 2.5 Flash 模型:Google 的新一代 AI 旗艦模型。其反應速度快,且具備多模態理解能力,能同時處理文字與圖片。
- 在地化系統指令(System Instruction):我們在大腦的系統指引中,設定了流暢、符合台灣習慣的繁體中文作為回覆限制,確保對話自然且貼近在地用語。
- 專屬多模態搬運工(MessagingApiBlobClient):在最新版 LINE SDK v9 中,原本負責發送訊息的
MessagingApiClient被調整為輕量化設計,不再負責下載大型的圖片檔案。因此,我們需要透過MessagingApiBlobClient來下載圖片,並將其轉換成 Base64 格式傳給 Gemini 分析。
🛠️ 第一關:模型不支援區域的 404 限制挑戰
當我們順利完成程式碼改寫,並部署上位於台灣(asia-east1)的 Cloud Run 伺服器後,我向 LINE Bot 傳送了第一條訊息,系統卻返回了錯誤資訊:
❌ [VertexAI.ClientError]: Publisher Model … was not found or your project does not have access to it.

白話翻譯:「在當前區域找不到指定的 Gemini 大腦模型。」
💡 跨時區思考:保留連線速度,轉移運算區域
我原本以為是 Vertex AI 權限配置錯誤,但 Antigravity 迅速診斷出原因:
「這是因為最新版的
gemini-2.5-flash模型,目前在 Google Cloud 台灣區域(asia-east1)尚未完全對外開放,因此會報 404 錯誤。」
如果為了模型而把整個服務遷移出台灣,會增加 LINE 伺服器與機器人之間的網路延遲。
為了解決這個問題,AI 助理提出了一個兼顧速度與算力的雙贏方案:
「我們將 LINE Bot(前台接收端)留在台灣,確保與 LINE 伺服器的快速連線;但是當需要 AI 進行分析與思考時,我們在程式中引導它將請求發送至完全支援新模型的美國中部區域(
us-central1)。」
我們將 GCP_LOCATION 環境變數設定為 us-central1,重新測試後,機器人隨即流暢地以台灣繁體中文做出了回覆,成功突破了區域限制。

📸 第二關:多模態圖片分析與 LINE v9 SDK 的 API 異動
解決了文字對話後,接著是重頭戲:讓機器人分析照片。
然而,當我傳送球員的照片進行測試時,系統再次彈出報錯:
❌ TypeError: client.getMessageContent is not a function

白話翻譯:「訊息接收端無法順利下載使用者上傳的照片檔案。」
💡 LINE SDK v9 介面變更與 Base64 轉換
如果自行翻閱官方 API 的改版日誌,往往需要耗費不少時間。但 AI 助理在數秒內便給出了精確解答:
「在 LINE SDK v9 更新之後,下載圖片檔案的權限已轉移給專門的
MessagingApiBlobClient。同時,參數格式也從傳遞『一個物件』改為直接傳遞『字串格式的 messageId』。」
在理清原因後,AI 助理迅速修改了對接邏輯:
- 實例化專門處理二進位資料的
MessagingApiBlobClient。 - 接收到照片訊息時,引導搬運工將照片下載為 Buffer 流,再轉換成 Base64(inlineData)安全地遞交給 Vertex AI 進行看圖分析。
重新部署後,當我再次傳送球員照片,機器人幾秒內便給出了親切且精準的分析:
「📸 收到照片,正在幫您分析… 這張照片看起來是從棒球場或壘球場的休息區,透過綠色的鐵絲網拍出去的呢!感覺超有臨場感的!…」

🔐 第三關:遠端倉庫遷移與「免密碼自動通關」配置
完成所有功能測試後,下一步是將這套具備多模態 AI 超能力的專案備份。此時,我直接對 AI 助理下達了明確指令:
💬 「我要把 repo 換到這個位置 https://github.com/zonawang/line-ai-bot.git,請幫我根據功能改寫 readme。」
AI 助理很快地幫我更新了遠端倉庫的網址,並流暢地改寫了 Readme 檔案。接著,我說:
💬 「幫我直接 push 上去。」
然而,由於在開發環境中,後台背景執行不支援彈出認證視窗,Git 程式因為無法向我索取 GitHub 金鑰(Token)而陷入無限等待的卡死狀態。
我詢問 AI 助理:
💬 「再跟我說一次如何申請 token。」
💬 「請幫我把 token 存在系統上,讓我下次不用再輸入。」
💡 免除手動輸入:將 Token 嵌入 Git 遠端網址
針對這些需求,Antigravity 不僅提供了申請步驟,還提出了一套兼顧安全與自動化的工程解決方案。
它建議不需將 Token 寫在任何程式碼中,而是直接把 Token 安全地嵌入在本地的 Git 遠端網址配置中: https://<你的GitHub_Token>@github.com/zonawang/line-ai-bot.git
這項調整帶來的效益十分顯著:
- 背景自動化不卡死:因為 Git URL 內建了認證資訊,背景上傳時不再需要彈出視窗索取密鑰。
- 自動通關體驗:往後無論是我還是 AI 助理,在這台電腦的此專案目錄下執行任何 Git 推送,Git 都會自動使用這把鑰匙進行認證,徹底擺脫每次複製貼上 Token 密鑰的繁瑣步驟。
📋 貼心附錄:如何 3 步驟申請專屬的 GitHub Token?
如果你也想讓你的專案實現免密碼上傳,可以透過以下步驟申請:
- 進入 GitHub 設定:登入 GitHub 後,點選右上角頭像 -> Settings -> 拉到最下方的 Developer settings -> Personal access tokens -> Tokens (classic)。
- 生成新 Token:點選 Generate new token (classic)。在 Note 欄位輸入這個 Token 的用途(例如 “line-bot-deploy”),過期時間(Expiration)可以選擇 30、60 天或永久,並勾選「repo」權限(這能允許我們讀寫儲存庫)。
- 複製並保存:滑到最下方點擊 Generate token。請務必「立刻複製」畫面上顯示的那串以
ghp_開頭的超長代碼!因為一旦重新整理網頁,這串代碼就再也看不到了。
申請完成後,配合 AI 助理配置遠端倉庫網址,即可享受免密碼的自動化推送體驗。
💬 結語:在打好的地基上,創意的天空無限寬廣
回顧這整趟從「Echo Bot 升級至多模態 AI」與「GitHub 倉庫認證自動化」的過程,這正是人機協同開發的優勢:
- 技術細節與排錯交由 AI 處理:包括 404 區域限制繞道、LINE SDK API 異動的迅速改寫、以及解決 Git 背景上傳掛起的認證痛點。
- 方向與決策由人類主導:人類負責決定新功能的走向,並透過具體口語的 Prompt(例如 repo 的更換、自動儲存 token 的需求等)引導 AI 精準執行。
在有 AI 輔助的開發新時代,我們不再需要花費大量時間去死記生硬的工具指令或排版日誌,而是能將精力集中在「如何清晰表達邏輯與創意」。
準備好與你的 AI 助理一起,繼續在你的雲端服務上堆疊出更多實用的新點子了嗎?
— — 本專案的完整程式碼與安全配置已全數備份至 GitHub:https://github.com/zonawang/line-ai-bot,如果您對建立自己的 LINE 機器人或與 AI 協同開發感興趣,歡迎隨時與我交流!
메타데이터
- post_id
- 9fe9c64d1ea2
- slug
- 續集-從學舌到看圖說故事-我與-ai-助理-15-分鐘將-line-bot-升級-gemini-2-5-多模態大腦與免密通關實錄-9fe9c64d1ea2
- url
- https://medium.com/@zonawang/%E7%BA%8C%E9%9B%86-%E5%BE%9E%E5%AD%B8%E8%88%8C%E5%88%B0%E7%9C%8B%E5%9C%96%E8%AA%AA%E6%95%85%E4%BA%8B-%E6%88%91%E8%88%87-ai-%E5%8A%A9%E7%90%86-15-%E5%88%86%E9%90%98%E5%B0%87-line-bot-%E5%8D%87%E7%B4%9A-gemini-2-5-%E5%A4%9A%E6%A8%A1%E6%85%8B%E5%A4%A7%E8%85%A6%E8%88%87%E5%85%8D%E5%AF%86%E9%80%9A%E9%97%9C%E5%AF%A6%E9%8C%84-9fe9c64d1ea2
- canonical_url
- https://medium.com/@zonawang/%E7%BA%8C%E9%9B%86-%E5%BE%9E%E5%AD%B8%E8%88%8C%E5%88%B0%E7%9C%8B%E5%9C%96%E8%AA%AA%E6%95%85%E4%BA%8B-%E6%88%91%E8%88%87-ai-%E5%8A%A9%E7%90%86-15-%E5%88%86%E9%90%98%E5%B0%87-line-bot-%E5%8D%87%E7%B4%9A-gemini-2-5-%E5%A4%9A%E6%A8%A1%E6%85%8B%E5%A4%A7%E8%85%A6%E8%88%87%E5%85%8D%E5%AF%86%E9%80%9A%E9%97%9C%E5%AF%A6%E9%8C%84-9fe9c64d1ea2
- author_url
- https://medium.com/@zonawang
- status
- ok
- fetched_at
- 2026-07-17 09:25:19