Eve

Eve Runtime

Connect an Eve agent to assistant-ui with useEveAgentRuntime, eve/next, durable sessions, streaming messages, and human-in-the-loop approvals.

@assistant-ui/eve integrates assistant-ui with Eve, Vercel's filesystem-first framework for durable agents. It wraps Eve's useEveAgent hook and exposes it as an assistant-ui ExternalStoreRuntime, so Eve owns the session stream while assistant-ui renders messages, reasoning, dynamic tool calls, and approval requests.

When to use it

Pick the Eve runtime when:

  • You want your agent implementation to live under agent/ and be served by eve/next.
  • You want Eve sessions, continuation tokens, NDJSON streaming, and local development tooling.
  • You want assistant-ui to render Eve messages and human-in-the-loop tool approvals without writing a custom runtime adapter.

Architecture

The Next.js app mounts Eve with withEve() and assistant-ui's registry transform with withAui():

next.config.ts
import { withAui } from "@assistant-ui/next";
import type { NextConfig } from "next";
import { withEve } from "eve/next";

const nextConfig: NextConfig = {};

export default withEve(withAui(nextConfig));

On the client, useEveAgentRuntime() calls Eve's React hook and converts Eve message parts into assistant-ui thread messages:

app/page.tsx
"use client";

import { Thread } from "@/components/assistant-ui/thread";
import { useEveAgentRuntime } from "@assistant-ui/eve";
import { AssistantRuntimeProvider } from "@assistant-ui/react";

export default function Home() {
  const runtime = useEveAgentRuntime();

  return (
    <AssistantRuntimeProvider runtime={runtime}>
      <Thread />
    </AssistantRuntimeProvider>
  );
}

Requirements

  • Node.js 24 or higher.
  • React 18 or 19.
  • An Eve app mounted with eve/next.
  • A model credential for the model configured in agent/agent.ts.

Eve's default gateway model ids route through the Vercel AI Gateway. Use AI_GATEWAY_API_KEY or Vercel OIDC, or configure a direct provider LanguageModel.

Install

npm install @assistant-ui/react @assistant-ui/eve eve

Auth note

Eve's built-in eve channel accepts localhost during development and trusted Vercel OIDC callers. It does not automatically admit browser users in production. Before deploying a public app, add agent/channels/eve.ts and wire the channel to your application auth.

Next