SSD Nodes Learn Hosting plans →
指南 Matt Connor作者: Matt Connor · 已更新 2026-08-28

Claude 搭配 n8n:在 VPS 建立 AI 工作流程

學會在自有 VPS 的 n8n 連接 Claude,設定憑證與逐節點模型,完成 3 個 AI 工作流程,並掌握 token 費用、4000 次重試與常見錯誤。

建置內容

在您現有的 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,然後建立一個名稱類似 n8n-vps 的金鑰。金鑰只會顯示一次。請為帳戶儲值或設定計費;API 使用量按 token 計費,與任何 Claude.ai 訂閱完全分開。

在 n8n 中,依序選取 Credentials、Create credential,選擇 Anthropic,將金鑰貼到 API Key 欄位,然後儲存。每個工作流程中的每個 Claude 節點都會參照這個已儲存的憑證,因此不需要將金鑰貼到節點中。

兩項操作注意事項。

首先,n8n 使用 N8N_ENCRYPTION_KEY 加密儲存的認證資訊。若依照 n8n 指南,在 compose file 中明確設定該環境變數,容器重建後仍可保留認證資訊;若讓 n8n 自動產生金鑰,之後又遺失 volume,所有已儲存的認證資訊,包括這把金鑰,都會成為無法復原的密文。若先前略過這項設定,請立即備份金鑰。

其次,請將 n8n 認證資訊儲存區視為影響範圍:任何能在執行個體上編輯 workflows 的人,都能使用你的 Anthropic key 發送請求。Community edition 不提供認證資訊的逐使用者權限控管。因此,若其他人也能登入此執行個體,請先閱讀 付費 n8n licence 提供哪些存取控制,再發放帳戶。在 Console 的 Settings 中設定 spend limit,讓遭入侵或失控執行個體的支出受到上限限制。

模型選擇是逐節點決定

n8n 的 Claude 節點會即時從 API 取得模型下拉式選單,因此顯示的模型取決於您的金鑰可存取哪些模型。截至 2026 年 7 月,各模型的 API 定價如下,單位為每百萬個輸入/輸出 token:Claude Haiku 4.5(claude-haiku-4-5)為 $1/$5,內容視窗為 200K;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。此外,還有 Claude Fable 5(claude-fable-5),價格為 $10/$50,適用於最複雜的推理工作;本指南不需要使用它。請使用這些確切的 ID。您從舊教學記得的日期後綴版本會回傳 404。價格也會變動,因此在採信任何地方看到的數字前,請先查看 platform.claude.com,包括本指南中的數字。

應建立的習慣是:逐節點選擇模型,而不是逐平台選擇。分類、擷取、摘要和路由是自動化的核心工作,使用 Haiku 即可出色完成,清單價格是 Sonnet 的三分之一、Opus 的五分之一。將 Sonnet 保留給代理程式和多步驟推理;只有在錯誤答案的成本高於 token 成本的少數工作流程中,才使用 Opus。一個包含 5 個 Claude 節點的工作流程可以、也應該混用不同模型。

2 個 Claude 節點,以及各自適用的情境

n8n 提供 2 種不同的 Anthropic 整合。選錯節點是初學者最常遇到的問題。

Anthropic 節點是一般的應用程式節點:輸入 1 個要求,輸出 1 個回應。其 Text 資源包含 Message a Model 操作,也包含分析影像與文件的操作。只要工作流程邏輯位於 n8n 中,就應使用此節點,例如觸發、呼叫 Claude、連接下一個節點。下方的工作流程 1 和 2 會使用此節點或其 chain 等效節點。

Anthropic Chat Model 節點是子節點,是附加至 AI AgentBasic LLM Chain 等根節點的小型元件,用來提供模型。它沒有觸發器,也不會自行輸出資料;它提供模型選擇器,以及 Maximum Number of Tokens 和 Sampling Temperature 等取樣選項。請記住 n8n 文件中的一項注意事項:子節點中的運算式一律會針對第一個輸入項目解析,而不是針對每個項目解析。每個項目的運算式應放在根節點的提示欄位中,不要放在子節點中。

工作流程 1:輸入 webhook,輸出摘要

