AI 实践 AI PRACTICE · AI 教程

把重复劳动画成流水线:n8n 自托管自动化实操手记

巡检数据汇总、告警邮件分类、简报整理——这些规则固定、频次又高的杂活,最适合交给工作流自动化。n8n 是 GitHub 20 万+ star 的画布式自动化平台,自托管、数据不出机。这篇记录我用 Docker 部署 n8n、搭上第一条"AI 日报"流水线,以及版本、数据库、许可证上的那些坑。

作者:站长发布 更新 # AI 教程# n8n# 工作流自动化# 自动化约 5 分钟

本页目录 CONTENTS
  1. 01 为什么想搭这个
  2. 02 部署:官方推荐 Docker
  3. 03 第一条流水线:让 AI 替我跑日报
  4. 04 我踩过的坑
  5. 05 总结

为什么想搭这个

我在电站干活,手里重复性的小杂活不少:每天把巡检系统导出的数据汇总一遍,把值班邮件里的告警挑出来分类,隔几天把站内资料的变化整理成简报。这些事不难,但碎,占掉不少注意力。写脚本也能做,可每个小需求都写一套 Python 太费劲,于是我去找"把流程画出来就能跑"的工具,最后落在了 n8n 上。

n8n 是一个开源的工作流自动化平台,GitHub 上 20 万+ star(截至 2026-10-17 我查是 20.7 万左右),每周都在发版。它最大的吸引力是画布式编排:触发条件、数据处理、调用外部服务、接入 AI,全是拖节点、连线,不用写代码也能把一条流水线搭起来。数据全部存在你自己部署的实例里,这对我在单位场景很重要。

n8n 官方横幅

▲ 图 1:n8n 官方横幅(来源:n8n-io/n8n GitHub 仓库 README)

部署:官方推荐 Docker

n8n 官方文档明确推荐 Docker 自托管,我也建议直接走这条。命令照抄官方文档(时区换成你自己的):

docker volume create n8n_data

docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
n8nio/n8n

官方命令里还带两个时区环境变量(GENERIC_TIMEZONE、TZ)和一个官方建议的权限开关(N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS,设成 true),部署时照着官方 hosting 文档抄上即可,我这里为了简洁没写进命令。跑起来后浏览器打开 http://localhost:5678,注册的第一个账号就是管理员。国内拉 n8nio/n8n 镜像慢的话,给 Docker 配一个镜像加速器就好,这是网络问题不是软件问题。

n8n 画布:AI Agent 工作流示例

▲ 图 2:n8n 画布上的一条 AI Agent 工作流(来源:n8n-io/n8n 仓库 assets,官方 README 截图)

两个部署事实要说清楚。第一,官方文档标注 npm 全局安装方式将从 n8n 3.0 起弃用(当前还是 2.4x 系列,npm 方式要求 Node.js 20.19–24.x),新装就别走 npm 了,省得将来迁移。第二,默认用 SQLite 存工作流、凭据和执行记录,自己玩完全够;如果团队一起用、执行量大,官方支持切 PostgreSQL,环境变量 DB_TYPE=postgresdb 加一串连接参数即可,具体变量名以官方 hosting 文档为准。

第一条流水线:让 AI 替我跑日报

部署完我干的第一件事,是搭一条"每日简报"流水线,思路和我上一篇 Ollama 教程打通:

  1. Schedule Trigger 节点:每天早上 7:30 触发;
  2. 读取数据:从导出的 CSV 或邮件里取前一天的记录(HTTP Request 节点或邮箱节点);
  3. AI 节点:接我本机的 Ollama(http://host.docker.internal:11434)跑一个本地小模型,把原始记录整理成三五行要点——数据不出内网;
  4. 发送:把要点推到我的企业微信/邮箱。

整条流水线在画布上一目了然,哪一步出错、跑了多久,执行历史里都查得到。n8n 这类 AI 编排能力(AI Agent、工具调用、记忆)是它近两年的重点,官方 README 的示例图就是一条 Agent 工作流。

如果你不知道从哪开始,n8n 官方有个模板库(官网 Templates 页),几百条现成流水线:同步日历、聚合 RSS、跟进 GitHub issue……把模板导入自己的实例,改改参数就能跑,比对着空画布发呆强得多。我自己总结的"值得自动化"判断标准就两条:规则固定(每次都一样)且频次够高(每周至少几次)。班组交接、数据汇总、告警分拣这类都符合;一年才做一次的事就别折腾了。

n8n 界面截图

▲ 图 3:n8n 编辑器界面(来源:n8n-io/n8n 仓库 assets)

我踩过的坑

  • Webhook 收不到回调:用 Webhook Trigger 接外部服务时,本机实例必须能被公网访问。本地调试可以用 n8n 自带的 tunnel(基于 cloudflared,官方文档有说明),生产环境别用 tunnel,老老实实放服务器上。
  • 凭据乱放:数据库密码、API Key 一律进 n8n 的 Credentials 加密存储,别明文写进节点参数,执行日志里会泄。
  • SQLite 的并发天花板:执行记录一多 SQLite 会成为瓶颈,多人用就尽早换 PostgreSQL;这也是官方 production 部署的建议方向。
  • 版本更新勤:n8n 几乎每周发版,docker compose pull && docker compose up -d 就能升。但跨大版本前一定看 release notes 里的迁移说明,升级失败可以在当前版本执行 n8n db:revert 回滚数据库。
  • 许可证要心里有数:n8n 是 fair-code 许可(Sustainable Use License),自用、公司内部用没问题,拿它对外提供多租户的商业服务有条款限制,商用前读一遍仓库里的 LICENSE。

总结

n8n 这类"可视化编排 + 自托管"的工具,把"写脚本"变成了"画流程",特别适合我这种需求碎、又希望数据留在自己机器上的人。从一条定时简报流水线开始,慢慢把重复劳动都搬上去,值回部署的那半小时。下一篇我打算写 Dify——如果说 n8n 管的是"流程自动化",Dify 管的则是"怎么零代码做一个像样的 AI 应用"。

来源与修订说明

参考来源
灵感来源:n8n(github.com/n8n-io/n8n,fair-code 许可 / Sustainable Use License,商用请先阅读仓库 LICENSE)。Docker 与 npm 安装方式、Node.js 版本要求(20.19–24.x)、PostgreSQL 切换、tunnel 与升级回滚说明均已对照 2026-10-17 时的 docs.n8n.io 官方文档核对;官方已标注 npm 方式自 n8n 3.0 起弃用。界面截图来自 n8n 官方仓库 assets 目录,版权归原作者所有;命令与判断标准为站长原创整理。
首次发布
2026-10-17 · 把重复劳动画成流水线:n8n 自托管自动化实操手记
最近修订
2026-10-17 · 首发。n8n 版本迭代很快(当前 2.4x,几乎每周发版),具体命令与变量名以上游当时文档为准。
更正说明
如发现技术性错误,请在评论区指出,确认后将在本区块登记修订记录。

评论

0 条 · 先审后发

评论在通过审核前,仅提交者本人可见;审核通过后对所有人公开展示。 当前为未登录状态,登录后可参与评论。

还没有通过审核的评论,来抢沙发。