SSD Nodes Learn
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-07-24

Интеграция Claude и n8n на VPS

Пошаговое руководство по настройке Claude в n8n на вашем VPS. Разбор трех готовых AI-сценариев, расчет стоимости API и решение проблем с TLS-endpoint.

Что вы создаете

Три рабочих AI-процесса на уже запущенном вами экземпляре n8n: webhook, который суммирует любые входящие данные; планировщик-ридер, который преобразует статьи в структурированные строки таблицы; и AI Agent, который самостоятельно вызывает HTTP API для ответов на вопросы. Это no-code альтернатива вызову Claude API из Python на вашем VPS — тот же API, те же токены, тот же счет, но оркестрация реализована в узлах n8n вместо скрипта.

Я предполагаю, что n8n уже работает через HTTPS согласно руководству по self-hosted n8n на Docker. Если нет, сделайте это в первую очередь — вебхукам требуется настоящий TLS-endpoint, а хранилищу учетных данных, куда вы вставите API-ключ, требуется резервная копия encryption-key, о которой говорится в руководстве.

Интересные задачи здесь заключаются не в drag-and-drop. Они заключаются в выборе модели для каждого узла, полях промптов, которые неявно интерполируют undefined, и в том, что автоматизация работает без участия человека — workflow, который стоит полцента за запуск, обходится дешево, пока цикл повторов не запустит его четыре тысячи раз за ночь. Большая часть этого руководства посвящена именно этому.

Одна учетная запись, зашифрованная ключом, который вы сделали резервную копию

Получите API-ключ в Anthropic Console на platform.claude.com — Settings, затем API Keys, затем создайте ключ с именем вроде n8n-vps. Ключ будет показан только один раз. Пополните баланс аккаунта или настройте биллинг; использование API оплачивается по количеству токенов и полностью отделено от любой подписки Claude.ai.

В n8n: Credentials, Create credential, выберите Anthropic, вставьте ключ в поле API Key, сохраните. Каждый узел Claude в каждом workflow ссылается на эту одну сохраненную учетную запись — вам никогда не нужно вставлять ключ непосредственно в узел.

Два операционных примечания. Во-первых, n8n шифрует сохраненные учетные данные с помощью N8N_ENCRYPTION_KEY. Если вы явно установите эту переменную окружения в compose-файле согласно руководству n8n, ваши учетные данные сохранятся после пересборки контейнера; если вы позволите n8n сгенерировать ключ и затем потеряете volume, все сохраненные учетные данные — включая этот ключ — превратятся в невосстановимый шифротекст. Сделайте резервную копию ключа сейчас, если вы пропустили этот шаг. Во-вторых, рассматривайте хранилище учетных данных n8n как зону поражения: любой, кто может редактировать workflow на вашем экземпляре, может делать запросы с вашим ключом Anthropic. Установите лимит расходов в Console в разделе Settings, чтобы у скомпрометированного или вышедшего из-под контроля экземпляра был потолок.

Выбор модели — это решение для каждого узла

Выпадающий список моделей в узлах Claude в n8n подтягивается напрямую из API, поэтому он показывает то, к чему у вашего ключа есть доступ. По состоянию на июль 2026 года линейка и цены API за миллион входных/выходных токенов следующие: Claude Haiku 4.5 (claude-haiku-4-5) за $1/$5 с окном контекста 200K, Claude Sonnet 5 (claude-sonnet-5) за $3/$15 — по ознакомительной цене $2/$10 до 31 августа 2026 года — и Claude Opus 4.8 (claude-opus-4-8) за $5/$25, оба с окном контекста 1M токенов. Также существует Claude Fable 5 (claude-fable-5) за $10/$50 для самых сложных задач логического вывода; в этом руководстве он не требуется. Используйте именно эти ID — вариант с суффиксом даты, который вы встретили в старом руководстве, выдаст 404, а цены меняются, поэтому проверяйте platform.claude.com, прежде чем доверять любым числам, включая эти.