這是 AI 自動化的入門範例:對 URL 發出的任何 POST 請求都會產生摘要,並送到 Slack 或您的收件匣。

  1. Webhook 節點,HTTP Method 設為 POST,路徑為 summarize。n8n 會提供測試 URL 和正式環境 URL;正式環境 URL 只有在工作流程啟用後才會接收請求。
  2. Anthropic 節點,選取 Message a Model,模型為 claude-haiku-4-5,Max Tokens 約設為 300。
  3. 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 欄位,而不是使用者訊息中。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 payload 約為 $0.0012,輸出 300 tokens 約為 $0.0015,總計約四分之一美分。每月執行 1,000 次時,成本低於 $3。將相同節點改用 Opus 4.8 時,成本約為上述數值的 5 倍。這項比例會乘上您建立的每個工作流程,因此依節點選擇模型的習慣很重要。

Workflow 2:將排程 RSS 轉換為結構化資料列

現在改為依固定時間執行,並產生結構化輸出:每小時讀取 RSS 摘要、分類每個項目,然後將資料列附加至試算表。

  1. Schedule Trigger,每小時執行一次。
  2. RSS Read,讀取 feed URL。每篇文章輸出一個項目。
  3. Basic LLM Chain,搭配設定為 claude-haiku-4-5Anthropic Chat Model 子節點,以及包含 JSON schema 的 Structured Output Parser 子節點。
  4. 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,就是不必發出的呼叫。

工作流程 3:使用工具的 AI Agent

前兩個工作流程是管線,步驟由你決定。AI Agent 節點則相反:你提供目標和工具,由它決定要呼叫哪些工具、依何種順序呼叫,直到完成為止。n8n 需要一個 chat model 子節點,以及至少一個已連接的 tool 子節點。

以下是具體建置方式:建立一個 ops assistant,從監控系統回答「哪些服務停止,以及原因」。

  1. Chat Trigger(或 webhook)接收問題。
  2. AI Agent,並設定一個 Anthropic Chat Model 子節點,版本為 claude-sonnet-5。Agent 會規劃並串接工具呼叫;Haiku 可以驅動簡單的單一工具 Agent,但工具數量增加後,Sonnet 才是合理的最低選擇。
  3. HTTP Request 節點以 工具 形式連接,指向你的 Uptime Kuma 狀態 API 或 Zabbix 端點。另一個 HTTP 工具則可呼叫任何提供 REST API 的服務。

有兩項設定最為關鍵。Agent 的 System Message 定義工作內容:「你是 ops assistant。回答前,使用狀態工具檢查目前的監控狀態。只回報已停止的監控項目及其持續時間。」每個工具的描述不是提供給人類閱讀的文件,而是 Claude 判斷何時呼叫該工具的依據。「以 JSON 回傳所有受監控服務目前的 up/down 狀態」能讓工具在適當時機被呼叫;「status API」則可能被忽略或誤用。將 HTTP Request 節點連接為工具時,請啟用 Optimize Response 選項,並選取重要的 JSON 欄位。否則,每次冗長的 API 回應都會作為輸入 token 填入模型的上下文,而這些 token 都需要付費。

請將 Agent 的 Max Iterations 設為能正常運作的最小值(預設值為 10)。這會決定 Agent 是「呼叫 4 次工具後放棄」,還是執行十幾次模型往返。也要了解計費方式:每次反覆執行都會重新傳送目前為止的完整對話,包括 system message、問題,以及先前每次工具的結果,全部都會計入輸入 token。一次執行 6 次的 Agent 很容易累積 20,000 個輸入 token 和 2,000 個輸出 token:以 Sonnet 5 的初始定價計算,約為 $0.06;以標準的 $3/$15 計算,約為 $0.09。這相當於簡單摘要執行成本的 20 倍。如果你開始為單一 Agent 加入大量工具,這表示 在 VPS 上執行 MCP 伺服器會是更簡潔的架構。

成本防護措施,因為沒有人持續監看

無人值守的工作流程需要人員在鍵盤前操作時會自然提供的控制措施。共有 4 層,先從成本最低的開始。

在每個 Claude 節點設定 Max Tokens。 這是嚴格的輸出上限。摘要器需要 300,分類器需要 100。這能限制帳單中較昂貴的一側(每 1 百萬個輸出 token 為 $5–$25,相較之下輸入為 $1–$5),也能兼作失控防護。若 prompt 錯誤導致 Claude 持續冗長輸出,成本上限是 300 個 token,而不是 8,000 個。

為每個節點選擇模型。 上文已說明;在目前的模型陣容中,這是可造成 5 到 10 倍價差的設定,而且只需 10 秒即可完成。

