n8n 是一个可视化的自动化平台,把触发器、处理节点和输出节点连成工作流。它本身不提供模型,模型来自你配置的 API 服务。对国内团队来说,常见做法是准备一个 OpenAI 兼容网关,然后在 n8n 里配置自定义 Base URL,把对话、摘要、分类等步骤接进业务流程。

本文按实际搭建顺序展开:安装、准备参数、配置凭证、跑通工作流、处理错误,最后讲团队部署。界面名称会随版本变化,以你当前使用的版本为准。

说明:n8n 是 n8n GmbH 的商标,OpenAI 是 OpenAI, Inc. 的商标。本文仅作技术接入说明,与相关公司无隶属或合作关系。模型范围与价格以站内模型价格页为准。

一、云端还是自托管

n8n 提供云端托管和自托管两种方式。云端省去服务器维护,适合快速验证;自托管能控制数据路径、网络出口和升级节奏,适合有合规要求或需要内网访问的团队。本文以自托管为主,因为自定义 Base URL、环境变量和团队权限这些内容,在自托管场景下更常遇到。

自托管也有成本:服务器、数据库、备份、HTTPS、升级和安全配置都要自己负责。先明确谁来运维,再决定是否自托管。

二、安装与初始化

官方推荐的生产方式是 Docker Compose;单机试用可以用一条 docker run 启动。镜像名是 n8nio/n8n,默认端口 5678,数据卷挂到 /home/node/.n8n。这个目录不仅放 SQLite 数据库,也放加密密钥等文件,必须持久化。

docker volume create n8n_data

docker run -it --rm --name n8n \
  -p 5678:5678 \
  -e GENERIC_TIMEZONE="Asia/Shanghai" \
  -e TZ="Asia/Shanghai" \
  -e N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true \
  -v n8n_data:/home/node/.n8n \
  n8nio/n8n

启动后访问 http://localhost:5678,按提示创建所有者账号。生产环境不要长期用 SQLite 单机跑:配置 DB_TYPE=postgresdb 和 DB_POSTGRESDB_* 连接 PostgreSQL,并把数据库纳入备份。npm 方式(npx n8n 或全局安装)适合本地测试;官方文档已说明 npm 安装从 n8n 3.0 起废弃,生产应使用 Docker。Node.js 版本要求以官方安装文档为准,当前文档给出的范围是 20.19 到 24.x。

三、准备 Key、Base URL 和模型 ID

接入任何 OpenAI 兼容服务,只需要三样参数:

参数 填法 常见错误
API Key 网关控制台创建,按项目命名 复制时带空格或换行
Base URL https://ai.zhongshangqihang.com/v1 填成完整 /chat/completions 路径
模型 ID 价格页的 API 标识 用了展示名或旧版本后缀

Key 在注册中商起航 AI 网关后创建。建议一个环境一把 Key,测试和正式分开,泄露时可以单独吊销。模型 ID 从模型价格页复制,注意大小写和版本后缀。具体可用模型和计费方式会调整,以控制台和价格页为准。

四、配置 OpenAI 凭证

在 n8n 左侧进入 Credentials,新建 OpenAI 类型凭证。当前版本的字段包括 API Key、Organization ID(可选)和 Base URL。使用网关时,把 Base URL 改成网关地址,通常填到 /v1 为止,不要带 /chat/completions。Organization ID 只在连接 OpenAI 官方且账号属于多个组织时需要,走兼容网关一般留空。

几条实践:

  1. Key 只放凭证,不写进 Code 节点、Set 节点或工作流 JSON。
  2. 凭证名称写清用途,例如“网关-生产-内容摘要”,不要用“测试1”。
  3. 保存后点测试;测试失败先查 Base URL 和网络出口。
  4. 团队实例按项目建凭证,不要多人共用一把 Key。
  5. 自托管时保管好 N8N_ENCRYPTION_KEY,更换后已有凭证可能无法解密。

五、跑通第一条工作流

以“表单提交后生成回复草稿”为例:

  1. 新建工作流,添加 Form Trigger 或 Manual Trigger。
  2. 添加 OpenAI 节点,Resource 选 Text。
  3. Operation 选 Generate a Chat Completion;旧版本里对应的名称是 Message a Model。
  4. 选择刚建的凭证和模型,把表单字段用表达式传入,例如 {{ $json.message }}。
  5. 在提示词里限定角色、输出格式和长度,减少无关内容。
  6. 添加 Set 节点,只保留后续要用的字段。
  7. 添加 Gmail、Slack 或表格节点,把结果写到目标位置。
  8. 先手动执行,逐节点检查输入输出,确认后再启用。

