puppyone × n8n:跨工作流运行的持久、版本化状态

2026年4月23日puppyone team

TL;DR

  • n8n 编排很出色。 触发、分支、调 API、跑 AI 节点、在步骤间传数据。它本身不是跨运行的持久状态存储 —— 工作流跑完,中间上下文消失,除非你写到了某处。
  • puppyone 给 n8n 一份持久、版本化的文件工作空间,任何节点都能通过 REST 读写(自托管 n8n 也能用 Bash)。下一次运行读上一次写的。AI 节点跨运行共享上下文。人看到同一份输出。
  • 模式:n8n 拥有编排;puppyone 拥有持久、共享的状态。别再往 n8n credential、sticky variable 或随便一张 Postgres 表里塞 JSON 了。

把 puppyone 接进 n8n 之后变了什么

没 puppyone 时,n8n 工作流有几个经典状态存储问题:

  • 运行内上下文在运行结束时消失。 下一次运行想知道上一次干了什么,你得写到某处 —— 通常是自定义数据库表、Google Sheet、或 n8n 内置 static data store。
  • AI Agent / OpenAI / Claude 节点每次冷启动,只有你这次运行里 assemble 的上下文。长跑研究、多步计划、累积知识 —— 没了,除非你存到外面。
  • 跨工作流 / 人 + Agent 间共享数据得选并维护一个共享存储:电子表格?S3 bucket?Notion?每个都有自己的缝。
  • 中间状态没版本历史。 一次坏运行静默覆盖昨天的好输出。无回滚。

通过 REST(或自托管的 Bash)连上 puppyone 之后,每个 n8n 工作流拿到:

  • 跨运行、跨重启、跨部署都活着的持久文件工作空间
  • per-workflow / per-node Access Point,你 n8n 设置的不同部分能有不同读写 scope。
  • 自动版本历史 —— 任何节点的每次写都是 commit,带 author(工作流)、时间戳、diff、回滚。
  • 跟你其他 Agent 共享的同一个工作空间 —— Cursor、Claude Code、自建代码都看得到 n8n 产的东西。
  • 已经作为文件的 SaaS 数据 —— 不再是每次 n8n 运行都分别打 Notion / Slack / Postgres API,那些连接器跑在 puppyone 里,你工作流读缓存的、版本化的文件。

n8n 继续干 n8n 干的活。puppyone 是底下的持久层。

完全不变的东西

  • 你已有的 n8n 工作流。 我们不替代任何节点。puppyone 通过标准 HTTP Request / cURL 节点访问(中期会有一个轻量社区节点)。
  • 你触发、分支、调度、错误处理 —— 不变。
  • 其他数据库、电子表格、S3 bucket 继续工作。puppyone 替代你当临时状态存储用的那些;其他留在原地。
  • n8n 内置功能(credential、queue mode、queue worker) —— 不变。

怎么接(短版)

  1. 起一个 puppyone 工作空间。 云端(try.puppyone.ai)或 Docker 自托管。
  2. 给 n8n 建一个 Access Point,路径 scope 你想要的(比如读 /specs/integrations;每个 flow 工作区读+写 /n8n/<flow-name>)。
  3. 把 puppyone REST endpoint 加进 n8n 作为 HTTP Request credential。Access Point token 当 bearer。
  4. 任何你以前会写状态的节点,换成 HTTP Request 到 puppyone —— POST /v1/files/<path> 写,GET /v1/files/<path> 读。
  5. AI 节点之前从 puppyone 拉上下文(这样它有昨天的计划 / 之前的研究 / 当前规格),AI 之后把输出写回 puppyone。

真正变好的工作流

1. 长跑研究 / 数据收集 flow

没 puppyone: 一个夜跑研究工作流把发现累加到 Google Sheet,没版本历史,没 per-row 溯源。重跑要么覆盖要么重复。

有 puppyone: 每次运行把发现写到 /research/<date>/<topic>.md。完整历史。第二天早上的分析 flow 读 /research/<date-1>/,继续。人和其他 Agent 看同一份文件。

2. 跨运行的多步计划

没 puppyone: "计划 → 等人审批 → 执行" flow 得把计划 serialize 进 n8n static data 或 Postgres 行,schema 手动维护。

有 puppyone: 计划写到 /plans/<run-id>.md,完整 markdown。审批 flow 读它。执行 flow 读同一个文件。每步都版本化。

