從 0 開始的 AI Agent 生活 · part 5
[Agent 入門 #5] 幫你的電腦開一扇對外的門:用 ngrok 讓 LINE 找得到它
❯ cat --toc
TL;DR
要讓助理接上 LINE,第一關不是 LINE,是讓外面連得到你家裡的電腦。你的電腦對外面沒有地址,LINE 的伺服器找不到它——所以要先開一扇「對外的門」。這篇用 ngrok:免費、一行指令、不用自己有網域,而且免費帳號就送你一個固定網址(重開機也不變),LINE 後台只要填一次。一樣的原則——指令叫 Hermes 跑,你只負責註冊、把 token 存成檔給它讀。
白話導讀:這一篇在解一個「外面找不到你」的問題
上一篇你已經把 Hermes 裝好、能在電腦上跟它對話了。接下來想做的事很自然:讓它接上 LINE,這樣你用手機就能使喚它、它也能傳訊息來找你。
但在碰 LINE 之前,有一關得先過——而且這一關跟 LINE 沒關係,純粹是網路架構的限制。你家裡的電腦躲在 Wi-Fi 後面,外面的世界(包括 LINE 的伺服器)根本不知道怎麼連到它。LINE 要傳訊息進來,卻找不到門。
這篇就是來開這扇門的。開好之後,下一篇接 LINE 就會順很多。這關有點技術,但一樣——動手的是 Hermes,你只在它需要你註冊或交出鑰匙的時候出手。
前言:你家沒有對外地址,宅配送不到
打個比方。
你網購了東西,宅配要送到你家。但如果你家沒有門牌、沒有地址,宅配在巷子裡繞半天也找不到你,東西就送不到。
你家裡的電腦就是這個情況。它在你的 Wi-Fi 裡跑得好好的,但對外面的網路來說,它沒有一個固定的對外地址。LINE 想把訊息「送」進來,就像那個找不到門牌的宅配。
ngrok 做的事,就是幫你的電腦弄一個對外地址——一個外面連得到的固定網址。外面寄到這個網址的東西,ngrok 會自動轉進你家電腦裡的 Hermes。門牌一裝好,宅配(LINE)就送得到了。

為什麼用 ngrok:免費、不用自己有網域、網址還固定
幫電腦開對外門的工具不只一種,但對新手來說 ngrok 最省事,三個原因:
- 免費:個人用免費方案就夠,不用付錢。
- 不用自己有網域:有些做法要你先去買一個網域、設定一堆東西。ngrok 不用——它直接配一個現成的網址給你。
- 網址是固定的:這點最關鍵。ngrok 免費帳號會自動給你一個固定的網址(叫 dev domain,長得像
https://你的名字.ngrok-free.dev),重開機也不會變。
最後這點為什麼重要?因為下一篇接 LINE 時,你要把這個網址填進 LINE 後台一次。如果網址會變,那每次重開電腦就要回去 LINE 後台重填一次,活生生「昨天還會動、今天就壞了」。固定網址 = 填一次,永久有效。
小提醒:網路上有些「快速通道」的做法(不用註冊、一行指令就有網址),但那種網址每次重開就換一個,拿來接 LINE 會一直壞。我們特地選 ngrok,就是要那個固定網址。
動手:先註冊拿鑰匙,再照 ngrok 畫面上的指示裝
ngrok 的引導很貼心——你一登入,就會看到一個「Setup & Installation」畫面,上面把該跑的指令跟你的專屬鑰匙都列好了。所以順序是「先註冊拿鑰匙,再照畫面裝」。而裝跟跑這種技術活,照這系列的慣例交給 Hermes。
第一步:註冊 ngrok(只有你能做)
到 ngrok 官網 點註冊/登入,用 GitHub 或 Google 帳號一鍵登入最快,不用記新密碼。中間它會問你「打算用 ngrok 做什麼」,隨便選或直接按 Skip 都行。

第二步:把鑰匙存成檔案,叫 Hermes 去讀
登入後會看到 Setup & Installation 畫面,重點兩塊:
- Your Authtoken:你的專屬鑰匙,按旁邊的 Copy 就複製起來(先別外流,它等於密碼)。
- How to install and run ngrok:分系統(macOS/Windows)列好的安裝指令。

接下來有個安全小撇步:authtoken 等於密碼,別直接貼進跟 Hermes 的對話框(貼進去會留在對話紀錄裡)。改成先存成一個文字檔,再叫 Hermes 去讀那個檔:
- 開「文字編輯」(Mac 內建 TextEdit/Windows 用記事本),把你按 Copy 複製的 authtoken 貼進去。
- 存成桌面上的一個檔,例如
ngrok-token.txt。 - 打開 Hermes 跟它說:
我的 ngrok authtoken 存在桌面的
ngrok-token.txt。請讀那個檔、用裡面的鑰匙把 ngrok 裝好設定好,再用ngrok http 8646開一個對外網址指到你的 gateway,最後把那個固定網址告訴我。設定好之後那個檔可以幫我刪掉。
這樣鑰匙只待在你電腦的檔案裡、不會跑進對話紀錄。Hermes 會照著跑這三步(你不用記,卡住時可對照):
- 裝:
brew install ngrok - 讀檔、設定鑰匙:
ngrok config add-authtoken <檔案裡的 token> - 開門:
ngrok http 8646(8646 是 Hermes 用來收 LINE 訊息(webhook)的埠)
想完全自己來也行:打開「終端機」,把 ngrok 畫面那幾行指令依序貼上跑,第 3 步埠號改成 8646 即可(這樣 token 同樣不會進對話)。
跑起來之後,畫面會出現一行 Forwarding,後面就是你的固定網址:
Forwarding https://你的名字.ngrok-free.dev -> http://localhost:8646
把這個網址記下來——下一篇接 LINE 會用到(webhook 就是這個網址後面加 /line/webhook)。
確認門真的開了
開好之後,最直接的證據就在 ngrok 自己的畫面上。它跑起來後你會看到:
Session Status online
Forwarding https://你的名字.ngrok-free.dev -> http://localhost:8646
Session Status 顯示 online、加上那行 Forwarding 網址——這就代表門開好了、對外通了。
想再保險一點,可以自己當一次「外面的人」:用手機(記得關掉 Wi-Fi、改用行動網路,才是真的從外面連)打開那個 https://....ngrok-free.dev 網址。畫面大概會跳出一小段文字,例如 404: Not Found——別緊張,這不是壞掉。它代表你的電腦確實回應了(門通了),只是首頁本來就沒東西可顯示而已。真正「LINE 連不連得上」的測試,要等下一篇按 LINE 後台的 Verify 才會做。
(少數情況 ngrok 免費版會先擋一個提示頁要你按「Visit Site」才繼續,那也正常;而且 LINE 的訊息是機器對機器送進來,不會被這頁擋住。)
讓門一直開著:設成開機自動啟動
還有最後一個收尾。剛剛那個 ngrok http 8646 是「現在開著」,但你一關掉視窗、或電腦重開機,門就關了,LINE 又會找不到你。
所以要讓它開機就自動把門打開。一樣交給 Hermes:
再幫我設定成開機自動啟動,這樣我重開機之後,這個對外網址也會自己跑起來,不用我每次手動開。
Hermes 的 gateway(也就是顧排程、接訊息那個背景小程式)本來就會開機自動跑;現在把 ngrok 也設成自動啟動,這扇對外的門就一直開著——你關掉視窗、重開機,它都會自己回來。
卡住的話:把畫面上的錯誤訊息整段貼回去給 Hermes,讓它自己想辦法——它本來就是來解這種問題的。
這篇做完,你手上有什麼
- 一個固定的對外網址(
https://....ngrok-free.dev),外面連得到你家電腦。 - 這個網址重開機也不會變、會自己跑起來。
- 你已經把它抄下來,下一篇接 LINE 直接拿來用。
門開好了。下一篇,我們就把 LINE 接上去,讓你從手機就能使喚這個助理。
這個系列:
- Part 1:AI 助理跟 ChatGPT 差在哪
- Part 2:什麼是 agent 框架?為什麼別自己拼程式
- Part 3:我們的固定組合——ChatGPT 大腦 + Hermes 身體
- Part 4:手把手裝好桌面版,跟第一個助理對話
- Part 5:幫你的電腦開一扇對外的門——用 ngrok(本篇)
- Part 6:接上 LINE,從手機使喚你的助理
- Part 7:讓助理自己跑任務,每天主動傳 LINE 給你
延伸閱讀:ngrok 官方快速上手
常見問題
- 為什麼接 LINE 之前要先弄一個對外網址?
- 因為 LINE 是用「webhook」運作的:有人傳訊息給你的 bot 時,是 LINE 的伺服器主動連到你的電腦送訊息進來。但你家裡的電腦對外面來說沒有地址,LINE 找不到它。所以要先用 ngrok 這種工具,幫你的電腦開一個固定的對外網址,LINE 才連得進來。
- ngrok 免費版夠用嗎?網址會不會一直變?
- 夠用。ngrok 免費帳號會自動配給你一個固定的網址(dev domain,長得像 your-name.ngrok-free.dev,少數情況是 .ngrok-free.app,以畫面顯示為準),重開機也不會變。這點很重要:網址固定,你在 LINE 後台才只要填一次。要避開那種「每次重開就換網址」的臨時通道,不然會一直壞。
- 這一步一定要我自己用指令嗎?
- 指令交給 Hermes 跑就好。你只要做「只有你能做」的部分:去 ngrok 官網註冊一個帳號、把 authtoken 存成一個文字檔(別直接貼進對話框,會留在紀錄裡),再叫 Hermes 去讀那個檔。剩下安裝、啟動、設定開機自動跑,都讓 Hermes 自己處理。