Привычка, которую нужно развить: выбирайте модель для каждого узла, а не для всей платформы. Классификация, извлечение, суммаризация, маршрутизация — основа автоматизации — отлично работают на Haiku за треть от базовой цены Sonnet и за пятую часть цены Opus. Резервируйте Sonnet для агентов и многошагового логического вывода, Opus — для редких workflow, где цена ошибки выше, чем стоимость токенов. Workflow с пятью узлами Claude может и должен комбинировать разные модели.

Два узла Claude и какой где использовать

n8n поставляет две различные интеграции Anthropic, и выбор неверного узла — самая частая ошибка новичков.

Узел Anthropic — это обычный узел приложения: один запрос на вход, один ответ на выход. Его ресурс Text имеет операцию Message a Model, а также операции для анализа изображений и документов. Используйте его везде, где логика workflow сосредоточена в n8n — триггер, вызов Claude, следующий узел. Workflow 1 и 2 ниже используют его или его эквивалент в цепочке.

Узел Anthropic Chat Model — это под-узел (sub-node) — небольшое дополнение, которое предоставляет модель корневому узлу, такому как AI Agent или Basic LLM Chain. У него нет ни триггера, ни собственного выхода; он предоставляет выбор модели и параметры сэмплирования, такие как Maximum Number of Tokens и Sampling Temperature. Важное примечание из документации n8n: выражения внутри под-узлов всегда разрешаются относительно первого входного элемента, а не каждого элемента — помещайте выражения для каждого элемента в поля промпта корневого узла, а не в под-узел.

Workflow 1: webhook на вход, summary на выход

Hello-world автоматизации с ИИ: все, что отправлено методом POST на URL, суммируется и попадает в Slack или на вашу почту.

  1. Webhook node — HTTP Method POST, path summarize. n8n предоставляет вам test URL и production URL; production URL начинает слушать только после активации workflow.
  2. Anthropic node — Message a Model, модель claude-haiku-4-5, Max Tokens около 300.
  3. Slack node (или 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 узла, а не в пользовательском сообщении — системный промпт остается неизменным, пока полезная нагрузка варьируется, что обеспечивает стабильность поведения и читаемость промпта через полгода. Протестируйте его прямо с 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 токенов плюс промпт составляет около $0.0012 на вход, 300 токенов на выход — $0.0015 — примерно четверть цента. Тысяча запусков в месяц стоит менее $3. Тот же узел с моделью Opus 4.8 обойдется примерно в пять раз дороже. Это соотношение, умноженное на каждый созданный вами workflow, объясняет, почему важна привычка выбирать модель для каждого узла.

Workflow 2: планировщик RSS в структурированные строки

Теперь что-то по расписанию, со структурированным выводом: чтение RSS-фида каждый час, классификация каждого элемента, добавление строк в таблицу.

  1. Schedule Trigger — каждый час.
  2. RSS Read — URL фида. Выдает один элемент на одну статью.
  3. Basic LLM Chain — с под-узлом Anthropic Chat Model, установленным на claude-haiku-4-5, и под-узлом Structured Output Parser, содержащим JSON-схему.
  4. Google Sheets (или Postgres) — добавить строку для каждого элемента.

Structured Output Parser превращает фразу "Claude, пожалуйста, верни JSON" из надежды в контракт: он проверяет ответ модели на соответствие вашей схеме и выдает ошибку на элементе вместо записи мусорных строк. Пример схемы:

{
  "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"]
}

И промпт цепочки ссылается на элемент фида:

Classify this article for a VPS hosting audience.

Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}

Математика стоимости здесь меняется: расчет идет за каждый элемент, а не за запуск. Пятьдесят статей в час, двадцать четыре часа в сутки — это 36,000 вызовов Claude в месяц — на Haiku это может стоить $40–90 в зависимости от длины статьи, на Opus — примерно в пять раз больше. Удаляйте дубликаты перед узлом LLM (простой IF по ранее виденным ссылкам или узел n8n Remove Duplicates), и количество запросов резко сократится, так как большинство ежечасных опросов не содержат ничего нового. Самый дешевый токен — это тот, который вы не вызвали.

Workflow 3: AI Agent, использующий инструменты

