n8n:自己部署的自动化工作流,跑多少次都不额外计费
你能得到什么:一个自己部署的自动化平台,定时查网站、表格同步、调用 AI 处理文本这些重复活交给它;装在自己机器上,执行多少次都不按套餐收钱。适合:每周都有固定重复操作、愿意花半小时学节点拖拽的人。不适合:完全不想碰服务器和备份的人,可以直接用 n8n 官方的云服务;想基于 n8n 做产品转卖给别人的,要先读许可证。
项目速览
| 项目 | 内容 |
|---|---|
| 仓库 | n8n-io/n8n |
| Star | 208,188(截至 2026-10-21) |
| 许可证 | Sustainable Use License(fair-code,源码公开、可自建,限制拿去做商业转售;带 .ee 的文件另属企业许可) |
| 最新版本 | n8n@2.44.5(2026-10-21 发布) |
| 它做什么 | 可视化工作流:触发器 + 节点,连接 1500 多种应用,也能写 JavaScript / Python,内置 AI Agent 节点 |
安装指南
官方推荐 Docker;npm 方式能用,但官方文档写明从 n8n 3.0 起不再推荐 npm 安装。
docker volume create n8n_data
docker run -it --rm --name n8n -p 5678:5678 \
-v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
# 浏览器打开 http://localhost:5678# 先确认 Node.js 是 24 版:node -v
npx n8n
# 或者全局安装
npm install -g n8n && n8n start# 装好 Node.js 24 后,在 PowerShell 里:
npx n8n使用教程:做一个「工具新版本速查」工作流
这是我们实测跑通的最小例子:手动触发后,去 PyPI 查 yt-dlp 的最新版本和发布时间,整理成三个字段。把触发器换成「定时」,再接一个发邮件或发消息的节点,就成了每天自动提醒你「常用工具有新版本」的小助手,不用一个个去官网看。
- 建工作流:打开
http://localhost:5678,第一次进入会让你创建管理员账号。新建工作流,添加 Manual Trigger。 - 加 HTTP Request 节点:方法 GET,地址填
https://pypi.org/pypi/yt-dlp/json。 - 加 Edit Fields(Set)节点:新增三个字段,
项目填yt-dlp,版本填表达式{{ $json.info.version }},发布时间填{{ $json.urls[0].upload_time_iso_8601 }}。 - 运行:点 Execute workflow,最后一个节点输出就是整理好的结果。
- 自动化:确认无误后把 Manual Trigger 换成 Schedule Trigger,再接邮件、Telegram 等通知节点,打开工作流开关即可。
不想在界面里点,也可以把工作流存成 JSON,用命令行导入并执行:
n8n import:workflow --input=wf.json
n8n execute --id <工作流 ID>避坑与解决方案
npm 安装失败:Node 版本不对
官方 npm 文档写的是 Node.js 20.19 到 24.x 都行,但我们这次装 n8n@2.44.5 时,它的 package.json 要求 node >= 24.0.0,在 Node 20 上安装直接在编译依赖(node-gyp)那一步失败。解决:换 Node.js 24 再装,或者干脆用 Docker。
命令行执行时报端口 5679 被占用
后台已经开着一个 n8n start,再在同一台机器跑 n8n execute,会提示 n8n Task Broker's port 5679 is already in use。解决:先停掉正在跑的实例;或者给命令行这次换端口,比如 N8N_RUNNERS_BROKER_PORT=5690 N8N_PORT=5691 n8n execute --id ...。
调 GitHub 接口报 Forbidden - perhaps check your credentials?
我们最开始让 HTTP Request 去查 GitHub 的 Release 接口,节点只报一句「Forbidden」。打开详细错误才看到两种原因:一是没带 User-Agent 请求头,GitHub 接口会直接拒绝;二是匿名调用每小时只有 60 次,同一个出口 IP 用完就会返回 API rate limit exceeded。解决:在 HTTP Request 里加 User-Agent 头,并在 n8n 里建一个 GitHub 凭据用令牌调用;或者像上面的例子一样,换成不需要登录的公开数据源。
数据目录和密钥一定要备份
n8n 的工作流、执行记录默认存在用户目录的 .n8n 文件夹(Docker 里是 n8n_data 卷),里面的 config 文件保存着加解密凭据用的 encryptionKey。只备份数据库、丢了这个密钥,你存过的各类账号凭据就都解不开了。迁移或重装时,把整个 .n8n 目录一起带走。
WANGXXXL 实测于 2026-10-21
- 环境:Linux 云电脑,8 核 CPU;系统自带 Node 20 安装失败后,改用官方 Node.js v24.22.0 便携包。
- 过程:
npm install n8n@2.44.5约 1 分钟装完;n8n start启动后http://localhost:5678返回 200,/healthz返回{"status":"ok"}。 - 结果:上面的「新版本速查」工作流用命令行导入、执行,状态
success,输出项目: yt-dlp、版本: 2026.8.19、发布时间: 2026-08-19T23:48:56Z(UTC)。查 GitHub 接口那一版先后因缺少User-Agent和匿名限流失败,就是上面写的坑。