ai
Version:
AI SDK by Vercel - build apps like ChatGPT, Claude, Gemini, and more with a single interface for any model using the Vercel AI Gateway or go direct to OpenAI, Anthropic, Google, or any other model provider.
97 lines (70 loc) • 4.17 kB
text/mdx
---
title: eve
description: Build production AI agents with eve, an open-source agent framework for durable, long-running work that is built on the AI SDK.
---
# eve
[eve](https://eve.dev) is an open-source agent framework for durable, long-running work. Build, govern, and evolve enterprise-grade agents that scale — with channels, durable runs, approvals, and testing built in.
eve is built on the AI SDK:
- `defineTool` uses the same shape as [`tool()`](/docs/ai-sdk-core/tools-and-tool-calling): a `description`, an `inputSchema` (Zod, any Standard Schema, or a JSON Schema object), and an `execute` function.
- `defineAgent` accepts an [AI Gateway](https://vercel.com/ai-gateway) model ID such as `openai/gpt-6-luna-fast`, or any AI SDK `LanguageModel` from a [provider package](/providers).
- Options like `reasoning` map to the AI SDK's model settings.
- A [Chat SDK](/docs/agents/chat-platforms) channel connects any Chat SDK adapter to your agent.
## Built for Production
- **Channels** — Multiplayer and single-player chat across Slack, Teams, iMessage, WhatsApp, and the web. Channels are a framework primitive.
- **Durable runs** — Checkpoints every step. Survives crashes, restarts, and days-long waits. Runs on crons, too.
- **Agentic or deterministic** — Fully agentic loops, deterministic workflows, or both in one run. You choose per task.
- **Human in the loop** — Pause for approval. Resume durably when it arrives.
- **Any provider** — Swap models with a one-line edit. Provider fallback included. Route different models to different tasks.
- **Per-user capabilities** — Skills, schedules, memory, and tools resolved per user at runtime.
- **MCP, OpenAPI, and subagents** — Connect to services over MCP and OpenAPI, or delegate to focused subagents. Credentials stay in the runtime.
- **Testing** — Test agent behavior before and after every change.
## Quick Start
Create a new agent project:
```bash
npx eve@latest init my-agent
```
This creates a `my-agent` directory, installs its dependencies, initializes Git, and starts the interactive terminal UI. To add an agent to an existing project, pass a path:
```bash
cd myapp
npx eve@latest init .
```
<Note>
Like the `ai` package, `eve` bundles its full documentation, so coding agents
can read it locally from `node_modules/eve/docs`. See [Coding
Agents](/docs/getting-started/coding-agents) for the same workflow with the AI
SDK.
</Note>
## A Minimal Example
An eve agent lives in an `agent/` directory. Replace the system prompt in `agent/instructions.md`:
```md filename="agent/instructions.md"
You are a concise weather demo assistant. Tell users that the weather data is mocked.
```
Add a tool at `agent/tools/get_weather.ts`. The filename is the tool name the model sees:
```ts filename="agent/tools/get_weather.ts"
import { defineTool } from 'eve/tools';
import { z } from 'zod';
export default defineTool({
description: 'Return mock weather data for a city.',
inputSchema: z.object({ city: z.string().min(1) }),
async execute({ city }) {
return { city, condition: 'Sunny', temperatureF: 72 };
},
});
```
Choose the model in `agent/agent.ts`:
```ts filename="agent/agent.ts"
import { defineAgent } from 'eve';
export default defineAgent({
model: 'openai/gpt-6-luna-fast',
reasoning: 'high',
});
```
## When to Choose eve
The AI SDK gives you the primitives; eve is the production framework around them.
- Use eve when you want a complete production agent — durable, long-running work across channels, schedules, and approvals — without assembling those pieces yourself.
- Use [`ToolLoopAgent`](/docs/agents/building-agents) when you are assembling your own model-and-tools loop inside an application.
- Use [`WorkflowAgent`](/docs/agents/workflow-agent) from `@ai-sdk/workflow` when you need durable, resumable execution with explicit workflow steps.
- Use [Chat SDK](/docs/agents/chat-platforms) when you are adding an agent to chat platforms.
## Next Steps
- [eve documentation](https://eve.dev/docs) — the full project layout and guides
- [eve on GitHub](https://github.com/vercel/eve) — source code and discussions