关于 n8n:nathan
这是使用 n8n 内部 Nathan bot 部署临时测试实例的仓库技能,可通过 `pnpm nathan` 从分支或 Docker 镜像启动实例。它帮助 n8n 贡献者选择部署配置,并了解令牌、结果反馈及不支持模式的限制。
主要功能
- 01从分支或镜像部署测试实例
- 02AI 与企业版配置标志
- 03令牌设置说明
- 04部署 URL 反馈指南
- 05本地运行包及不支持模式说明
适用场景
- 01在运行实例中试用面向用户的分支改动
- 02测试 AI 或许可证限制功能
- 03部署 nightly 镜像进行检查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ n8n-io/ n8n --skill n8n:nathan安装后在 Claude Code 中输入/n8n:nathan确认已加载。
详细介绍
Nathan — 仓库本地测试实例
Nathan 是 n8n 的内部机器人,可根据分支或 Docker 镜像部署一次性测试实例。通常通过 Slack(/nathan ...)驱动;此技能可在仓库中通过 pnpm nathan 运行相同的命令。
前提条件
-
无需设置隧道。 Nathan 会通过脚本为你打开的短时 Cloudflare Quick Tunnel(
npx cloudflared)异步回复。向新的test-<name>部署时,还会直接轮询该实例的 URL,因此即使隧道断开,也仍会报告成功。(重新部署一个已经运行的名称时会跳过轮询——无法区分旧实例和新实例——因此会改用隧道;需要可靠的部署报告时,建议使用新名称。) -
在
~/.n8n/dev/nathan-token中保存令牌。 如果命令提示没有令牌,请向用户索要令牌——引导他们访问表单 (https://internal.users.n8n.cloud/form/d6d34a2f-4899-4ee8-afc8-f8c41a8a243d), 使用 n8n 账号登录并从响应中复制令牌——然后替他们保存(脚本的交互式粘贴提示需要真实终端,因此作为 Agent,请使用子命令):pnpm nathan set-token '<PASTED_TOKEN>'
提供测试实例
仅在值得提供时
自行判断——不要为每个分支都提供测试实例。遇到用户确实会想在运行中的实例里点选体验的改动时,提供测试实例:
- 新功能/功能分支
- UI/编辑器更改、节点更改、工作流执行或行为更改
- 较大或面向用户的差异
以下情况不提供测试实例(测试实例没有帮助):
- 开发工具、CI、构建配置、脚本(例如此脚本)
- 仅文档或仅测试的更改
- 细小的错误修复、行为不变的重构、依赖项升级
跳过时,不要反复催问——最多只提一次可按需提供测试实例。
创建 PR 后提供,并在推送后再次询问
为值得部署的分支创建 PR 后,提供一个可用的测试实例。
每当你向此类分支 git push 新提交时,也要再次询问——部署的实例反映的是已推送的代码,因此每次新的推送都意味着有一个值得重新部署的新构建。不要只问一个简单的“要不要”——查看差异并建议合适的配置,然后让用户确认或调整。例如:
“要为此创建一个测试实例吗?根据差异,我会启用实例 AI(
--ai)来部署,因为它涉及 AI 助手。这样可以吗,还是你想使用其他许可证?”
根据 PR 内容选择配置
检查 PR 更改了哪些内容(git diff --stat origin/master...HEAD 以及文件路径/功能领域),然后选择:
| PR 涉及…… | 建议 | 原因 |
|---|---|---|
AI 功能——@n8n/nodes-langchain、@n8n/instance-ai、AI 助手/构建器、N8N_AI_*、“askAi”/Agent 代码 | --ai | 启用实例 AI(并默认使用 pro2 许可证),使 AI 功能能够实际运行 |
受许可证限制/企业版功能——.ee.ts 文件或 /ee/ 目录、许可证检查(@n8n_io/license-sdk、hasFeature)、SSO/SAML/OIDC/LDAP、RBAC/角色/范围、项目、变量、外部密钥、源代码管理/环境、日志流、洞察、文件夹 | --enterprise | 该功能受许可证限制,在社区版中无法测试 |
| 想要启用/禁用的特定受限功能/配额 | --license pro2 --featureOverride <featureKey>:<value> | 将覆盖项写入生成的许可证(社区版/企业版无法覆盖) |
| 其他任何内容——核心节点、通用 UI、不受限制的错误修复 | (无——默认使用社区版) | 无需许可证 |
如果 AI 和企业版条件都适用,请组合使用:--ai --enterprise。不确定时,请说明你的最佳判断并询问用户。运行 pnpm nathan help 查看完整的标志参考。
部署
pnpm nathan deploy <branch-name> test-<short-name> [flags]
Nathan 会构建分支镜像(需要几分钟),命令会打印实例 URL(https://test-<short-name>.stage-app.n8n.cloud,登录名 [email protected]/helloWorld7)。将该 URL 转告用户。
常用命令
pnpm nathan help # full option reference
pnpm nathan deploy my-branch test-my-feature # community license
pnpm nathan deploy my-branch test-sso --enterprise # enterprise license
pnpm nathan deploy my-branch test-ai --ai # instance AI (license -> pro2)
pnpm nathan deploy nightly test-nightly # deploy the n8nio/n8n:nightly image
关键标志(位于部署参数之后):--license community|enterprise|starter|pro1|pro2|trial、
--enterprise、--ai、-e KEY=value(可重复使用)、--featureOverride key:value
(需要生成的许可证)。
local 注意事项
pnpm nathan local ... 会生成可运行的 docker run 配置包,但 Nathan 会通过 Slack 文件附件(run-n8n.sh + .env)发送,而不是输出到
终端——文件会发到 #updates-pnpm-nathan
(https://n8nio.slack.com/archives/C0BGVHZ0SCW)。`deploy` 和 help 会在终端中完整输出。
不要臆造 NATHAN_SLACK_CHANNEL。 将其留空(默认值为
#updates-pnpm-nathan);只有用户明确提供频道 ID 时才设置。
不支持的功能
Nathan 不支持队列模式、多主节点和非 SQLite 数据库。