mcpField
N
n8n:nathan

n8n:nathan

github.com/n8n-io云与 DevOps209.1k81 次安装今天更新
代码仓库

关于 n8n:nathan

这是使用 n8n 内部 Nathan bot 部署临时测试实例的仓库技能,可通过 `pnpm nathan` 从分支或 Docker 镜像启动实例。它帮助 n8n 贡献者选择部署配置,并了解令牌、结果反馈及不支持模式的限制。

主要功能

  1. 01从分支或镜像部署测试实例
  2. 02AI 与企业版配置标志
  3. 03令牌设置说明
  4. 04部署 URL 反馈指南
  5. 05本地运行包及不支持模式说明

适用场景

  1. 01在运行实例中试用面向用户的分支改动
  2. 02测试 AI 或许可证限制功能
  3. 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 数据库。

评论

支持 Markdown