Первые два workflow — это конвейеры (pipelines) — вы сами определяете шаги. Узел AI Agent работает иначе: вы даете Claude цель и инструменты, и он решает, какие инструменты вызывать и в каком порядке, пока задача не будет выполнена. n8n требует наличия под-узла чат-модели и как минимум одного под-узла инструмента.

Конкретный пример — операционный ассистент, который отвечает на вопрос "что упало и почему", используя данные вашего мониторинга:

  1. Chat Trigger (или webhook) — поступает вопрос.
  2. AI Agent — с под-узлом Anthropic Chat Model, установленным на claude-sonnet-5. Агенты планируют и выстраивают цепочки вызовов инструментов; Haiku может управлять простыми агентами с одним инструментом, но Sonnet — это разумный минимум, когда инструментов становится много.
  3. HTTP Request node, подключенный как инструмент — направленный на ваш Uptime Kuma status API или эндпоинт Zabbix. Второй HTTP-инструмент может обращаться к любому другому сервису с REST API.

Две настройки выполняют основную работу. System Message агента определяет задачу: "You are an ops assistant. Use the status tool to check current monitor state before answering. Report only monitors that are down, with duration." И описание (description) каждого инструмента — это не документация для людей, а способ, которым Claude решает, когда его вызвать. Фраза "Returns current up/down state for all monitored services as JSON" будет вызвана в нужный момент; фраза "status API" будет проигнорирована или использована неверно. Когда вы подключаете узел HTTP Request как инструмент, включите опцию Optimize Response и выберите только важные JSON-поля — иначе каждый многословный ответ API будет загружен в контекст модели как входные токены, за которые вы платите.

Установите Max Iterations для агента (по умолчанию 10) на минимально возможное рабочее число — это разница между "агент сдался после 4 вызовов инструментов" и циклом из дюжины раундов модели. И учитывайте структуру биллинга: каждая итерация заново отправляет всю историю переписки — системный промпт, вопрос, каждый предыдущий результат инструмента — как входные токены. Один запуск агента за шесть итераций может легко составить 20,000 совокупных входных токенов и 2,000 выходных: на Sonnet 5 по ознакомительным ценам это около $0.06, примерно $0.09 при стандартных $3/$15 — это как двадцать простых запусков суммаризации. Если вы обнаружите, что навешиваете много инструментов на одного агента, это тот момент, когда запуск MCP-серверов на вашем VPS становится более чистой архитектурой.

Ограничители затрат, потому что за вами никто не следит

Автономному workflow необходимы механизмы контроля, которые человек за клавиатурой обеспечивает неявно. Четыре уровня, от самого дешевого.

Max Tokens в каждом узле Claude. Это жесткое ограничение на выход. Суммаризатору нужно 300, классификатору — 100. Это ограничивает дорогую часть расходов ($5–$25 за миллион выходных токенов против $1–$5 за входные) и служит предохранителем — ошибка в промпте, заставляющая Claude "разглагольствовать", будет стоить 300 токенов, а не 8,000.

Модель для каждого узла. Обсуждалось выше; это рычаг изменения цены в 5–10 раз во всей текущей линейке, и настройка занимает десять секунд.

Ограничение циклов. Max Iterations для агентов. Тайм-аут workflow в настройках workflow, чтобы зависшее выполнение завершалось, а не крутилось бесконечно. И будьте осторожны с Retry On Fail для каждого узла: это правильный инструмент для временных ошибок, но повторы умножают стоимость — Max Tries равный 3 при Wait Between Tries в 5000 мс означает, что при постоянной ошибке вы заплатите за один элемент до трех раз, прежде чем выполнение прекратится. Никогда не оборачивайте повтор (retry) вокруг узла, который уже успешно выполнился и стоил дорого.

Workflow ошибок как страховка. Создайте workflow, начинающийся с узла Error Trigger, который отправляет имя упавшего workflow и ошибку в Slack, затем установите его как Error Workflow в настройках каждого AI-workflow. Этот метод отлавливает самый неприятный сценарий: ошибка workflow, запускаемого по расписанию, которая повторяется каждый час в течение недели — каждый запуск сжигает токены перед тем, как завершиться. Сочетайте это с ежемесячным лимитом расходов в Anthropic Console и проверяйте страницу использования Console в первые дни после активации чего-либо по расписанию. Если вы хотите точно понимать, за что именно вы платите, руководство по использованию токенов подробно это разбирает.

