eve
vercel/eve加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在凌晨两点调试一个 AI 客服 agent,改完一条指令后 agent 突然崩溃了,重启后它丢失了所有上下文,之前的对话历史荡然无存。这个痛点,正是 Vercel 推出 eve 想要解决的核心问题。
eve 是一个以「文件系统即编排接口」(Filesystem-First)为核心理念的 AI Agent 框架,于 2025 年 10 月正式开源。与传统框架(LangChain、AutoGen 等)需要写大量代码来定义 agent 行为不同,eve 让你用文件夹 + Markdown + TypeScript 文件来描述一个 agent 的一切——它的角色定位、工具能力、技能清单、接收消息的渠道,甚至定时任务。一个 agent 就是一个目录,所有配置一目了然。
eve 框架 Logo
大模型能力在 2024-2025 年飞速提升,但把模型变成可靠的生产力工具这件事,门槛仍然很高。传统 agent 框架存在三个根本性问题:
1. 框架语义过重。 用 LangChain 或 AutoGen 构建 agent,你需要理解大量框架概念(Chain、Agent、Tool、Memory……),代码量和框架学习成本成正比。开发者的注意力被迫分散在「如何让框架工作」而非「agent 真正要做什么」。
2. 生产级能力缺失。 很多教程级别的 agent 实现无法应对真实场景:对话中断后状态丢失(不持久)、缺少沙箱导致代码执行危险(不安全)、无法追踪 token 消耗(不透明)、调试全靠 print(不可观测)。
3. 自托管代价高昂。 要让 agent 在生产环境可靠运行,你需要自己实现:持久化执行(checkpoint + resume)、沙箱隔离计算、审批门控、渠道分发……这些能力每一条都需要大量工程投入。
Vercel 作为拥有大量前端开发者的平台,意识到这个痛点,决定把内部 agent 构建经验封装成开源框架——这就是 eve。核心理念:框架负责生产级基础设施,开发者只定义 agent 的「做什么」,不负责「怎么做」。
eve 的最大创新在于架构哲学:将 agent 的每个能力维度映射到一个标准目录位置,开发者通过文件系统结构即可理解 agent 的全貌,无需记忆任何框架 API。
一个典型的 eve agent 项目结构如下:
my-agent/
├── agent/
│ ├── agent.ts # 可选:模型与运行时配置
│ ├── instructions.md # 必选:始终加载的系统提示词
│ ├── tools/ # 可选:Typed 工具函数(TypeScript 单文件)
│ │ └── get_weather.ts
│ ├── skills/ # 可选:按需加载的技能指南(Markdown)
│ │ └── plan_a_trip.md
│ ├── channels/ # 可选:消息渠道(Slack/Discord/HTTP...)
│ │ └── slack.ts
│ └── schedules/ # 可选:定时任务(Cron 风格)
│ └── weekly_recap.ts
工具(tools/) 是 eve 最核心的扩展机制。每个工具是一个 TypeScript 文件,使用 defineTool 定义 Zod 输入 schema 和 execute 函数。文件名自动成为工具名,agent 在运行时可直接调用,无需注册。例如 run_sql.ts 实现 SQL 执行工具,search_context.ts 实现向量检索工具。TypeScript 类型安全。
技能(skills/) 是 Markdown 文件,描述 agent 执行特定任务的完整步骤流程。eve 的 agent 会根据上下文按需加载 skills,而非每次都加载全部上下文——这让 agent 既能掌握复杂技能,又能保持每次调用的 token 效率。
指令(instructions.md) 是 agent 的核心角色定义,类比于系统 prompt,但 eve 保证它在每个 session 中始终加载,不受工具调用干扰。
eve Getting Started 截图
这是 eve 最具区分度的能力。传统的 LLM API 调用是无状态的——模型不记得上一次对话的内容,靠开发者自行管理 memory。eve 引入了Checkpoint + Resume机制:agent 的每次操作都被持久化到 Vercel Workflows,任意时刻 agent 崩溃、函数冷启动、甚至你手动暂停后,agent 都能从上一次 checkpoint 精确恢复,继续未完成的任务。
这意味着你可以让 agent 处理一个需要数小时的工作流,中途关闭电脑,第二天回来 agent 已经自动完成了剩余任务——而不是从零开始。
eve 的 sandbox 环境让 agent 拥有真正的 shell 访问权限,可以执行 bash 命令、运行 Python 脚本、读写文件系统。agent 自己可以写代码然后执行,这是传统 agent 框架很难安全实现的能力。Vercel Sandbox 负责隔离:恶意代码不会影响宿主机,资源使用有上限保证。
对于敏感操作(删除数据、执行危险命令、调用付费 API),eve 支持设置审批门控:agent 遇到这类工具调用时会自动暂停,进入等待状态,等人类批准后才继续。审批可以来自任何配置的渠道(Web UI、Slack、Email……)。这让 agent 在生产环境中既能自动化,又能保持人类监督。
同一个 agent 代码,可以同时部署到:Web Chat(网页对话)、Slack(团队协作)、Discord(社区支持)、HTTP API(供其他系统调用)、Cron(定时触发)、CLI。渠道定义是独立的 TypeScript 文件,新增渠道不需要修改 agent 核心逻辑。这极大降低了 agent 在不同场景复用的成本。
eve 支持嵌套 agent:父 agent 可以将特定任务委托给子 agent,每个子 agent 拥有自己的提示词、工具集和沙箱。子 agent 完成工作后将结果汇报给父 agent,父 agent 继续协调。这种设计让复杂任务可以被自然地分解。
eve 通过 MCP(Model Context Protocol)服务器 或 OpenAPI 规范连接外部服务,凭证由 Vercel Connect 安全管理,agent 永远无法看到 API keys 或认证信息。官方开箱支持的集成包括:Slack、GitHub、Snowflake、Salesforce、Notion、Linear。
低门槛创作体验: 写一个能跑起来的 agent,只需要一个 instructions.md 文件和 agent/ 目录。Markdown 的学习成本对任何技术人都接近零,这让非专业开发者也能参与 agent 的设计。
Vercel 深度集成,基础设施开箱即用: 无需自建持久化存储、消息队列、审批系统。eve 把这些生产级需求封装成平台能力,开发者不需要理解底层原理。
TypeScript 类型安全: 工具定义使用 Zod schema,输入输出有类型检查。相比纯 Python 生态(LangChain 的动态类型),TypeScript 的类型系统减少了运行时错误。
活跃的生态系统: 官方 monorepo 包含多个预构建包:
eve-code:代码编写 agent,支持代码生成、PR 描述等eve-git:Git 操作 agent,支持 commit、branch、PR 管理eve-computer-use:视觉理解型 agent,能感知屏幕截图并操作 GUIeve-self-modification:让 agent 能自主改进自己的 instructions.mdeve-catalog:预制 skills 市场强平台锁定: eve 的运行依赖 Vercel Functions、Vercel Sandbox、Vercel AI Gateway 等 PaaS 组件。截至目前,没有 Dockerfile 或 docker-compose 支持,无法在传统服务器或 Kubernetes 上自托管。这对追求基础设施自主可控的团队是实质性限制。
Beta 阶段稳定性风险: 官方明确标注 eve 处于 Beta,API 和行为可能在正式版发布前发生变化。生产环境使用需要评估版本稳定性风险。
调试体验有限: 对于 agent 启动前的事件(如 Webhook 未触发导致 session 未建立),eve 的 Agent Runs 视图无法提供诊断信息。调试这类问题需要对照 connector 配置逐一排查。
国内访问受限: Vercel 平台及相关文档(eve.dev)在国内访问不稳定,AI Gateway 等依赖的境外 API 在国内网络环境下可能需要额外配置代理。
eve 的出现代表了一种范式转变:从「代码即 agent 定义」到「文件结构即 agent 规范」。这个思路与 GitOps、Infrastructure-as-Code 一脉相承——用人类可读、可版本控制的文件来描述系统行为,而非用程序化 API。
从 GitHub 5,500+ Stars 的增长曲线来看,eve 在发布后迅速获得了开发者社区的关注。作为 Vercel 内部也在使用的框架,它具备了「吃自己的狗粮」的工程可信度。但其 Vercel 强绑定的设计,也让它与 Dify、AutoGen 等更开放的选择形成了鲜明对比。
适合选择 eve 的场景: 已经在 Vercel 生态内、需要快速构建生产级 agent、团队有 TypeScript 能力、不介意平台绑定的团队。
需要考虑替代方案的场景: 追求基础设施自主、预算有限(Vercel Edge Functions 有用量限制)、需要支持私有化部署。
如果想体验 eve,最快的路径是:
npm i -g vercelvercel agent init my-agentagent/instructions.md 定义 agent 角色agent/tools/ 添加 TypeScript 工具文件vercel devvercel deployAI 模型支持 OpenAI GPT-4o、Anthropic Claude、Google Gemini 等主流提供商,可通过 agent/agent.ts 灵活配置。
本报告基于 GitHub 仓库 vercel/eve(Apache-2.0 license, TypeScript, 5513★)分析生成。数据采集时间:2026年1月。eve 当前处于 Beta 阶段,部分功能可能与正式版有差异。