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 byeve/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():
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:
"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 eveEve's browser hook talks to the Eve HTTP channel. There is not a React Native Eve runtime package yet.
Use Eve's terminal UI directly for command-line agent sessions. There is not an Ink Eve runtime package yet.
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.