chat-messages-builder

n8n community node for building chat messages arrays from system and user inputs

Package Information

Released: 6 mo ago
Downloads: 3 weekly / 127 monthly
Latest Version: 0.1.0

Documentation

n8n-nodes-chat-messages-builder

n8n-nodes-chat-messages-builder 是一个用于 n8n 的社区节点,专门把单条 system 提示词与多条 user 消息整理成标准 LLM messages 数组,方便后续直接传给 OpenAI、兼容 OpenAI 格式的模型接口,或任意需要聊天消息数组的 HTTP/API 节点。

这个节点适合在工作流里做“消息构造”这一步,避免在 Set、Code 或 Edit Fields 节点中手写 JSON 拼装逻辑。

适用场景

  • 为聊天模型统一构造 messages 输入
  • 在工作流中复用固定 system prompt
  • 将多段用户输入按顺序整理成对话消息
  • 在进入 AI Agent、HTTP Request 或自定义 API 调用前,先标准化消息结构

功能特性

  • 支持 1 条可选的 system 消息
  • 支持多条 user 消息
  • 自动过滤空白内容
  • 保留 user 消息添加顺序
  • 输出结构简单稳定,便于下游节点直接引用

输出格式

节点输出固定为一个对象:

{
  "messages": [
    {
      "role": "system",
      "content": "系统提示词"
    },
    {
      "role": "user",
      "content": "第一条用户消息"
    }
  ]
}

节点参数

System Content

  • 对应 system 角色消息内容
  • 可为空
  • 如果为空,不会生成 system 消息

User Messages

  • 用于添加一条或多条 user 消息
  • 按界面中的顺序输出
  • 每条有效内容都会生成:
{
  "role": "user",
  "content": "..."
}

使用方式

  1. 在工作流中添加 Chat Messages Builder 节点
  2. 在 System Content 中填写系统提示词,可留空
  3. 在 User Messages 中按顺序添加一条或多条用户输入
  4. 运行节点后,在输出中获取 messages
  5. 将 messages 传给后续 LLM/API 节点

示例

输入:

  • System Content: 你是一个严格的提示词整理助手
  • User Messages
    • 帮我总结这段内容
    • 输出为 3 条要点

输出:

{
  "messages": [
    {
      "role": "system",
      "content": "你是一个严格的提示词整理助手"
    },
    {
      "role": "user",
      "content": "帮我总结这段内容"
    },
    {
      "role": "user",
      "content": "输出为 3 条要点"
    }
  ]
}

安装

n8n 社区节点通常用于自托管环境。未验证的社区节点一般不能直接用于 n8n Cloud。

你可以通过以下方式安装:

方式一:在 n8n 界面中安装

如果你的 n8n 实例启用了社区节点安装功能,可以在界面中通过 npm 包名安装此节点。

方式二:手动安装

在可访问 n8n 运行环境的目录中安装或挂载该包,并确保 n8n 能加载自定义扩展。

常见做法:

pnpm install
pnpm build

然后将构建后的包放到 n8n 自定义扩展目录,或者把项目目录挂载到 n8n 容器/运行环境中,并设置:

N8N_CUSTOM_EXTENSIONS=/path/to/custom/extensions

不同部署方式的具体路径可能不同,请按你的 n8n 部署方式调整。

本地开发

pnpm install
pnpm build

如果项目提供开发模式脚本,也可以使用类似下面的方式在开发时实时构建:

pnpm dev

与下游节点配合

这个节点本身只负责组装 messages 数据,不直接调用模型。常见搭配方式包括:

  • 连接到 HTTP Request 节点,调用兼容 OpenAI Chat Completions 的接口
  • 连接到自定义 AI 工作流节点
  • 先统一生成消息结构,再由后续节点选择模型、温度、输出格式等参数

注意事项

  • 空字符串或仅包含空白字符的消息会被过滤
  • system 最多一条,user 可多条
  • 本节点输出的是聊天消息数组,不负责历史记忆管理
  • 如果下游 API 需要 assistant、tool 或多轮上下文,请在后续版本中扩展,或在其他节点中补充

面向社区节点发布的建议

如果你计划把这个包作为正式的 n8n 社区节点发布到 npm,通常还需要确保:

  • 包名符合 n8n-nodes-* 规范
  • package.json 中包含 n8n-community-node-package 关键字
  • 在 package.json 中正确声明 n8n 节点入口
  • 补充节点图标、许可证、版本号和发布说明
  • 按 n8n 官方社区节点要求完成构建与发布

参考文档

Discussion