eve — 面向构建者的开源Agent框架
以文件系统为第一等公民的框架,用于构建持久、可观测的AI Agent。
- 源仓库
- vercel/eve
- Star 数
- ★ 5.6k
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 希望快速构建自托管Agent的开发者,可以用脚手架初始化项目,并通过修改instructions.md和添加工具来定义行为。
- 不适合
- 需要稳定生产级 API 的团队,eve 仍处于 beta 阶段
- 不愿学习特定目录结构与框架 API 的开发者
- 无法使用 Node.js/npm 环境的团队
这个 Agent 能做什么,适合哪些场景?
eve是Vercel开源的Apache-2.0许可框架,用于构建持久化AI Agent。其核心设计是“文件系统即接口”:Agent的能力(指令、工具、技能、通道、定时任务)都存放在约定的目录结构中(如agent/instructions.md、agent/tools/、agent/skills/等),使得项目易于检查、扩展和运维。框架使用TypeScript编写,提供defineTool和defineAgent等API,内置对模型配置、工具调用、消息通道和定时任务的支持。安装和初始化通过npx eve@latest init命令完成,生成的脚手架包含完整的文档,便于快速上手。该项目当前处于beta阶段,功能和API可能变化。整体上,eve为需要持久化、可部署、可观测的Agent应用提供标准化的开发范式。
eve通过脚手架工具(npx eve@latest init)创建新的Agent项目或集成到现有项目(npx eve@latest init .)。它生成包含agent/目录的项目结构,其中instructions.md作为系统提示词,tools/目录通过defineTool定义模型可调用的类型化函数,skills/存放按需加载的过程文档,channels/定义消息通道(如HTTP、Slack、Discord),schedules/定义周期性cron任务。Agent的模型和运行时配置通过defineAgent在agent.ts中设置。运行npm run dev可启动交互式终端UI并执行Agent。eve以文件系统为持久化层,使Agent的状态和配置可检查、可版本控制。
- 希望快速构建自托管Agent的开发者,可以用脚手架初始化项目,并通过修改instructions.md和添加工具来定义行为。
- 需要在多个通道(如Slack、Discord)提供服务的团队,可以通过channels/目录配置消息通道。
- 需要定时执行任务(如每周报告)的运维人员,可以使用schedules/中的cron定义。
- 希望将Agent集成到现有Node.js项目中的开发者,可以使用npx eve@latest init .在项目目录初始化。
- 需要持久化Agent状态、便于审查和扩展的团队,可以利用文件系统即接口的设计。
- 希望了解Agent框架最佳实践或学习构建Agent的开发者,可参考框架内置的文档。
如何安装或部署这个 Agent?
先决条件:Node.js和npm。尚未安装eve。项目通过npx创建。在终端运行:npm install -g eve(全局安装CLI,但源码未明确说明,建议使用npx)。创建新项目:npx eve@latest init my-agent,然后cd my-agent并运行npm run dev启动。
如何使用这个 Agent?
1) 初始化项目:npx eve@latest init my-agent。2) 进入目录:cd my-agent。3) 编辑agent/instructions.md设置系统提示词,例如:'You are a concise weather demo assistant. Tell users that the weather data is mocked.'。4) 在agent/tools/get_weather.ts中添加工具,使用defineTool定义。5) 在agent/agent.ts中使用defineAgent选择模型,如model: 'anthropic/claude-sonnet-5'。6) 运行npm run dev启动Agent。7) 根据需要添加human-in-the-loop、子代理、调度等。
这个 Agent 有哪些优点和局限?
- 文件系统即接口的设计使得Agent配置和逻辑易于审查、版本控制和扩展。
- 支持多种消息通道(HTTP、Slack、Discord等)和定时任务,可直接集成到工作流。
- 提供脚手架工具,快速初始化项目和添加现有项目。
- 当前为beta阶段,但有Vercel背书,并有活跃的社区讨论。
- 当前为beta,API和功能可能变化,不适合生产环境。
- 依赖Node.js和npm,需要Node.js环境的支持。
- 模型兼容性未明确说明,可能受限于特定模型提供商(如Anthropic)。
- 需要学习框架的目录结构和API,有一定学习曲线。
这个 Agent 与同类方案有什么区别?
eve属于Agent框架范畴,与LangChain、Autogen等类似,但采用文件系统优先的设计。但来源未提及具体竞争产品,故不具体比较。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| eve — 面向构建者的开源Agent框架 当前 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 5.6k | 今天 | TypeScript | OpenAI API · Claude API |
| Jev Review | 81 · 表现良好 | Agent 插件 / 技能免费 + 模型费 | ★ 243 | 1 个月前 | TypeScript | Codex · Claude Code |
| OpenAI Agents SDK(JavaScript/TypeScript) | 55 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.9k | 3 天前 | TypeScript | OpenAI API |
| E2B Cookbook:AI代理代码解释器示例集 | 36 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.4k | 3 天前 | TypeScript | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示框架采用文件系统优先设计,工具和技能定义在明确位置,但未提供权限模型或最小权限原则的明确说明。用户确认机制存在(如human-in-the-loop提示),但未详细说明。数据流透明度有限,未明确说明数据如何流动或存储。敏感数据处理未提及。依赖安全有syncpack检查,但未提供漏洞扫描证据。外部效果(如网络调用)未明确限制。回滚机制未提及。来源归属有Vercel品牌和许可证,但发布者未验证。扣分:缺乏权限模型、数据流透明度和敏感数据处理的具体实现。
自一致性较好,README和代码结构一致,但未提供运行时行为验证。依赖可用性有pnpm-lock和workspaces,但未验证。失败消息有测试代码,但未提供用户可见的错误处理文档。扣分:未提供运行时验证和详细的失败处理文档。
目标受众明确(开发者),场景包括快速启动和现有项目集成。能力边界通过文件系统结构定义,但未明确限制。触发精度(如cron调度)有示例,但未详细说明。环境适配有Node>=24和跨平台测试,但未提供详细配置。扣分:触发精度和边界定义不够详细。
信息架构清晰,有README和文档链接。安装说明有npx eve init。命名稳定性未明确,但版本控制存在。示例和FAQ有快速启动和社区链接。已知限制提到beta条款。许可证为Apache-2.0。版本变更日志未提供。维护责任有贡献指南和安全政策。扣分:缺少版本变更日志和已知限制的详细说明。
输出可用性有示例和文档,但未验证实际输出。边际价值高,提供文件系统优先框架。成本效益未评估,但开源免费。扣分:未提供实际运行验证和成本分析。
声明可追溯性有限,README声称功能但未提供测试证据。跨来源佐证有CI配置和测试脚本,但未独立验证。事实与推断分离不明确。扣分:缺乏测试结果和独立验证。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 发布者身份未验证,需谨慎对待来源。
- 框架处于beta阶段,API和行为可能变化。
- 未提供权限模型和敏感数据处理细节,部署时需自行评估。
- 依赖安全仅依赖syncpack,未提供漏洞扫描证据。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Patch Changes - c1b079c: Publish framework-neutral tracing as @vercel/agent-runs with singular createAgentRun and AgentRun APIs; eve still bundles it without a new runtime dependency. Also fix a development-server build failure in npm-installed apps when generating source maps.在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - a3654ef: Compaction now keeps the start and end of an oversized tool result instead of only its start, so failures, errors, and the bash exit code at the end of the output survive. - 5666d2f: Hosted builds now fail with a clear error when the build output imports a build.externalDependencies package, or a subpath of one, that Node's ESM resolver does not resolve to a file inside the output. Previously the build succeeded and the deployed function crashed at boot with ERR_MODULE_NOT_FOUND (for example when only a workspace package installed the dependency) or `ERR_PAC …在 GitHub 查看 ↗ -
发布说明摘录
Minor Changes - 4210766: git({ github }) accepts an optional authorize callback that runs once per gh tool invocation with the caller, declared repository, and repository-scoped token; returning false blocks the command. It gates caller/repository access, not individual API requests or operations, and allowed commands use the app token's permissions rather than the caller's GitHub permissions. …在 GitHub 查看 ↗