限制迴圈。 在代理程式上設定 Max Iterations。在工作流程的設定中設定工作流程逾時,讓卡住的執行工作終止,而不是持續運作。此外,請謹慎使用每個節點的 Retry On Fail:它適合處理暫時性錯誤,但重試會增加成本。Max Tries 設為 3 且 Wait Between Tries 設為 5000 ms 時,持續性錯誤會讓每個項目的費用最高計算 3 次,之後才放棄。切勿在已經產生高額成本且成功的節點外再包裝重試機制。

以錯誤工作流程作為最後防線。 建立一個以 Error Trigger 節點開始的工作流程,將失敗工作流程的名稱與錯誤傳送至 Slack,然後在每個 AI 工作流程的設定中,將其設為 Error Workflow。它能攔截最嚴重的一種失敗情況:由排程觸發的工作流程每次執行都發生錯誤,持續 1 週、每小時 1 次,而每次執行在終止前都消耗 token。再搭配 Anthropic Console 中的每月支出上限,並在啟用任何排程後的前幾天檢查 Console 的使用量頁面。若要精確了解帳單的計費內容,token 使用量指南會詳細拆解相關資訊。

失敗模式與您會看到的字串

節點立即失敗,並顯示「Authorization failed - please check your credentials.」 API 傳回 401。底層回應內容如下:

{"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.」。速率限制以每分鐘為一個區間,n8n 很容易同時觸發 50 個 webhook 或 RSS 執行作業。請從結構上修正:使用 Loop Over Items 依序處理項目,而非平行處理;並啟用 Retry On Fail,將 Max Tries 設為 3,將 Wait Between Tries 設為其上限 5000 ms。n8n 將此欄位限制為 5000 ms。若需要較長的退避時間,讓重試落在下一個分鐘區間,請在錯誤路徑中加入 Wait node,或一次處理一個項目。回應會包含 retry-after 標頭,明確告知等待時間。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 參照不存在的欄位時,例如承載內容使用 message,但 expression 參照 {{ $json.body.text }},n8n 會將字面字串 undefined 插入提示詞,Claude 仍會照常回答這個空泛的提示詞。如果參照的節點完全沒有執行,則會顯示「Referenced node is unavailable」;但遺漏的欄位不會產生錯誤。啟用前,請務必使用實際資料執行一次,並在節點的輸入面板中查看實際產生的提示詞。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 將其加密,因此請備份該金鑰,否則認證會隨 volume 一併遺失。

每次執行 AI 工作流程的成本是多少?

先估算每次執行使用的 token 數量,再乘以模型每百萬 token 的價格。截至 2026 年 7 月,Haiku 4.5 的輸入/輸出 token 價格為每百萬 $1/$5,Sonnet 5 為 $3/$15(截至 2026 年 8 月的優惠價格為 $2/$10)。使用 Haiku 的 webhook 摘要工作流程每次執行約為 1/4 美分;使用 Sonnet 且包含多次工具呼叫的 agent 執行,成本通常接近 $0.06–$0.10,因為每次反覆執行都會將完整對話重新作為輸入傳送。請在 Console 的 usage 頁面確認實際執行結果,不要只依賴估算值。

n8n 自動化應使用哪個 Claude 模型?

分類、擷取、摘要及路由,以及速度和價格優先的大量工作,使用 Haiku 4.5。AI Agent 節點和多步驟推理使用 Sonnet 5。只有在錯誤答案的代價高到足以合理化其 $5/$25 定價時,才使用 Opus 4.8;其價格是 Haiku 的 5 倍,略低於 Sonnet 的 2 倍。請針對每個節點設定模型,而不是針對整個工作流程設定;單一工作流程可以混用這 3 個模型。

如何避免 n8n 工作流程在 Claude API 上超支?

請分層設定限制:在每個 Claude 節點設定較低的 Max Tokens、為 agent 設定 Max Iterations、設定工作流程逾時時間,並使用保守的 Retry On Fail 設定,避免失敗導致 token 用量倍增。接著新增 Error Trigger 工作流程,在任何 AI 工作流程失敗時於 Slack 發出警示,並在 Anthropic Console 設定每月支出上限,作為 VPS 上任何設定都無法覆寫的硬性上限。

AI Agent 的工具呼叫是否會產生額外費用?

沒有獨立的工具費用,但工具並非免費:每個工具結果都會以輸入 token 的形式回傳給模型,而每次 agent 反覆執行都會重新傳送目前為止的完整對話。未經篩選的冗長 API 回應可能遠高於實際提示的大小。請在 HTTP Request 工具上啟用 Optimize Response,並只回傳 agent 所需的欄位。