Rivet 是什么?4,716 星的 Agent IDE,图在桌面画、运行时在你自己的服务里(基础篇)

Rivet 是什么?4,716 星的 Agent IDE,图在桌面画、运行时在你自己的服务里(基础篇)

Rivet 是什么?4,716 星的 Agent IDE,图在桌面画、运行时在你自己的服务里

大部分可视化 Agent 平台,把你的图当成它的资产:图存在它的服务器上,API 端点它发给你,调用次数它按月记账。Rivet 走了反方向——桌面 IDE 只负责画,画完给你一个 YAML 文件;要不要跑、跑在哪个进程,全是你自己的事。4,716 星,MIT 协议,Ironclad 开源。

这个选择让它注定当不了网红:没有云端 playground,没有「一键发布」按钮,想跑起来得先 npm install。但也正因为这样,它是少数几个能直接塞进生产代码、还能被 code review 的图编辑器。

一、它的出身:一家合同公司自己用的工具

Ironclad 是做合同全生命周期管理的,不是 AI 工具公司。Rivet 2023 年 4 月 22 日建仓、同一年开源,最初就是他们内部解决「按代码写 Agent 太难受」这件事的工具。

官网首页挂的用户评价来自 Attentive 的 CTO、Willow Servicing(拿它上线了按揭服务 Agent)、Bento 和 Sourcegraph;AssemblyAI 还专门给它写了音频转录插件。Ironclad 自己的合同助手 CAI 也是用它搭的。

这个出身解释了它的取舍:它是给要在生产里跑、要有人 review、要能回滚的团队做的,不是给做 demo 的人做的。

二、它其实是两个半身

理解 Rivet 只需要记住它有两半,中间用文件连着。

一半是 Rivet App,一个 Tauri 写的桌面 IDE。macOS 的 dmg、Windows 的 exe/msi、Linux 的 deb/rpm/AppImage 都有,arm64 Linux 的构建是 2025 年 8 月才补上的。节点库有 80 多个:Chat、Code、HttpCall、Loop、Subgraph、各种 Extract,还有 MCP 三件套(Discovery / GetPrompt / ToolCall)——MCP 这条线在十个 Agent 平台的实测里,Rivet 是少数把三个节点都做齐的。

另一半是 @ironclad/rivet-node,一个 TypeScript 库。图的执行就是一次函数调用:

import { runGraphInFile } from '@ironclad/rivet-node';

await runGraphInFile('./support.rivet-project', {
  graph: 'Support Triage',
  inputs: { question: '发票开错了怎么改?' },
  context: { tenant: 'acme' },
  externalFunctions: {
    lookupOrder: async (id) => ({ type: 'string', value: await db.find(id) }),
  },
});

中间那根线就是 .rivet-project 文件本身:YAML,version: 4,所有图平铺在 graphs 下面。有意思的是 Trivet 的测试用例也存在同一个文件里(attachedData.trivet.testSuites)——图和它的回归用例一起进 Git,改一个节点,diff 和测试都在同一个提交里。

Rivet 架构:桌面 IDE 保存 .rivet-project 文件,@ironclad/rivet-node 在 Node 服务里读图执行,远程调试通道把执行事件回传给 IDE
Rivet 的两半:IDE 负责画和调,运行时是你自己的 Node 服务,中间那根线是一个 YAML 文件

三、跟 Langflow、Flowise 到底差在哪

同样是拖节点,两边的重心完全不同。

Langflow、Flowise 是「平台」:图跑在平台里,平台给你 API 端点、给你 MCP 服务,你要做的是部署一个服务。Rivet 是「工具」:图跑在你已经有的那个 Node 服务里,你要做的是加一个依赖。这跟十家平台的三种路线里说的「卖画布」那一派,其实是同一张画布、两种卖法。

好处很实在:鉴权、数据库、日志、限流全用你自己那套,业务数据不用流到第三方;执行在你进程内,超时、并发、重试都归你控;图是文件,回滚就是 git revert。

代价同样实在:没有多租户、没有可视化发布、没有托管执行器。那二十行调用代码得自己写,部署也得自己来。

四、上手:两个动作,一个坑

第一步,下载 App,新建图,拖一个 Chat 节点。要接国产模型,改 Chat 节点的 Endpoint 和 Custom Model 就行——它从一开始就是按「任何 OpenAI 兼容接口」设计的,DeepSeek、Qwen、本地 LM Studio 都在这条线上,这也印证了十个平台接国产模型那份横评里的结论:能改 Base URL 的,生态就活得久一点。

第二步,装库、调用。远程调试才是它真正的杀手锏:起一个 RivetDebuggerServer,把地址传进 runGraphInFile,IDE 就能挂到线上进程上,一条请求流过哪些节点、每个节点进出什么,实时回放。这个体验在开源可视化工具里不多见。

坑也有:inputs 的 key 是图里输入节点的 ID,不是节点上显示的那个名字。对不上不会报错,只会静默拿到空值——第一次接的时候多半要在这里耗半小时。

五、实话:它一年多没发功能版本了

最后一个功能版本是 app-v1.11.3,2025 年 8 月 8 日,内容是加 GPT-5、让 Delegate Function Call 支持回退到外部函数、修 MCPGetPrompt 返回值总是 undefined。那之后,仓库里最后一次人写的提交是 2025 年 8 月 20 日给 Linux 加 aarch64 支持,再往后的提交全是 dependabot 升依赖。

npm 上 rivet-node 停在 1.25.0(2025 年 6 月 30 日),109 个 open issue 挂着没人关。它就是那种「够用、稳定、没人推」的状态。

所以别指望它跟进新模型和新特性。它现在真正的价值是两个东西:一个想得清楚的图格式,和一个能读这个格式的库。图的执行本质是几次 HTTP 调用加代码节点,模型接口换了,改个 Endpoint 就补上——这也是它虽然停更、却没死透的原因。

谁该用:已经有 Node/TS 后端、想要可视化调试、又不想把图交给别人托管的团队;以及想给非工程同事一个「能看懂的执行图」的人。

谁别用:想点两下就上线一个 Agent 的,需要多租户和计费后台的,以及指望社区每天更新的人。

它不是一个平台,是一把工具。工具不追新,够锋利就行。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注