The framework for
building agents
An agent is a directory
Define instructions and skills in markdown, tools in TypeScript, and deploy. The framework compiles the directory, wires up durable workflows, and connects channels.
An instructions.md file is a complete agent. Describe its role in Markdown, then run eve.
Eve uses a default model. Add agent.ts when you want to choose a model or configure the runtime.
Skills are Markdown playbooks loaded when they are relevant. The agent gets focused guidance without carrying it in every prompt.
Add a TypeScript file to tools/ and the model can call it. The filename becomes the tool name. No registration required.
Every agent includes an isolated sandbox and file tools. Add sandbox/sandbox.ts to choose a backend or customize its setup.
Add channel files to use the same agent in Slack, Discord, Teams, or the web.
Connections handle authentication for services such as GitHub, Stripe, and Linear. Tools can call them without managing tokens.
Add subagents for specialized work. The main agent delegates tasks and combines the results.
Schedules run agents automatically for jobs such as daily reports and weekly digests. Work continues durably without an active session.
An instructions.md file is a complete agent. Describe its role in Markdown, then run eve.
# Identity
You are an expert weather assistant.You can fetch the weather for anycity in the world.Eve uses a default model. Add agent.ts when you want to choose a model or configure the runtime.
import { defineAgent } from "eve";
export default defineAgent({ model: "openai/gpt-5.4-mini",});Skills are Markdown playbooks loaded when they are relevant. The agent gets focused guidance without carrying it in every prompt.
---description: Research unfamiliar topics---
When the task is novel or ambiguous,gather evidence first, then answer.Add a TypeScript file to tools/ and the model can call it. The filename becomes the tool name. No registration required.
import { defineTool } from "eve/tools";import { z } from "zod";
export default defineTool({ description: "Get the weather for a city", inputSchema: z.object({ cityName: z.string(), }), async execute(input) { const res = await fetch( `${process.env.WEATHER_API_URL}/current?city=${input.cityName}` ); const data = await res.json(); return data.current_condition[0]; },});Every agent includes an isolated sandbox and file tools. Add sandbox/sandbox.ts to choose a backend or customize its setup.
import { defineSandbox, vercelSandboxBackend,} from "eve/sandbox";
export default defineSandbox({ backend: vercelSandboxBackend({ runtime: "node24", }),});Add channel files to use the same agent in Slack, Discord, Teams, or the web.
import { connectSlackCredentials } from "@vercel/connect/eve";import { slackChannel } from "eve/channels/slack";
export default slackChannel({ credentials: connectSlackCredentials("slack/my-agent"),});Connections handle authentication for services such as GitHub, Stripe, and Linear. Tools can call them without managing tokens.
import { connect } from "@vercel/connect/eve";import { defineMcpClientConnection } from "eve/connections";
export default defineMcpClientConnection({ url: "https://mcp.linear.app/sse", description: "Linear workspace: issues, projects, cycles, and comments.", auth: connect("linear"),});Add subagents for specialized work. The main agent delegates tasks and combines the results.
import { defineAgent } from "eve";
export default defineAgent({ description: "Investigate questions", model: "openai/gpt-5.4",});Schedules run agents automatically for jobs such as daily reports and weekly digests. Work continues durably without an active session.
---cron: "0 8 * * *"---
Send the user a daily weatherdigest for their saved cities.Leverages all Vercel AI primitives
AI Gateway for model calls, Sandboxes, Workflows, and Connect. All critical agent infrastructure works out of the box, no gluing point solutions together.
Everything you need for production agents
Enterprise governance, observability, and sandboxed compute come standard. Focus on building, not infrastructure.
- resolve_identitycustomer_summarysearch_contextexecute_sqldata_integrityDurable executionWorkflows survive crashes and restarts. Every step is checkpointed. Agents park when waiting, resume on the next message.
- agent_JKdWWzHCUoj7gKBqnTRunning4xCPU 8GBagent_yN8upsY7Kgh4DFTiYHyxStopped2xCPU 4GBagent_zDiBp4lFo7hYyv35y06DfRunning2xCPU 8GBagent_fORPyGtLtxG4VdlDtRnprStopping4xCPU 8GBagent_T0BqwUg0ierWhp6cD2TStopped2xCPU 8GBagent_SxbECNxlPDoaAFSOZzwRunning4xCPU 8GBagent_Qm2vTnLx8RpKdWe3BfHaRunning2xCPU 4GBagent_Hs9YpZcV4NtLmQr7XaPoStopping4xCPU 8GBagent_Lk4BdWnGpY6xTfRoZ2UyStopped2xCPU 8GBagent_Vc8MqJhDsK1uNbWp5YeoRunning4xCPU 8GBSandboxed computeAgents spin up isolated VMs on demand. File system access, bash execution, and code runs, all completely isolated.
- GitHubSlackDiscordMessengerMicrosoft TeamsGoogle ChatWhatsappLinearTwilioCronWeb ChatAPIMulti-channel deliveryOne agent codebase deploys to web chat, Slack, API, cron, CLI, and custom apps.
- Human-in-the-loopTools that need confirmation trigger approval gates. Sessions park until resolved, then resume seamlessly.
- SubagentsDelegate specialized work to child agents with their own prompts, tools, and sandbox.
- EvaluationsDefine test suites with scoring rubrics. Run evals on every deployment and on a schedule.