Qortora · Search · Indexed page

eve.devFetched 2026-08-17T11:45:09Z

eve – durable AI agent framework

Like Next.js for agents. Build durable agents with one folder.

Open original source · Full cached text

eve – durable AI agent framework Frameworks Next.js Svelte Nuxt Nitro SDKs AI SDK Chat SDK Flags SDK Workflow SDK Other Turborepo Shadcn SWR just-bash deepsec Docs Integrations Templates Search…⌘ KAsk AIAsk AI Search…⌘ K DocsIntegrationsTemplatesGitHubVercel OSSFrameworks Next.js Svelte Nuxt Nitro SDKs AI SDK Chat SDK Flags SDK Workflow SDK Other Turborepo Shadcn SWR just-bash deepsec Build durable agents with eve Like Next.js for agents. Build durable agents with one folder. For you For your agent $npx eve@latest init my-agentnpx eve@latest init my-agent Your agent/ is a directory An instructions.md file is all you need to run an agent. Skills, tools, channels, and the rest are optional building blocks you add as it grows. instructions.md 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 any city in the world. agent.tsoptional 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: "xai/grok-4.5", }); skills/research.mdoptional Skills are Markdown playbooks loaded only when relevant, so the agent gets focused guidance without carrying it in every prompt. --- name: research description: Research unfamiliar topics --- When the task is novel or ambiguous, gather evidence first, then answer. tools/get_weather.tsoptional Drop a TypeScript file in 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]; }, }); sandbox/sandbox.tsoptional Every agent includes an isolated sandbox. Add sandbox/sandbox.ts to swap in any backend or customize its setup. import { defineSandbox } from "eve/sandbox"; export default defineSandbox({ async bootstrap({ sandbox }) { await sandbox.run( "git clone repo /workspace" ); }, }); channels/slack.tsoptional Add channel files to use the same agent in Slack, Discord, Teams, or the web. import { slackChannel } from "eve/channels/slack"; export default slackChannel({ botName: "my-agent", }); connections/linear.tsoptional Connections handle auth for services like GitHub, Stripe, and Linear, so tools can call them without managing tokens. import { defineMcpClientConnection } from "eve/connections"; export default defineMcpClientConnection({ url: "https://mcp.linear.app/mcp", }); subagents/researcher/agent.tsoptional 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: "xai/grok-4.5", }); schedules/daily-report.mdoptional Schedules run agents automatically for jobs like daily reports and weekly digests, continuing durably without an active session. --- cron: "0 8 * * *" --- Send the user a daily weather digest for their saved cities. evals/weather/brooklyn-forecast.eval.tsoptional Evals run the agent through real sessions and score the result, so you can catch regressions as it evolves. import { defineEval } from "eve/evals"; import { includes } from "eve/evals/expect"; export default defineEval({ async test(t) { await t.send("What is the weather in Brooklyn?"); t.succeeded(); t.check(t.reply, includes("Sunny")); }, }); Your agent/ is a directory An instructions.md file is all you need to run an agent. Skills, tools, channels, and the rest are optional building blocks you add as it grows. agent/ instructions.mdagent.tsoptionalskills/optionaltools/optionalsandbox/optionalchannels/optionalconnections/optionalsubagents/optionalschedules/optionalevals/optional instructions.md 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 any city in the world. Works natively with React and Next.js Wrap your config with withEve() and the agent mounts into your existing app. Same dev server, same deploy. useEveAgent() finds its routes on its own, so there's no CORS to configure and no URL env vars to keep in sync. next.config.ts import { withEve } from "eve/next"; const nextConfig = {}; // Agent + app: one dev server, one deploy. export default withEve(nextConfig); app/chat.tsx "use client"; import { useEveAgent } from "eve/react"; export function Chat() { // Same-origin routes, found automatically. const agent = useEveAgent(); // agent.messages, agent.sendMessage, ... } Built on open-source SDKs, yours to self-host Swap any backend and self-host the whole runtime, with zero managed-infrastructure dependencies. ManagedSelf-hosted (example) RuntimeDurable execution, state persistence, event streaming Durable WorkflowCheckpointed steps, park between messages, resume on deliveryPostgres (@workflow/world-postgres) AI SDKModel calls, streamingGPT-5.4 API SandboxIsolated executionDocker ConnectionMCP/HTTP endpointsSnowflake API Tools & SubagentsFunctions, child agents ChannelWhere your agent gets surfaced Chat SDKSlackDiscordWeb ChatGoogle ChatMicrosoft TeamsWhatsAppAPICronTwilioLinearGitHubTelegram You can deploy anywhere. Postgres-backed durability, Docker sandbox, Ansible deploy, zero managed services. See the example Everything you need for production agents Durability, sandboxing, human-in-the-loop, and evals are built into the framework. Focus on building your agent. Durable Execution Workflows survive crashes and restarts. Every step is checkpointed. Agents park when waiting, resume on the next message. Sandboxed Compute Agents run code in isolated sandboxes. File system access, bash execution, and code, all fully isolated. Multi-Channel Delivery One agent codebase deploys to web chat, Slack, API, cron, CLI, and custom apps. Human-in-the-Loop Tools that need confirmation trigger approval gates. Sessions park until resolved, then resume seamlessly. Subagents Delegate specialized work to child agents with their own prompts, tools, and sandbox. Evaluations Define test suites with scoring rubrics. Run evals on every deployment and on a schedule. Build your first agent today. Get started Agent Stack AI SDK AI Gateway Sandbox Workflows ConnectNew PassportNew eveNew Core Platform CI/CD Content Delivery Fluid Compute Observability Security Platform Security WAF Bot Management Bot ID Tools Vercel DropNew Vercel Agent Vercel PluginNew Agent Skills Next.js Domains v0 Frameworks eveNew Nuxt SvelteKit Nitro Turborepo Tanstack Start FastAPI xmcp All frameworks SDKs Vercel SDK Workflow SDKNew Flags SDK Chat SDKNew Queues SDKNew Streamdown Build AI Apps Web Apps Marketing Sites Platforms Commerce Platform Engineers Design Engineers Learn Docs Blog Changelog Knowledge Base Academy Articles Community Explore Customers Marketplace Templates Partner Finder Vercel + AWS Company About Careers Press Events Startups Shipped on Vercel Open Source Program Enterprise Pricing Help Legal & Trust Privacy Policy Terms of Service Cookie Policy DPA Acceptable Use Policy Legal Trust Center Status Social GitHub X LinkedIn YouTube Instagram