养虾指南
OpenClaw System Guide
View all cases
How Others Use OpenClaw

OpenClaw + n8n 工作流编排:让 Agent 不再碰 API 密钥

通过 n8n 工作流代理所有外部 API 调用,实现凭证隔离、可视化调试和工作流锁定,告别 Agent 直接管理密钥的安全隐患。

awesome-openclaw-usecases2026-03-096 min read
工作流自动化安全开发

让 AI Agent 直接管理 API 密钥、调用外部服务?这简直是在给安全事故铺路。每新增一个集成,就多一个 .env.local 里的凭证,多一个 Agent 不小心泄露或误用的风险面。

这个案例介绍了一种模式:OpenClaw 把所有外部 API 交互都委托给 n8n 工作流,通过 Webhook 来调用——Agent 永远不接触凭证,每个集成都可以可视化检查和锁定。

痛点

当 OpenClaw 直接处理一切时,你会遇到三个叠加的问题:

  • 没有可见性:Agent 实际做了什么,全埋在 JavaScript Skill 文件或 Shell 脚本里,很难检查
  • 凭证蔓延:每个 API Key 都存在 Agent 的运行环境里,一次错误提交就可能暴露
  • 浪费 Token:确定性的子任务(发邮件、更新表格)明明可以用简单工作流完成,却在消耗 LLM 推理 Token

它能做什么

  • 代理模式:OpenClaw 创建带有 Incoming Webhook 的 n8n 工作流,后续所有 API 调用都通过这些 Webhook 进行
  • 凭证隔离:API Key 存在 n8n 的凭证管理器中——Agent 只知道 Webhook URL
  • 可视化调试:每个工作流都可以在 n8n 的拖拽式 UI 中检查
  • 可锁定工作流:工作流构建并测试通过后锁定,防止 Agent 修改其与 API 的交互方式
  • 安全门:可以在 n8n 中的外部调用执行前添加校验、速率限制和审批环节

工作原理

  1. Agent 设计工作流:告诉 OpenClaw 你需要什么(例如"创建一个工作流,当新的 GitHub Issue 被标记为 urgent 时发送 Slack 消息")
  2. Agent 在 n8n 中构建工作流:OpenClaw 通过 n8n API 创建工作流,包含一个 Incoming Webhook 触发器
  3. 你添加凭证:打开 n8n UI,手动添加你的 Slack Token / GitHub Token
  4. 你锁定工作流:阻止 Agent 进一步修改
  5. Agent 调用 Webhook:此后 OpenClaw 只需调用 http://n8n:5678/webhook/my-workflow 并传入 JSON 数据——它永远看不到 API Key
┌──────────────┐     webhook call      ┌─────────────────┐     API call     ┌──────────────┐
│   OpenClaw   │ ───────────────────→  │   n8n Workflow   │ ─────────────→  │  External    │
│   (agent)    │   (no credentials)    │  (locked, with   │  (credentials   │  Service     │
│              │                       │   API keys)      │   stay here)    │  (Slack, etc)│
└──────────────┘                       └─────────────────┘                  └──────────────┘

你需要的 Skills

  • n8n API 访问权限(用于创建/触发工作流)
  • fetch 或 curl 用于 Webhook 调用
  • Docker(如果使用预配置方案)
  • n8n 凭证管理(手动操作,每个集成只需一次)

配置步骤

方案一:预配置 Docker 方案

社区维护的 Docker Compose 方案(openclaw-n8n-stack)在共享 Docker 网络上预先配好了所有组件:

git clone https://github.com/caprihan/openclaw-n8n-stack.git
cd openclaw-n8n-stack
cp .env.template .env
# 在 .env 中添加你的 Anthropic API Key
docker-compose up -d

这会给你:

  • OpenClaw 运行在 3456 端口
  • n8n 运行在 5678 端口
  • 共享 Docker 网络,OpenClaw 可以直接调用 http://n8n:5678/webhook/...
  • 预置的工作流模板(多 LLM 交叉验证、邮件分流、社交监控)

方案二:手动配置

  1. 安装 n8n(npm install n8n -g 或通过 Docker 运行)
  2. 在 OpenClaw 配置中设置 n8n 的基础 URL
  3. 在你的 AGENTS.md 中添加:
## n8n Integration Pattern

When I need to interact with external APIs:

1. NEVER store API keys in my environment or skill files
2. Check if an n8n workflow already exists for this integration
3. If not, create one via n8n API with a webhook trigger
4. Notify the user to add credentials and lock the workflow
5. For all future calls, use the webhook URL with a JSON payload

Workflow naming: openclaw-{service}-{action}
Example: openclaw-slack-send-message

Webhook call format:
curl -X POST http://n8n:5678/webhook/{workflow-name} \
  -H "Content-Type: application/json" \
  -d '{"channel": "#general", "message": "Hello from OpenClaw"}'

关键经验

  • 一石三鸟:可观测性(可视化 UI)、安全性(凭证隔离)、性能(确定性工作流不消耗 Token)
  • 测试后锁定:"构建 → 测试 → 锁定"的循环至关重要——不锁定的话,Agent 可能会悄悄修改工作流
  • n8n 有 400+ 集成:你想连接的大多数外部服务都已经有 n8n 节点了,省去了 Agent 编写自定义 API 调用的麻烦
  • 免费获得审计日志:n8n 会记录每次工作流执行的输入输出数据

灵感来源

这个模式由 Simon Hoiberg 提出,他总结了这种方案优于让 OpenClaw 直接处理 API 交互的三个原因:通过 n8n 可视化 UI 实现可观测性、通过凭证隔离保障安全性、以及通过工作流而非 LLM 调用来运行确定性子任务以提升性能。openclaw-n8n-stack 仓库提供了实现此模式的开箱即用 Docker Compose 方案。

相关链接


本文翻译自 awesome-openclaw-usecases 开源项目。英文能力过得去的朋友欢迎阅读原版,体验原汁原味的表达。

GitHub 原文链接