讓 AI 助理接管真實世界系統的四場實戰
Emma 是跑在我桌機上的 Node.js AI 助理。她有 80 多個工具,能幫我管行事曆、寄信、查資料、排程任務、甚至幫我做影片。
但她遇到了一個工程師都會有的問題——
所以這週,我跟 Claude 做了四件事:逆向家裡的路由器和數據機、讓兩台電腦上的 AI 協作、爬一個封閉的商業網站、接上語音對話。
沒有 API 文件?那就自己寫一份。
/login.cgiasus_token cookieappGet.cgi?hook=nvram_get(key) 查 NVRAMapply.cgi 改設定(Wi-Fi 頻道、重啟...)每個請求都需要 Referer header — 不只 POST,連 GET 都要。少了這個 header,整個 session 直接報廢。
Client list 回傳的不是 JSON,是一坨 JavaScript 變數。要用 regex 硬解。
路由器只允許一個管理 session。API 登入會踢掉你在瀏覽器的 session。所以查完要 logout。
每次登入都要解 CAPTCHA(4 張圖各一個字元)。但圖片太簡單了——白字黑底零干擾。Gemini Vision 辨識率 100%。
rqLanguage 要送 TW,不是 zh_TW。ASP 頁面是空殼 HTML。真正的 API endpoint 要去讀對應的 .js 檔才找得到。
一台電腦上的 AI 把工作丟給另一台電腦上的 AI。
聽起來像科幻片,但其實只要一個 HTTP POST。
Claude Opus 大腦,擅長對話、整合、管理。
「什麼都會一點,但寫 code 不是最快。」
GPT-5.5 Codex 大腦,專精軟體開發。
「給我 repo 路徑,我就能改 code。」
Tailscale VPN 直連。不需要公網 IP,
不需要 port forwarding,就像區網。
/v1/runs API一般 AI API 是同步的 — 你送 prompt,等它回覆。但 Hermes 有個非同步 API,送完任務立刻回傳 run_id,你隨時都能回來查進度。這讓「火後不理」的委派模式成為可能。
BNI Connect Global — 一個有 CSRF、session timeout、
HTML 表格當 API 回傳的封閉會員系統。
表格用 rowspan 合併儲存格,表頭跟資料列不對齊,要逐行手動對應。這是整個專案最痛苦的部分。
OpenAI Realtime API — 不是 STT→LLM→TTS 三段式,
而是端對端語音模型。邊聽邊想邊說。
| 傳統 STT → LLM → TTS | Realtime API gpt-realtime-2 | |
|---|---|---|
| 延遲 | 3-8 秒(三段排隊) | 0.5-1 秒(端對端) |
| 打斷 | 不支援或超爛 | 原生支援,隨時插話 |
| 工具呼叫 | 自己接水管 | 內建 function calling |
| 等待填充 | 自己做或放罐頭音 | 自動說「讓我查一下」 |
| 語調 | TTS 機械感 | 自然語調,有感情 |
後端用 API Key 產生短期 ek_ token → 前端拿這個 token 建立 WebRTC。真正的 API key 永不暴露。
getUserMedia。解:走 Cloudflare Tunnel。(name, args) 但要 ({name, args})。所有工具回 "not found: undefined"。找了半天。文件不可信(如果有的話)。Chrome DevTools Network 面板 + 瀏覽器實際送出的 payload 才是真相。
數據機用 CAPTCHA 防自動化?Gemini Vision 一秒解。反爬蟲在 AI 時代越來越像裝飾品。
Python 爬蟲不要硬塞進 Node.js。包成 FastAPI 微服務,Emma 用 curl 呼叫。各自重啟互不影響。
不要硬規定「所有開發任務都丟 Hermes」。給 AI skill 描述,讓它根據任務性質自己決定要不要委派。
Single session 設備很常見。API 佔住 session,人就進不去管理頁面。查完資料立刻 logout。
TW vs zh_TW、(name, args) vs ({name, args})。最難找的 bug 往往是最低級的錯誤。
有 DevTools 就能逆向,有 Playwright 就能爬,
有 VPN 就能跨機器協作,有 WebRTC 就能開口說話。
真正的門檻不是技術,
是你願不願意花一個下午跟 AI pair programming。