如果网关不支持 Responses API,不要选 Generate a Model Response,改用 Chat Completions 对应的操作。节点支持哪些参数,以你当前 n8n 版本和网关文档为准。

六、用 HTTP Request 节点调用兼容接口

节点没有暴露的参数、批量请求或特殊字段,可以改用 HTTP Request 节点直接请求 /v1/chat/completions。Method 选 POST,URL 填完整接口地址,Authentication 选 Predefined Credential Type 并选中 OpenAI 凭证,或者选 Generic Credential Type 里的 Bearer Auth。Body 选 JSON,填入模型、消息和参数。

请求体不要包含 Key;鉴权由凭证注入。返回结构按 OpenAI Chat Completions 格式解析,通常取 choices[0].message.content。如果返回的是流式数据,n8n 侧要先关闭流式或改用能处理 SSE 的方式,否则容易解析失败。

七、测试与错误处理

先在 n8n 外用 curl 验证地址、Key 和模型,再回工作流排查,能少走很多弯路。无人值守的工作流要把失败当成常态:

  1. 在节点设置里开启 Retry On Fail,对 429、5xx 和超时重试 2 到 3 次。
  2. 设置重试间隔,避免限流时继续加压。
  3. 按业务选择 On Error:停止、继续,或把错误输出接到异常分支。
  4. 给 HTTP 请求设置超时,长文本生成可以放宽,但不能无限等待。
  5. 配置错误工作流,把执行 ID、节点名和输入摘要发到 Slack 或邮件。
  6. 重试前检查幂等,避免重复发消息或重复写表。
现象 常见原因 处理
401 Key 错误、过期或凭证未选中 重新选凭证,检查空格和状态
403 模型未开通或权限不足 核对模型权限和项目限额
404 Base URL 或接口路径不对 只填到 /v1,不要带完整路径
429 并发过高或超出配额 降低并发,开启退避重试
400 参数不被网关支持 去掉不兼容字段,核对模型 ID
超时 网络出口或上游响应慢 检查代理、DNS 和超时设置

八、团队部署要点

团队使用 n8n,重点不是多建几个账号,而是把凭据、项目和运维边界划清:

  • 用 Projects 隔离业务线,工作流和凭证按项目归属。
  • 按人按项目发 Key,离职或泄露时能单独吊销。
  • 生产实例统一走 HTTPS,配置 N8N_WEBHOOK_URL 指向外部可访问地址;旧版本变量名是 WEBHOOK_URL。
  • 队列模式下所有 worker 使用同一个 N8N_ENCRYPTION_KEY,否则凭证无法解密。
  • 生产环境使用外部 task runner,不要把 Code 节点放在主进程里跑。
  • 备份数据库和加密密钥,两者分开存放并控制访问。
  • 设置执行数据保留时间,避免历史记录无限增长,也减少敏感数据暴露面。

自托管不等于自动合规。上游模型是否保留请求、是否用于训练,仍要单独确认;涉及客户隐私的流程,增加脱敏和人工复核节点。

常见问题

n8n 的 OpenAI 节点支持自定义 Base URL 吗?

支持。当前 OpenAI 凭证里有 Base URL 字段,默认是 https://api.openai.com/v1,改成网关地址即可。若你的版本没有该字段,用 HTTP Request 节点加 Bearer Auth 也能调用。

Base URL 要填到哪一级?

一般填到 /v1,例如 https://ai.zhongshangqihang.com/v1。不要填 /v1/chat/completions,节点会自己拼接路径。填错层级最常见的表现是 404。

为什么凭证测试通过,执行时却说模型不存在?

凭证测试通常只验证 Key 和地址,不代表每个模型都对你开放。检查模型 ID 是否与价格页一致、项目是否有该模型权限,以及请求是否被路由到了别的 Base URL。

自托管 n8n 一定要用 PostgreSQL 吗?

不是必须,SQLite 可以用于测试和小流量。生产环境通常改用 PostgreSQL,便于备份、并发和扩容;具体以官方 Docker Compose 文档为准。无论用哪种数据库,/home/node/.n8n 目录都要持久化。

团队多人使用要注意什么?

按项目和人员拆分凭证,不共用长期 Key;用项目角色控制工作流和凭证访问;生产环境启用 HTTPS、MFA 和外部 task runner;备份加密密钥并限制访问。需要统一模型入口和用量管理,可以用网关的虚拟 Key 和额度功能。

下一步

n8n 接入自定义 API 的难点不在拖节点,而在三处对齐:Base URL、Key 和模型 ID。先用 curl 跑通,再配 OpenAI 凭证,最后补上重试、错误分支和团队权限。需要统一入口,可以注册中商起航 AI 网关,模型与价格以模型价格页为准。

相关阅读: