n8n 整合 Claude API:在 VPS 建立 AI 工作流指南
本指南教您如何在 VPS 上的 n8n 部署 Claude AI 工作流,包含 Webhook 摘要、RSS 轉試算表與 AI Agent 三大實作案例。內容涵蓋 Anthropic 憑證設定、模型節點選擇及成本控管,並提醒您務必備份 n8n encryption-key 以防憑證遺失。
你將建立的內容
在您已運行的 n8n 實例上建立三個可運行的 AI 工作流:一個能摘要任何輸入內容的 webhook、一個能將文章轉換為結構化試算表列的排程 RSS 閱讀器,以及一個能自行呼叫 HTTP API 來回答問題的 AI Agent。這是 在您的 VPS 上使用 Python 呼叫 Claude API 的無程式碼對應方案 — 使用相同的 API、相同的 token 與相同的帳單,但編排邏輯位於 n8n 節點而非腳本中。
我假設您已按照 Docker 自託管 n8n 指南 完成了 HTTPS 設定。若尚未完成,請先執行該步驟 — webhook 需要真實的 TLS 端點,且您即將填入 API key 的憑證儲存區需要該指南中強調的 encryption-key 備份。
此處的重點不在於拖放操作,而在於每個節點的模型選擇、會隱含插值 undefined 的提示詞欄位,以及自動化會在無人看管的情況下執行 — 一個每次執行成本僅半美分的 workflow,若在夜間發生重試迴圈並執行四千次,成本也會變得不菲。本指南的大部分內容將著重於這些重點。
單一憑證,使用您備份過的金鑰加密
請從 Anthropic Console (platform.claude.com) 取得 API key — 進入 Settings,點選 API Keys,然後建立一個名稱如 n8n-vps 的 key。該 key 僅會顯示一次。請為帳戶儲值或設定計費方式;API 使用量是按 token 計費,與 Claude.ai 的訂閱完全獨立。
在 n8n 中:點選 Credentials,Create credential,選擇 Anthropic,將 key 貼入 API Key 欄位並儲存。每個 workflow 中的每個 Claude 節點都會引用這一個儲存的憑證 — 您永遠不應將 key 直接貼入節點中。
兩點操作說明。首先,n8n 使用 N8N_ENCRYPTION_KEY 加密儲存的憑證。如果您按照 n8n 指南在 compose 檔案中明確設定了該環境變數,您的憑證將在容器重建後保留;如果您讓 n8n 自動生成並遺失了 volume,所有儲存的憑證(包括此 key)都將變成無法還原的密文。如果您跳過了備份步驟,請立即備份。其次,請將 n8n 憑證儲存區視為風險範圍:任何可以編輯您實例中 workflow 的人,都能使用您的 Anthropic key 發送請求。請在 Console 的 Settings 中設定消費限額,以防止實例被入侵或失控。
模型選擇是針對每個節點的決策
n8n Claude 節點中的模型下拉選單是從 API 即時取得的,因此會顯示您的 key 可存取的模型。截至 2026 年 7 月,產品線與每百萬 input/output token 的 API 定價為:Claude Haiku 4.5 (claude-haiku-4-5) 為 $1/$5,具備 200K context window;Claude Sonnet 5 (claude-sonnet-5) 為 $3/$15(2026 年 8 月 31 日前為優惠價 $2/$10);以及 Claude Opus 4.8 (claude-opus-4-8) 為 $5/$25,兩者皆具備 1M-token context window。此外還有用於處理極高難度推理任務的 Claude Fable 5 (claude-fable-5) — 本指南中的內容皆不需要用到它。請使用這些確切的 ID — 使用舊教學中帶有日期後綴的變體會導致 404 錯誤;且價格會變動,因此在信任任何數字(包括本文)之前,請先至 platform.claude.com 確認。
應養成的習慣:針對每個節點選擇模型,而非針對整個平台。分類、提取、摘要、路由 — 這些自動化的核心任務,使用 Haiku 執行效果極佳,且成本僅為 Sonnet 標價的三分之一、Opus 的五分之一。將 Sonnet 留給 Agent 與多步驟推理,將 Opus 留給極少數錯誤答案成本高於 token 成本的 workflow。一個包含五個 Claude 節點的 workflow 可以且應該混合使用不同模型。
兩個 Claude 節點,以及應在何處使用
n8n 提供兩種不同的 Anthropic 整合方式,選錯節點是初學者最常遇到的錯誤。
Anthropic 節點是一個標準的 app 節點:一次請求,一個回應。其 Text resource 具有 Message a Model 操作,以及分析圖像與文件的操作。只要 workflow 邏輯是在 n8n 中運作(觸發器 $\rightarrow$ Claude 呼叫 $\rightarrow$ 下一個節點),就請使用它。下方的 Workflow 1 與 2 皆使用此節點或其鏈式等效節點。
Anthropic Chat Model 節點是一個子節點 (sub-node) — 它是附加在 AI Agent 或 Basic LLM Chain 等根節點上的小組件,用來提供模型。它本身沒有觸發器也沒有輸出;它提供模型選擇器以及 Sampling Temperature 與 Maximum Number of Tokens 等採樣選項。一個值得記住的 n8n 文件警告:子節點內的 expressions 永遠只會針對 第一個 輸入項目進行解析,而非每個項目 — 請將針對每個項目的 expressions 放在根節點的提示詞欄位中,而非子節點。
Workflow 1: webhook 輸入,摘要輸出
AI 自動化的入門範例:任何 POST 到指定 URL 的內容都會被摘要,並傳送到 Slack 或您的收件匣。
- Webhook 節點 — HTTP Method 為 POST,path 為
summarize。n8n 會提供一個 test URL 與一個 production URL;production URL 僅在 workflow 啟用後才會開始監聽。 - Anthropic 節點 — Message a Model,model 為
claude-haiku-4-5,Max Tokens 設定約 300。 - Slack 節點 (或 Send Email) — 將回應文字傳送到頻道。
提示詞是 n8n expressions 與 Claude 交會的地方。POST body 會落在 $json.body 下,因此 user message 欄位應如下:
Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.
{{ $json.body.text }}請將角色與格式指令放在節點的 system prompt 欄位,而非 user message — system prompt 會保持不變,而 payload 會變動,這能確保行為穩定,並讓提示詞在六個月後仍清晰易讀。請從 VPS 本身進行測試:
curl -X POST https://n8n.example.com/webhook/summarize \
-H 'Content-Type: application/json' \
-d '{"text": "Third support ticket this month about slow disk IO..."}'Haiku 的單次執行成本:1,200-token 的 payload 加上 prompt 約需 $0.0012 (input),300 tokens (output) 約需 $0.0015 — 大約是 0.25 美分。每月執行一千次成本低於 $3。若將同一個節點換成 Opus 4.8,成本約為其五倍。這種比例乘以您建立的每個 workflow,就是為什麼「針對每個節點選擇模型」的習慣如此重要。
Workflow 2: 排程 RSS 轉結構化列
現在來處理排程任務與結構化輸出:每小時讀取一次 RSS feed,對每個項目進行分類,並將結果新增至試算表列。
- Schedule Trigger — 每小時執行一次。
- RSS Read — 指定 feed URL。每個文章輸出一個項目。
- Basic LLM Chain — 配備設定為
claude-haiku-4-5的 Anthropic Chat Model 子節點,以及持有 JSON schema 的 Structured Output Parser 子節點。 - Google Sheets (或 Postgres) — 為每個項目新增一列。
Structured Output Parser 能將「Claude, please return JSON」從一種期望轉變為一種契約:它會根據您的 schema 驗證模型的回答,若驗證失敗會直接標示該項目錯誤,而不會寫入錯誤的資料列。Schema 範例如下:
{
"type": "object",
"properties": {
"category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
"relevance": { "type": "number" },
"one_line_summary": { "type": "string" }
},
"required": ["category", "relevance", "one_line_summary"]
}而 chain 的提示詞會引用 feed 項目:
Classify this article for a VPS hosting audience.
Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}此處的成本計算邏輯不同:這是按項目計費,而非按執行次數計費。每小時 50 篇文章,每天 24 小時,一個月會有 36,000 次 Claude 呼叫 — 使用 Haiku 可能花費 $40–$90(視文章長度而定),使用 Opus 則約為其五倍。請在 LLM 節點前進行去重 (Deduplicate)(例如使用簡單的 IF 判斷先前看過的連結,或使用 n8n 的 Remove Duplicates 節點),這樣呼叫次數會大幅下降,因為大多數每小時輪詢的內容並無新東西。最便宜的 token 就是您從未呼叫過的那個。
Workflow 3: 使用工具的 AI Agent
前兩個 workflow 是流水線 (pipelines) — 由您決定步驟。AI Agent 節點則反轉了這一點:您給予 Claude 一個目標與工具,由 它 決定呼叫哪些工具以及呼叫順序,直到任務完成。n8n 需要附加一個 chat model 子節點與至少一個 tool 子節點。
一個具體的實作範例 — 一個能從您的監控系統回答「什麼掛了以及為什麼」的維運助手:
- Chat Trigger (或 webhook) — 接收問題。
- AI Agent — 配備設定為
claude-sonnet-5的 Anthropic Chat Model 子節點。Agent 會規劃並鏈接工具呼叫;Haiku 可以驅動簡單的單工具 Agent,但一旦工具增加,Sonnet 是合理的最低門檻。 - HTTP Request 節點 — 以 工具 形式附加,指向您的 Uptime Kuma status API 或 Zabbix 端點。第二個 HTTP 工具可以呼叫任何具備 REST API 的服務。
兩個設定決定了大部分成效。Agent 的 System Message 定義了任務:「你是一個維運助手。在回答前,請使用 status tool 檢查目前的監控狀態。僅回報已停止運行的監控項目及其持續時間。」此外,每個工具的 description 並非給人類看的說明文件 — 而是 Claude 決定何時呼叫它的依據。「Returns current up/down state for all monitored services as JSON」會在正確的時刻被呼叫;而「status API」則會被忽略或誤用。當您將 HTTP Request 節點作為工具附加時,請啟用 Optimize Response 選項並選擇關鍵的 JSON 欄位 — 否則每個冗長的 API 回應都會被塞進模型的 context 中,成為您必須付費的 input tokens。
將 Agent 的 Max Iterations(預設為 10)設定為能運作的最小值 — 這決定了是「Agent 在 4 次工具呼叫後放棄」還是「陷入十幾次模型往返的迴圈」。並理解計費模式:每次迭代都會重新傳送至今為止的完整對話內容 — 包括 system message、問題以及先前所有的工具結果 — 作為 input tokens。一個執行 6 次迭代的 Agent 可能輕易累計 20,000 個 input tokens 與 2,000 個 output tokens:以 Sonnet 5 的優惠價計算約為 $0.06,以標準價 $3/$15 計算約為 $0.09 — 這相當於執行 20 次簡單的摘要任務。如果您發現自己為一個 Agent 附加了太多工具,那就是該考慮 在您的 VPS 上執行 MCP servers 以獲得更簡潔架構的時候了。
成本防護措施,因為沒人在看著你
無人看管的 workflow 需要人類在鍵盤前隱含提供的控制手段。分為四層,由最便宜的開始。
每個 Claude 節點的 Max Tokens。 這是硬性的輸出上限。摘要需要 300,分類需要 100。這限制了昂貴的輸出端(每百萬 output tokens 為 $5–$25,而 input 為 $1–$5)並兼作失控煞車 — 一個導致 Claude 喋喋不休的提示詞錯誤只會花掉 300 tokens,而不是 8,000 tokens。
針對每個節點選擇模型。 如前所述;這是在當前產品線中能產生 5 到 10 倍價差的槓桿,且只需花 10 秒鐘設定。
限制迴圈。 設定 Agent 的 Max Iterations。在 workflow 設定中設定 timeout,讓卡住的執行會直接終止而非持續空轉。此外,請謹慎使用每個節點的 Retry On Fail:它是處理暫時性錯誤的正確工具,但重試會增加成本 — 設定 Max Tries 為 3 且 Wait Between Tries 為 5000 ms,意味著一個持續性的錯誤在放棄前會對每個項目收取三次費用。切勿對已經成功執行過且成本高昂的節點進行重試包裝。
使用錯誤處理 workflow 作為後盾。 建立一個以 Error Trigger 節點開頭的 workflow,將失敗的 workflow 名稱與錯誤訊息傳送到 Slack,然後在每個 AI workflow 的設定中將其設為 Error Workflow。這種方式能捕捉到最糟糕的失敗模式:一個排程觸發的 workflow 每小時在錯誤中運行一整週 — 每次執行都在停止前燒掉大量 tokens。請配合 Anthropic Console 中的每月消費限額,並在啟用任何排程任務後的最初幾天檢查 Console 的使用量頁面。如果您想精確了解您的帳單內容,請參考 token-usage 指南。
失敗模式與您會遇到的徵兆
節點立即失敗並顯示 "Authorization failed - please check your credentials." 這是 API 回傳了 401 錯誤。其底層內容為:
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}這通常是 key 貼錯 — 被截斷、包含尾隨空格,或是使用了教學中的佔位符。請重新建立 n8n 憑證並再次貼上;如果昨天還能用,請檢查該 key 是否在 Console 中被撤銷,或者 volume 還原到了使用不同 N8N_ENCRYPTION_KEY 加密的憑證。
執行出現爆發式的 429 rate_limit_error 錯誤, 訊息內容類似於 "Number of request tokens has exceeded your per-minute rate limit." 速率限制是按分鐘計算的,而 n8n 很容易同時發出五十個 webhook 或 RSS 執行。請從結構上解決:改用順序處理項目 (Loop Over Items) 而非並行處理,並將 Retry On Fail 設定為 Max Tries 3 且 Wait Between Tries 為最大值 5000 ms — n8n 將該欄位限制在 5000 ms。當您需要更長的退避時間以確保重試落在下一個分鐘窗口時,請在錯誤路徑中加入 Wait 節點,或逐一處理項目。回應中帶有一個 retry-after header 會告訴您確切需要等待的時間 — n8n 的固定等待功能無法讀取它,因此請自行建立較長的暫停。
404 not_found_error 錯誤,顯示模型名稱錯誤。 回應內容會反映出打字錯誤:
{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}例如將連字號誤打成點 (4.5 對應 4-5)、使用過時部落格中的日期後綴,或是使用了已停用的模型。請根據目前的清單修正 ID — 這常讓那些在模型欄位中使用 expression 而非從下拉選單選擇的人吃苦頭。
Claude 回答了您並未詢問的問題。 完全沒有錯誤 — 執行結果顯示為綠色。這通常是因為 n8n expression 引用了不存在的欄位(例如 payload 使用 message 但 expression 引用了 {{ $json.body.text }}),導致提示詞中被插值進了字面值 undefined,而 Claude 則會努力回應一個關於「無」的提示詞。如果被引用的節點根本沒有執行,您會得到 "Referenced node is unavailable",但「缺失欄位」則是靜默失敗。在啟用之前,請務必使用真實數據執行一次,並在節點的 input panel 中閱讀實際渲染出的提示詞 — expression editor 僅提供預覽值,而 undefined 就就在那裡。
FAQ
我該如何將 Claude 連接到 n8n?
在 Anthropic Console (platform.claude.com) 建立一個 API key,然後在 n8n 中新增一個類型為 Anthropic 的憑證,並將其貼入 API Key 欄位。每個 Claude 節點 — 包括 Anthropic app 節點與 Anthropic Chat Model 子節點 — 都會引用該儲存的憑證。n8n 使用 N8N_ENCRYPTION_KEY 對其進行加密,因此請務必備份該 key,否則您的憑證將隨 volume 一起遺失。
AI workflow 每次執行的成本是多少?
先估算每次執行的 token 數量,然後乘以模型的每百萬單價 — 以 2026 年 7 月為例,Haiku 4.5 為每百萬 input/output token $1/$5,Sonnet 5 為 $3/$15(2026 年 8 月前為優惠價 $2/$10)。Haiku 的 webhook 摘要執行成本約為 0.25 美分;一個包含多次工具呼叫的 Sonnet Agent 執行成本會接近 $0.06–$0.10,因為每次迭代都會重新傳送整個對話作為 input。請參考 Console 的使用量頁面來驗證,而非僅依賴估算。
我應該在 n8n 自動化中使用哪種 Claude 模型?
Haiku 4.5 用於分類、提取、摘要與路由 — 適用於速度與價格為主的量產型任務。Sonnet 5 用於 AI Agent 節點與多步驟推理。僅在錯誤答案成本高到足以抵銷其 $5/$25 標價時才使用 Opus 4.8 —其價格是 Haiku 的五倍,接近 Sonnet 的兩倍。請針對每個節點設定模型,而非針對整個 workflow — 一個 workflow 可以同時混合使用這三種模型。
我該如何防止 n8n workflow 在 Claude API 上過度消費?
建立多層防護:為每個 Claude 節點設定較低的 Max Tokens、為 Agent 設定 Max Iterations、設定 workflow timeout,以及採取保守的 Retry On Fail 設定以避免錯誤導致的 token 消耗倍增。接著,建立一個 Error Trigger workflow,在任何 AI workflow 失敗時透過 Slack 通知您,並在 Anthropic Console 中設定每月消費限額,作為任何 VPS 都無法逾越的硬性上限。
AI Agent 的工具呼叫 (tool calls) 會產生額外費用嗎?
沒有獨立的工具費,但工具並非免費:每個工具的回應都會作為 input tokens 傳回模型,且每次 Agent 迭代都會重新傳送整個對話。一個過於冗長的 API 回應若未經篩選地傳遞,其成本可能會遠超您的實際提示詞 — 請在 HTTP Request 工具上啟用 Optimize Response,並僅回傳 Agent 需要的欄位。