Режимы сбоев и ошибки, которые вы увидите

Узел мгновенно выдает ошибку "Authorization failed - please check your credentials". API вернул 401. Суть ошибки:

{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}

Неверно вставленный ключ — усеченный, с лишними пробелами или содержащий плейсхолдер из руководства. Пересоздайте учетную запись n8n и вставьте ключ заново; если вчера все работало, проверьте, не был ли ключ отозван в 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 мс — n8n ограничивает это поле значением 5000 мс. Если вам нужна более длительная пауза, чтобы повторы попали в следующее минутное окно, поставьте узел Wait в путь ошибки или обрабатывайте элементы по одному. Ответ содержит заголовок 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, ссылающееся на отсутствующее поле (например, {{ $json.body.text }} вместо message), подставляет строку undefined в ваш промпт, и Claude послушно отвечает на промпт "ни о чем". Если ссылочный узел вообще не выполнялся, вы получите "Referenced node is unavailable", но отсутствие поля приводит к тихой ошибке. Перед активацией всегда запускайте workflow один раз с реальными данными и читайте фактический сформированный промпт в панели ввода узла — редактор выражений показывает предварительный просмотр значения, и undefined находится прямо там, если вы посмотрите.

FAQ

Как подключить Claude к n8n?

Создайте API-ключ в Anthropic Console на platform.claude.com, затем в n8n добавьте учетную запись (credential) типа Anthropic и вставьте её в поле API Key. Каждый узел Claude — и узел приложения Anthropic, и под-узел Anthropic Chat Model — ссылается на эту сохраненную учетную запись. n8n шифрует её с помощью N8N_ENCRYPTION_KEY, поэтому сделайте резервную копию ключа, иначе ваши учетные данные будут потеряны вместе с volume.

Сколько стоит один запуск AI workflow?

Оцените количество токенов за запуск, затем умножьте на цену модели за миллион — по состоянию на июль 2026 года, Haiku 4.5 стоит $1/$5 за миллион входных/выходных токенов, а Sonnet 5 стоит $3/$15 ($2/$10 по ознакомительной цене до августа 2026 года). Суммаризация через webhook на Haiku стоит около четверти цента; запуск агента на Sonnet с несколькими вызовами инструментов обойдется ближе к $0.06–$0.10, так как каждая итерация заново отправляет всю переписку как входные токены. Проверяйте фактические расходы на странице использования в Console, а не полагайтесь на оценки.

Какую модель Claude использовать для автоматизаций в n8n?

Haiku 4.5 — для классификации, извлечения, суммаризации и маршрутизации — для больших объемов работы, где важны скорость и цена. Sonnet 5 — для узлов AI Agent и многошагового логического вывода. Opus 4.8 — только там, где цена ошибки достаточно высока, чтобы оправдать его цену $5/$25 — это в пять раз дороже Haiku и чуть менее чем в два раза дороже Sonnet. Выбирайте модель для каждого узла отдельно, а не для всего workflow — один workflow может комбинировать все три модели.

Как предотвратить чрезмерные расходы n8n на Claude API?

Используйте многоуровневую защиту: низкий лимит Max Tokens в каждом узле Claude, ограничение Max Iterations для агентов, тайм-аут workflow и консервативные настройки Retry On Fail, чтобы ошибки не увеличивали расход токенов. Затем добавьте workflow с Error Trigger, который оповестит вас в Slack при сбое любого AI-workflow, и установите ежемесячный лимит расходов в Anthropic Console как жесткий потолок, который невозможно обойти на VPS.

Стоят ли вызовы инструментов (tool calls) в AI Agent отдельно?**

Отдельной платы за инструменты нет, но сами инструменты не бесплатны: каждый результат инструмента подается обратно модели как входные токены, и каждая итерация агента заново отправляет всю историю переписки. Многословный ответ API, переданный без фильтрации, может значительно превысить ваш фактический промпт — включите опцию Optimize Response в инструментах HTTP Request и возвращайте только те поля, которые необходимы агенту.