Vercel eve:文件系统优先的 AI Agent 框架,5 分钟上手实战
eve 是一个文件系统优先(filesystem-first)的持久化 AI Agent 框架,由 Vercel 团队开源,遵循 Apache 2.0 协议。它的核心理念是:文件系统即接口——你不需要复杂的配置文件,只需要在项目中创建约定好的文件和目录,Agent 就定义好了。
引言
AI Agent 是 2026 年最火的开发方向之一。从 OpenAI 的 GPTs 到各种 Agent 框架,开发者们一直在寻找更简单、更直观的方式来构建 AI Agent。今天要介绍的 Vercel eve,可能就是这个问题的终极答案。
就在上周,Vercel 在 GitHub 上开源了一个名为 eve 的 AI Agent 框架,短短几天就收获了超过 1300+ Star。作为对比,Next.js 之父 Vercel 出品的每一个开源项目都代表着行业风向。eve 的核心理念是:文件系统即接口(Filesystem-first)。
这意味着什么?简单来说,你不需要复杂的配置文件、不需要学习繁琐的 SDK,你只需要在项目中创建一些约定好的文件和目录,你的 AI Agent 就定义好了。
什么是 Vercel eve
eve 是一个**文件系统优先(filesystem-first)**的持久化 AI Agent 框架。它由 Vercel 团队开发并开源,遵循 Apache 2.0 协议。
它的核心理念是将 Agent 的能力分布在文件系统的约定路径中。这样的设计有几个显著优势:
- 直观的项目结构 —— 看一眼目录树就知道 Agent 能做什么
- 易于扩展 —— 添加工具就是添加一个文件
- 易于运维 —— 代码即配置,支持 Git 版本管理
- 持久化 —— Agent 的状态可以跨会话保持
eve 的核心概念
eve 的项目结构非常清晰,看一次就记住了:
1 | my-agent/ |
每个目录都有特定的含义:
| 目录/文件 | 是否必须 | 作用 |
|---|---|---|
instructions.md |
✅ 必须 | Agent 的系统提示词,定义行为准则 |
agent.ts |
可选 | 配置使用的模型、API key 等 |
tools/ |
可选 | Agent 可以调用的 TypeScript 函数 |
skills/ |
可选 | 按需加载的操作流程(Markdown 描述) |
channels/ |
可选 | 接入消息渠道(HTTP API、Slack Bot、Discord Bot) |
schedules/ |
可选 | 定时任务配置 |
快速开始:5 分钟构建第一个 Agent
环境要求
- Node.js 18+
- npm 或 pnpm
第一步:初始化项目
1 | npx eve@latest init my-agent |
这条命令会:
- 创建一个
my-agent目录 - 安装依赖(eve 包本身)
- 初始化 Git 仓库
- 启动交互式终端 UI
如果你已有项目,也可以直接初始化到当前目录:
1 | cd myapp |
第二步:编写系统提示词
打开生成的 agent/instructions.md,用你自己定义的 Agent 行为替换默认内容:
1 | 你是一个简洁的天气预报助手。 |
第三步:添加工具函数
接下来为 Agent 添加一个获取天气的工具。创建 agent/tools/get_weather.ts:
1 | import { defineTool } from "eve/tools"; |
可以看到,eve 使用了 zod 做输入验证,defineTool 包装了工具的描述和实现逻辑。这一切都遵循 TypeScript 的类型安全。
第四步:配置模型
创建 agent/agent.ts 来选择你想要的模型:
1 | import { defineAgent } from "eve"; |
目前 eve 支持 OpenAI、Anthropic Claude 等主流模型提供商。你也可以配置自定义的 API 端点来使用国产大模型。
第五步:运行你的 Agent
1 | cd my-agent |
就可以在终端中与你的 Agent 交互了!输入 “北京今天天气怎么样?”,Agent 会自动调用 get_weather 工具返回数据。
进阶用法:Skill 系统和 Channel 系统
Skill 系统:按需加载的能力
想象一下,你希望 Agent 在用户需要时能够"策划一次旅行"。这个流程可能包含多个步骤,不适合放到系统提示词里。eve 的 Skill 系统就是为此设计的:
创建 agent/skills/plan_a_trip.md:
1 | ## 旅行计划流程 |
Skill 是 Markdown 文件,用自然语言描述流程。Agent 会在需要时自动加载并理解这些流程。
Channel 系统:接入真实业务
想让 Agent 接入 Slack 或 Discord?只需要创建一个 channel 文件:
1 | // agent/channels/slack.ts |
同样,你也可以创建 HTTP API 端点:
1 | // agent/channels/api.ts |
这样你的 Agent 就变成了一个 HTTP 服务,可以集成到任何业务系统中。
eve 的设计哲学:为什么文件系统即接口
你可能好奇,为什么 Vercel 选择用文件系统来定义 Agent,而不是像 LangChain 那样用代码编排?
这其实是 Vercel 一以贯之的设计理念。回想一下 Next.js 的成功之处:约定优于配置。在 Next.js 中,pages/ 目录下的文件自动变成路由,app/ 目录下的 layout.tsx 自动成为布局。开发者不需要写路由配置文件,不需要注册组件。
eve 把同样的理念带到了 AI Agent 领域:
tools/目录下的每个文件就是一个工具 —— 不需要注册、不需要导入skills/目录下的每个文件就是一个技能 —— 按需自动加载instructions.md就是系统提示词 —— 用你最熟悉的 Markdown 编写
这种设计思路极大降低了 Agent 开发的认知负荷。你不需要理解复杂的 Agent 编排逻辑,只需要知道:文件放在哪里,Agent 就有什么能力。
与传统 Agent 框架的对比
| 特性 | Vercel eve | LangChain | AutoGPT | Dify |
|---|---|---|---|---|
| 学习曲线 | ⭐ 低(文件系统即接口) | ⭐⭐⭐ 高 | ⭐⭐ 中 | ⭐ 低 |
| 可扩展性 | ⭐⭐⭐ 目录扩展 | ⭐⭐⭐ Chain 组合 | ⭐⭐ 插件 | ⭐⭐ 工作流 |
| TypeScript 支持 | ✅ 原生 | ✅ 支持 | ❌ Python | ❌ Python |
| 持久化状态 | ✅ 内置 | ❌ 需额外配置 | ❌ 有限 | ✅ 内置 |
| 多通道接入 | ✅ HTTP/Slack/Discord | ✅ 需额外配置 | ❌ | ✅ 内置 |
| 开源协议 | Apache 2.0 | MIT | MIT | Apache 2.0 |
| 文件系统约定 | ✅ 核心设计 | ❌ | ❌ | ❌ |
可以看到,eve 最大的差异化优势就是文件系统约定和极低的学习曲线。如果你已经熟悉 TypeScript 和 Markdown,基本上不需要额外学习就能上手。
实战场景:构建一个自动化运营助手
让我们来构建一个更有实际价值的场景:一个内容运营助手,它可以自动从 RSS 抓取内容、生成摘要、并发布到多个平台。
项目结构
1 | content-bot/ |
核心工具实现
RSS 抓取工具:
1 | // agent/tools/fetch_rss.ts |
定时发布任务:
1 | // agent/schedules/daily_publish.ts |
这个例子展示了 eve 的真正威力:用文件系统组织能力,用自然语言描述流程,用 TypeScript 实现工具。而这一切都遵循"约定优于配置"的原则。
如何部署 eve Agent
eve 天然与 Vercel 平台集成。你可以一键部署到 Vercel:
1 | npx eve deploy |
这会将你的 Agent 部署为 Vercel Functions,自动获得:
- Serverless 弹性伸缩 —— 零流量时不收费
- 边缘网络加速 —— 全球访问低延迟
- 自带域名和 HTTPS
- 持续集成 —— 关联 Git 仓库,推送即部署
如果你需要私有化部署,也可以打包成 Docker 镜像:
1 | FROM node:20-alpine |
总结与展望
Vercel eve 代表了一种新的 Agent 开发范式。它摒弃了传统框架中复杂的抽象层和配置逻辑,回归到开发者最熟悉的东西 —— 文件系统。
这种设计带来的最直接好处是:门槛极低、结构清晰、易于运维。无论你是刚接触 AI Agent 的新手,还是在生产环境中管理大量 Agent 的团队,eve 都能提供简洁而强大的体验。
如果你正在考虑构建 AI Agent 应用,强烈建议试试 eve。5 分钟上手,一个下午就能做出生产可用的 Agent。
更多资源
- 🔗 eve GitHub 仓库
- 🔗 官方文档