3. 共享、增长上下文的 AI 节点

没 puppyone: 每个 AI 节点拿到的 prompt 是这次运行你 Set 节点 assemble 的。除非你管道传过去,不然没有过往运行的记忆。

有 puppyone: AI 之前一步从 puppyone 拉 /context/agents/<flow-name>/recent.md。AI 用丰富上下文跑。AI 之后把输出写回 /context/agents/<flow-name>/<date>.md。明天的运行继承一切。

4. 喂给人 + 其他 Agent 的流水线

没 puppyone: n8n 工作流输出在数据库里。人不读数据库。其他 Agent 没 credential。你建额外表面。

有 puppyone: 输出是文件。人通过 puppyone UI / CLI 读。其他 Agent 通过 MCP / Bash / REST 读。同一份文件,多个消费者。

5. 替代"在 Postgres 表里存 JSON"模式

没 puppyone: 你建了张叫 agent_state 的表,带 idkeyvalue JSONBupdated_at。你在维护 schema、索引、GC 策略。

有 puppyone: 你写一个 JSON 文件到 /agent-state/<key>.json。一次 HTTP 调用读回来。历史自动。无 schema 维护。

该避免的模式

  • 别把高频、易逝的状态放进 puppyone。 Per-execution scratch(变量、中间转换)属于 n8n 运行内。puppyone 用来放你明天还想读的状态。
  • 别让每个 n8n 步骤都写 puppyone。 挑有意义的检查点 —— 运行开始、主要阶段结束、运行结束。
  • 别把生产 credential 放 puppyone 文件里。 用 n8n credential 管 secret;用 puppyone 文件管内容。
  • 别给一个 Access Point 写所有的权限。 per-workflow scope 防一条失控 flow 污染另一条的状态。
  • 别为"性能"跳过版本控制。 Commit 便宜;运行出问题时丢昨天数据的代价高得多。

这跟你栈里其他东西怎么配

  • n8n 编排。它调 API、分支、跑 AI 节点。
  • puppyone 存。它装 n8n 读写的持久文件。
  • Cursor / Claude Code 通过 MCP 看到同一份 puppyone 工作空间。见 puppyone for Cursorpuppyone for Claude Code
  • Postgres / Supabase / Pinecone 留在原地装结构化数据和向量。n8n 仍然在合适的时候写它们;puppyone 覆盖中间文件形态的状态。见 puppyone vs Postgrespuppyone vs Pinecone
  • GitHub 仍然 host 你代码;n8n + puppyone 在它上面。见 puppyone vs GitHub

n8n 是指挥,puppyone 是乐谱,其他人是乐手。

FAQ

我需要给 puppyone 写个自定义 n8n 节点吗? 不需要 —— puppyone REST API 配 n8n 标准 HTTP Request 节点工作。社区节点在 roadmap 上,会让常见操作(读 / 写 / 列)一键,但不是必须的。

puppyone 能跟自托管 n8n 一起用吗? 能。如果两个在同一网段,你也能通过 Bash 或 NFS-style 访问挂 puppyone 拿更高吞吐。云 n8n + 云 puppyone 也一样走 HTTPS。

secret 和 credential 呢? secret 留在 n8n credential。puppyone 装内容,不装 secret。(VPC 内自托管 puppyone 让内容数据也保持主权。)

puppyone 替代 n8n static data store 吗? 你想要版本化、跟其他 Agent 共享、可审计的状态 —— 是。flow 内的小配置(last-run 时间戳之类)n8n static store 就够。

puppyone 跟 n8n 内置 AI 节点一起用吗? 能。在 AI 节点周围用 HTTP Request 节点从 puppyone 拉上下文 / 推输出。AI 节点本身不变。

整个工作流输出能塞一个 puppyone 大 JSON 吗? 能;我们通常推荐很多小文件 —— 更易版本化、人更易读、其他 Agent 更易一次消费一个。

再说一遍 TL;DR

n8n 是市面上最好的工作流编排器。puppyone 是它没有的那层持久、版本化文件层。通过 REST 把它们连起来,停止用 Sheets / Postgres / static data 当临时状态存储,你的 n8n 工作流开始真正有跨运行跨同事的记忆。

给你的 n8n flow 一份能活到下次运行的记忆。Get started