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 中的外部调用执行前添加校验、速率限制和审批环节
工作原理
- Agent 设计工作流:告诉 OpenClaw 你需要什么(例如"创建一个工作流,当新的 GitHub Issue 被标记为
urgent时发送 Slack 消息") - Agent 在 n8n 中构建工作流:OpenClaw 通过 n8n API 创建工作流,包含一个 Incoming Webhook 触发器
- 你添加凭证:打开 n8n UI,手动添加你的 Slack Token / GitHub Token
- 你锁定工作流:阻止 Agent 进一步修改
- 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
n8nAPI 访问权限(用于创建/触发工作流)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 交叉验证、邮件分流、社交监控)
方案二:手动配置
- 安装 n8n(
npm install n8n -g或通过 Docker 运行) - 在 OpenClaw 配置中设置 n8n 的基础 URL
- 在你的 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 开源项目。英文能力过得去的朋友欢迎阅读原版,体验原汁原味的表达。