Skip to content

eve
Beta

eve is a filesystem-first framework for durable backend AI agents. You define each agent with files under an agent/ directory. eve discovers those files and compiles them into an app that runs on Vercel Functions.

eve is currently in beta and subject to the Vercel beta terms. The framework, APIs, documentation, and behavior may change before general availability.

eve uses these Vercel services:

The fastest path is the eve CLI. Run the published package with npx to scaffold a new agent project, install dependencies, initialize Git, and start the development server:

npx eve@latest init my-agent

To add eve to an existing app, follow the quickstart steps.

Follow the generated README for the project-specific dev command, or run the agent locally with the standard script from the scaffold:

pnpm dev

A minimal agent is two files. agent/instructions.md:

You are a concise assistant. Use tools when they are available.

And agent/agent.ts:

import { defineAgent } from 'eve';
 
export default defineAgent({
  model: 'openai/gpt-5.4-mini',
});

eve resolves model strings such as openai/gpt-5.4-mini through AI Gateway, so on Vercel you authenticate with OIDC and don't need to manage provider API keys.

Each file in agent/tools/ is one tool. Create agent/tools/get_weather.ts:

import { defineTool } from 'eve/tools';
import { z } from 'zod';
 
// The runtime tool name comes from the filename, so the model sees `get_weather`.
export default defineTool({
  description: 'Get the current weather for a city.',
  inputSchema: z.object({
    city: z.string(),
  }),
  async execute(input) {
    return { city: input.city, condition: 'Sunny', temperatureF: 72 };
  },
});

Start a durable session and stream its output:

curl -X POST http://127.0.0.1:3000/eve/v1/session \
  -H 'content-type: application/json' \
  -d '{"message":"What is the weather in Brooklyn?"}'

The response returns a continuationToken in the body and an x-eve-session-id header. Attach to the session stream to receive NDJSON lifecycle events:

curl http://127.0.0.1:3000/eve/v1/session/<sessionId>/stream
  • Agent project: Author an agent from files under agent/, including instructions, runtime config, tools, skills, channels, connections, and a sandbox.
  • Durable sessions: Create sessions that stream incremental output and resume after cold starts, deploys, or long pauses.
  • Tools and skills: Give the model typed actions and load larger procedures only when relevant.
  • Agent Runs: Inspect sessions, turns, tools, reasoning, timing, and token usage in the Vercel dashboard.
Last updated June 19, 2026

Was this helpful?