Claude n8n VPS AI 工作流程建置教學
學會在自有 VPS 的 n8n 連接 Claude:設定憑證、逐節點選模型,完成 3 個 AI 工作流程,並掌握 API 費用、401 錯誤與重試失控問題。
建置內容
在您現有的 n8n 執行個體上建置 3 個可運作的 AI 工作流程:可摘要您傳入之任意內容的 webhook、將文章轉換為結構化試算表資料列的排程摘要來源讀取器,以及能自行呼叫 HTTP API 來回答問題的 AI Agent。這是不使用程式碼的替代方案,對應於在 VPS 上以 Python 呼叫 Claude API;使用相同的 API、相同的權杖和相同的費用,但由 n8n 節點負責協調,而不是由指令碼處理。
以下假設您已依照在 Docker 上自行託管 n8n 的指南,讓 n8n 透過 HTTPS 執行。如果尚未完成,請先處理此項目。webhook 需要有效的 TLS 端點,而您即將存放 API key 的認證資料儲存區,也需要該指南提醒您備份的 encryption key。
這裡真正有趣的問題不是拖放操作,而是每個節點的模型選擇、會靜默插入 undefined 的提示欄位,以及自動化會在無人管理的情況下執行。每次執行成本半美分的工作流程看似便宜,但重試迴圈若在一夜之間執行 4000 次,情況就不同了。本指南大多著重於這些問題。
一組憑證,使用備份的金鑰加密
從 Anthropic Console 進入 platform.claude.com 的 Settings,再進入 API Keys,取得 API key,並將其命名為類似 n8n-vps 的名稱。此金鑰只會顯示一次。建立金鑰時,Console 也會要求選擇到期時間;請記下日期,因為金鑰到期會導致無人值守的工作流程中斷,並出現下方「失敗模式」所述的相同 401 錯誤。請為帳戶儲值或設定付款方式;API 使用量會依 token 計費,並從預付額度中扣款。Pro 訂閱不包含 API 使用量,但 Claude Max 和 Team 方案目前包含每月 Claude API 額度(Max 5x 為 $100、Max 20x 為 $200、Team 共用額度最高為 $500)。您必須在 claude.ai 的 billing 設定中連結 Console 組織,才能申請這些額度。這些額度可支付 n8n 發出的 API 呼叫,但不適用於 Claude Code,且會在每個計費週期結束時到期。如果您原本希望完全不付費就建立這 3 個工作流程,Anthropic 的 pricing FAQ 表示新使用者會獲得少量免費額度來測試 API。因此,新的 Console 帳戶可以先使用這些初始額度測試工作流程,再新增付款方式;額度用盡後,每次 Claude 呼叫都會依 token 計費。另有少數項目不會產生 token 以外的費用,例如 token counting endpoint,以及每個組織每月最多 1,550 小時的免費 code-execution 時間。不過,這 3 個工作流程都不會使用 code execution。免費 API 額度涵蓋的內容會詳細說明相關細節。
在 n8n 中依序選取:Credentials、Create credential,選擇 Anthropic,將金鑰貼到 API Key 欄位,然後儲存。每個工作流程中的 Claude 節點都會引用這組已儲存的憑證,您不必將金鑰貼到節點中。
請注意以下 2 點。首先,n8n 會使用 N8N_ENCRYPTION_KEY 加密已儲存的憑證。如果您依照 n8n 指南,在 compose 檔案中明確設定該環境變數,憑證就能在重建容器後保留;如果您讓 n8n 自動產生金鑰,之後又遺失 volume,所有已儲存的憑證,包括這組金鑰,都會變成無法復原的密文。如果先前略過備份,請現在立即備份金鑰。其次,請將 n8n 憑證存放區視為影響範圍:任何能使用您的 Anthropic 憑證的人,都能使用您的金鑰發出請求。在 Community edition 中,能存取的人是您和 instance owner;n8n 的文件說明為「只有 instance owner 和建立這些項目的使用者能存取工作流程與憑證」,因此其他 Member 帳戶無法存取。自架 n8n 的工作流程與憑證共用功能屬於付費功能(Business 或 Enterprise);一旦共用工作流程,該工作流程的編輯者就能使用它所引用的所有憑證。因此,如果還有其他人登入此 instance,請先閱讀付費 n8n 授權所提供的存取控制,再建立帳戶。請在 Console 的 Settings 中設定支出上限,讓遭入侵或失控執行的 instance 受到費用上限限制。
模型選擇應以節點為單位
n8n 中 Claude 節點的模型下拉式選單會即時從 API 取得資料,因此顯示的模型取決於您的 API key 可存取的項目。本指南使用的模型,以及截至 2026 年 10 月、每百萬個輸入/輸出 token 的 API 價格如下:Claude Haiku 4.5(claude-haiku-4-5)為 $1/$5,具備 200K context window;Claude Sonnet 5(claude-sonnet-5)為 $2/$10;Claude Opus 4.8(claude-opus-4-8)為 $5/$25,後兩者皆具備 1M-token context window。此外,Claude Fable 5(claude-fable-5)的價格為 $10/$50,適合最複雜的推理工作;本指南不需要使用它。請使用這些確切的 ID。claude-haiku-4-5 是固定快照 claude-haiku-4-5-20251001 的 alias,也可以正常運作;但從舊教學複製的日期版 ID 可能指向已停止提供的模型,導致執行失敗。價格會變動,因此在採信任何來源的數字前,請先查看 platform.claude.com,包括本頁提供的數字。
本指南首次發布後,Anthropic 已發布較新的模型,文件目前也將 Haiku 4.5、Sonnet 5、Opus 4.8 和 Fable 5 標示為 legacy。這些模型仍可使用。棄用頁面列出的 Haiku 4.5 停用時間不早於 2026 年 10 月 15 日;該日期已經過去,而截至 2026 年 10 月 20 日,該頁面仍將 Haiku 4.5 顯示為 active,且沒有棄用通知。Sonnet 5、Opus 4.8 和 Fable 5 的停用時間不早於 2027 年年中。Anthropic 在停止提供公開發布的模型前,至少會提前 60 天通知;如果您的工作流程固定使用 Haiku 4.5,請監控其棄用頁面。目前的模型陣容包括 Claude Haiku 5.5(claude-haiku-5-5,於 2026 年 10 月 7 日發布),提示最多 100,000 個 token 時價格為 $0.10/$0.50,超過該數量則為 $0.50/$2.50;Claude Sonnet 5.5(claude-sonnet-5-5)為 $2/$10;Claude Opus 5.5(claude-opus-5-5)為 $4/$20;Claude Fable 5.1(claude-fable-5-1)為 $10/$50。Haiku 5.5 的 tokenizer 對相同文字計算出的 token 數量約比 Haiku 4.5 多 30%,因此請在 Console 的 usage page 比較每次實際執行成本,不要只比較牌價。
應建立的習慣是:以節點為單位選擇模型,而不是以平台為單位。分類、擷取、摘要和路由是自動化的基本工作,使用 Haiku 即可出色完成,其牌價只有 Sonnet 的一半、Opus 的五分之一。將 Sonnet 保留給 agents 和多步驟推理;只有在錯誤答案的成本高於 token 成本時,才使用 Opus。一個包含 5 個 Claude 節點的工作流程可以、也應該混用不同模型。
兩個 Claude 節點,以及各自適用的情境
n8n 提供兩個不同的 Anthropic 整合,選錯節點是初學者最常走的彎路。
Anthropic 節點是一般應用程式節點:輸入一個請求,輸出一個回應。其 Text 資源包含 Message a Model 操作,也提供分析影像與文件的操作。只要工作流程邏輯位於 n8n 中,就應使用此節點,流程通常是觸發器、Claude 呼叫、下一個節點。下方的工作流程 1 和 2 會使用此節點或其 chain 等效節點。
Anthropic Chat Model 節點是子節點,會以小型附加元件的形式,將模型提供給 AI Agent 或 Basic LLM Chain 等根節點。它沒有觸發器,也不會自行輸出結果;它提供模型選擇器,以及 Maximum Number of Tokens 和 Sampling Temperature 等取樣選項。n8n 文件中有一項值得記住的注意事項:子節點中的運算式一律會以第一個輸入項目為解析對象,而不是逐一對應每個項目。因此,逐項運算式應放在根節點的 prompt 欄位,而不是子節點中。Anthropic 方面也有一項注意事項:在 Claude 4.7 及更新版本的模型上,也就是本指南中除 Haiku 4.5 以外的所有模型,若將 temperature、top_p 或 top_k 設為非預設值,會傳回 400 錯誤。因此,請在這些模型上將 Sampling Temperature、Top K 和 Top P 留空。
工作流程 1:輸入 webhook,輸出摘要
這是 AI 自動化的入門範例:將以 POST 傳送至 URL 的任何內容進行摘要,然後送到 Slack 或你的收件匣。
- Webhook 節點,HTTP Method 設為 POST,路徑為
summarize。n8n 會提供測試 URL 與正式環境 URL;只有在工作流程發布後,正式環境 URL 才會開始接收請求。 - Anthropic 節點,選擇 Message a Model,模型設為
claude-haiku-4-5,Max Tokens 約設為 300。 - Slack 節點(或 Send Email),將回應文字發布到頻道。
提示詞是 n8n 運算式與 Claude 的交會點。POST 主體會位於 $json.body 下,因此使用者訊息欄位會如下所示:
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 則會變動。這能讓行為保持穩定,也讓你在 6 個月後仍能讀懂提示詞。請直接從 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 輸入約為 $0.0012,輸出 300 個 token 約為 $0.0015,總計約四分之一美分。每月執行 1,000 次,成本低於 $3。相同節點若改用 Opus 4.8,成本約為上述的 5 倍。這個比例乘上你建立的每個工作流程,正是每個節點都應選擇合適模型的原因。
Workflow 2:將排程 RSS 轉換為結構化資料列
現在改為依固定時間執行,並產生結構化輸出:每小時讀取 RSS 摘要、分類每個項目,然後將資料列附加至試算表。
- 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,請回傳 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 時,約為其 5 倍。請在 LLM 節點前先去除重複項目(可使用簡單的 IF,對照先前看過的連結,或使用 n8n 的 Remove Duplicates 節點),呼叫次數會大幅減少,因為大多數每小時輪詢都沒有新內容。最便宜的 token,就是不必發出的呼叫。
使用工具的 AI Agent
前兩個工作流程是管線,步驟由你決定。AI Agent 節點則相反:你提供目標與工具給 Claude,接著由 它 決定要呼叫哪些工具、依何種順序呼叫,直到完成任務。n8n 要求附加 chat model 子節點,且至少附加一個工具子節點。
以下是一個具體建置範例:建立營運助理,從監控系統回答「哪些服務故障,以及原因為何」。
- Chat Trigger(或 webhook)接收問題。
- AI Agent,附加設定為
claude-sonnet-5的 Anthropic Chat Model 子節點。Agent 會規劃並串接工具呼叫;Haiku 可驅動簡單的單工具 Agent,但工具數量增加後,Sonnet 才是合理的最低選擇。 - 將 HTTP Request 節點以工具形式附加,指向你的 Uptime Kuma 狀態 API 或 Zabbix endpoint。第二個 HTTP 工具則可呼叫任何提供 REST API 的服務。
兩項設定最為關鍵。Agent 的 System Message 定義工作內容:「你是營運助理。回答前,先使用狀態工具檢查目前的監控狀態。只回報已停止的監控項目,並附上持續時間。」每個工具的描述也不是給人看的文件,而是 Claude 判斷何時呼叫該工具的依據。「以 JSON 回傳所有受監控服務目前的 up/down 狀態」能讓工具在適當時機被呼叫;「狀態 API」則可能被忽略或誤用。將 HTTP Request 節點附加為工具時,啟用 Optimize Response 選項,並選取重要的 JSON 欄位。否則每次冗長的 API 回應都會完整送入模型內容,成為需要付費的輸入 token。
在 Agent 上設定 Max Iterations(預設為 10)時,應設為能運作的最小值。這可能決定結果是「Agent 呼叫 4 次工具後放棄」,還是執行十多次模型往返的迴圈。另請了解計費方式:每次迭代都會重新傳送目前為止的完整對話,包括 system message、問題及先前每個工具的結果,並計入輸入 token。一次 6 次迭代的 Agent 執行,很容易累計 20,000 個輸入 token 與 2,000 個輸出 token;使用 Sonnet 5、費率為 $2/$10 時,費用約為 $0.06,也就是一次簡單摘要執行費用的約 20 倍。若你發現自己持續將許多工具附加到單一 Agent,這就是在 VPS 上 執行 MCP 伺服器會更簡潔的架構時機。
成本防護措施,因為沒有人持續監看
無人值守的工作流程需要原本由鍵盤前的人員隱含提供的控制措施。分成4層,先從成本最低的開始。
每個 Claude 節點都設定 Max Tokens。 這是輸出上限。摘要器需要 300,分類器需要 100。這能限制高成本的一側(本指南涵蓋的模型中,每百萬輸出 token 為 $5–$50,每百萬輸入 token 為 $1–$10;每個模型的輸出價格是輸入價格的 5 倍),也能兼作失控防護。若 prompt 錯誤導致 Claude 持續產生內容,成本會是 300 個 token,而不是 8,000 個。
每個節點指定模型。 上文已說明;Haiku 4.5 到 Opus 4.8 之間,價格差距是 5 倍;到 Fable 5 則是 10 倍;在目前的產品線中,從 Haiku 5.5 到 Fable 5.1,對於最多 100,000 個 token 的 prompt,差距可達 100 倍。設定只需 10 秒。
限制迴圈。 在 agents 上設定 Max Iterations。在 workflow 的設定中設定 workflow timeout,讓卡住的執行程序停止,而不是持續執行。也要謹慎使用每個節點的 Retry On Fail:它適合處理暫時性錯誤,但重試會增加成本。Max Tries 設為 3、Wait Between Tries 設為 5000 ms 時,持續性錯誤會讓每個項目在放棄前最多計費 3 次。不要在已經產生高額成本且成功的節點外再包一層 retry。
以錯誤工作流程作為最後防線。 建立一個以 Error Trigger 節點開頭的 workflow,將失敗 workflow 的名稱與錯誤訊息傳送到 Slack,然後在每個 AI workflow 的設定中將它指定為 Error Workflow。這能攔截最糟糕的失敗情況:由排程觸發的 workflow 每小時執行一次、每次都發生錯誤,持續一週;每次執行都在停止前消耗 token。再搭配 Anthropic Console 中的每月支出上限,並在啟用任何排程工作後的前幾天檢查 Console 的用量頁面。如果要確實了解計費內容,請參閱token 用量指南。
錯誤模式與實際顯示的訊息
節點立即失敗,顯示「Authorization failed - please check your credentials.」 API 回傳 401。回應本文的結構如下(目前的回應也會包含 request_id 欄位):
{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}可能原因包括金鑰貼錯、遭截斷、尾端含有空白,或誤用了教學中的預留值。重新建立 n8n 憑證並再次貼上金鑰;如果昨天仍可正常運作,請在 Console 中確認金鑰是否已撤銷或到期,或磁碟區還原是否將資料回復到使用不同 N8N_ENCRYPTION_KEY 加密的憑證。
執行作業成批失敗,並出現 429 rate_limit_error, 訊息可能類似「Number of request tokens has exceeded your per-minute rate limit.」。速率限制以分鐘計算,並透過持續補充的 token bucket 強制執行;n8n 很容易同時觸發 50 個 webhook 或 RSS 執行作業。請從流程結構著手修正:使用 Loop Over Items 依序處理項目,而不是平行處理;並設定 Retry On Fail,將 Max Tries 設為 3,將 Wait Between Tries 設為上限 5000 ms。n8n 對此欄位的上限是 5000 ms。若需要更長的退避時間,讓 bucket 有時間在重試前補充,請在錯誤路徑中加入 Wait 節點,或一次只處理一個項目。速率限制造成的 429 通常會包含 retry-after header,告知應等待的秒數(Anthropic 的文件指出,並非每個 429 都會包含此 header)。n8n 的固定等待時間無法讀取該值,因此請自行建立較長的暫停時間。唯一例外是:沒有 retry-after header,且 error_code 為 enforced_spend_limit_reached 的 429,表示組織已達到使用層級的每月支出上限。在下個月開始或提高使用層級前,任何重試都不會成功。
404 not_found_error,指出模型名稱有問題。 訊息會列出你傳送的模型 ID,類似:
{"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 仍會正常回應,但實際上是在回答沒有內容的提示。若參照的節點完全沒有執行,n8n 會停止並顯示 expression 參照的節點「尚未執行」;但缺少的欄位不會產生錯誤。啟用前,務必先使用實際資料執行一次,並在節點的輸入面板中查看實際產生的提示。expression editor 會預覽解析後的值,只要查看即可看到 undefined。
FAQ
如何將 Claude 連接至 n8n?
先在 Anthropic Console 的 platform.claude.com 建立 API key,接著在 n8n 新增類型為 Anthropic 的憑證,並將其貼到 API Key 欄位。每個 Claude node、Anthropic app node 和 Anthropic Chat Model sub-node 都會使用這組已儲存的憑證。n8n 會使用 N8N_ENCRYPTION_KEY 加密該憑證,因此請備份此金鑰,否則憑證會隨著 volume 一併遺失。
每次執行 AI workflow 的成本是多少?
先估算每次執行所需的 tokens,再乘以模型每百萬 tokens 的價格。截至 2026 年 10 月,Haiku 4.5 的輸入/輸出 tokens 價格分別為每百萬 $1/$5,Sonnet 5 則為 $2/$10。使用 Haiku 執行 webhook 摘要工作的成本約為四分之一美分;使用 Sonnet 執行包含數次 tool calls 的 agent,成本則接近 $0.06–$0.10,因為每次迭代都會重新傳送完整對話作為輸入。請在 Console 的 usage 頁面確認實際執行成本,不要只依賴估算值。
n8n 自動化應使用哪個 Claude model?
分類、擷取、摘要與路由,以及速度和價格優先的大量工作,使用 Haiku 4.5。AI Agent nodes 和多步驟推理使用 Sonnet 5。只有在錯誤答案的代價高到足以合理化其 $5/$25 的牌價時,才使用 Opus 4.8;其價格是 Haiku 的 5 倍、Sonnet 的 2.5 倍。Anthropic 較新的 Haiku 5.5、Sonnet 5.5 和 Opus 5.5 也適用於相同工作,且牌價相同或更低。請依 node 設定 model,而不是依 workflow 設定;單一 workflow 可以混用 3 種 model。
如何避免 n8n workflow 在 Claude API 上超支?
請分層設定防護措施:每個 Claude node 設定較低的 Max Tokens,為 agents 設定 Max Iterations,設定 workflow timeout,並採用保守的 Retry On Fail 設定,避免失敗導致 tokens 費用倍增。接著新增 Error Trigger workflow,在任何 AI workflow 失敗時透過 Slack 發出警示,並在 Anthropic Console 設定每月支出上限,作為 VPS 上任何設定都無法超越的硬性上限。
AI Agent 的 tool calls 會額外收費嗎?
沒有獨立的 tool 費用,但 tools 並非免費:每個 tool result 都會以輸入 tokens 的形式傳回 model,而且每次 agent 迭代都會重新傳送截至目前的完整對話。未經篩選的冗長 API 回應可能遠超過實際 prompt 的大小。請在 HTTP Request tools 啟用 Optimize Response,只回傳 agent 所需的欄位。