mcpField
N
n8n-code-python

n8n-code-python

github.com/sickn33开发49.2k203 次安装今天更新
代码仓库

关于 n8n-code-python

为在 n8n Code 节点中使用 Python 进行有限数据转换提供指导,涵盖原生运行时约定、版本注意事项和安全部署;不包含工作流或运行器。

主要功能

  1. 01全部项目与单项处理模式
  2. 02原生 Python 运行时注意事项
  3. 03导入与允许列表限制
  4. 04输入及执行安全指导
  5. 05项目关联与输出限制

适用场景

  1. 01在 n8n Code 节点转换数据
  2. 02迁移代码以使用原生 Python 运行时
  3. 03检查导入与运行器限制

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill n8n-code-python

安装后在 Claude Code 中输入/n8n-code-python确认已加载。

附带文件references/detailed-guide.md

详细介绍

Python 代码节点(原生)

适用场景

当原生节点或表达式无法满足需求时,可在 n8n Code 节点中用于范围受限的 Python 转换。请先检查已安装的 n8n 版本和任务运行器。

运行时约定

n8n 2 移除了旧版 Pyodide 运行时。原生 Python 在所有项目模式下使用 _items,在逐项模式下使用 _item;旧版 _input、_json、_node 和 _now 辅助项不可用。可自托管环境中的导入项取决于已安装的运行器包和明确的允许列表。云端环境中可能无法导入模块,包括标准模块。JavaScript 导入也受到限制;切换语言并不能获得不受限制的文件系统、网络或包访问权限。

示例

所有项目模式,不导入任何模块:

return [
    {"json": {"id": item["json"].get("id"), "processed": True},
     "pairedItem": {"item": index}}
    for index, item in enumerate(_items)
    if item["json"].get("active")
]

逐项模式:

return {"json": {**_item["json"], "name_upper": (_item["json"].get("name") or "").upper()}}

在执行字符串操作前,请验证实际输入类型。远程调用请使用配置了托管凭据的 HTTP Request 节点,并限制允许访问的目标。不要记录载荷/令牌,也不要执行由 webhook 用户提供的代码。请限制项目数量、输入大小和运行时间;在启用会发送消息、花费资金或修改外部系统的工作流前,先在未激活的测试工作流中准备更改。

详细指南

请阅读指南,了解转换模式和迁移注意事项。文中引用的上游辅助文件未随附。

限制

此处不包含工作流或运行器。必须在已部署的版本中检查导入可用性和输出规范化;项目关联、二进制数据和聚合都需要显式处理。这些示例尚未建立运行时测试。

主要运行时参考:n8n Code 节点文档源。

评论

支持 Markdown