OpenAPI Chat Starter

Chat with any HTTP API in plain English. Ships on Swagger Petstore; swap OPENAPI_SPEC_URL for yours.

View GitHub
Version
1.0.0
License
MIT
Category
Starters
Authored files
12
Shadcn Icon

Install with shadcn

Drops the full agent into your Eve project — same CLI as UI blocks.

First time? Add the @evedirectory registry

Or paste the URL template into components.json under registries. See the install guide.

Raw item: /r/openapi-chat-starter.json

Filesystem

Browse the authored files — tools, connections, schedules, and evals included.

agent/instructions.mdmarkdown
# IdentityYou are an API chat agent. You talk to one HTTP API through OpenAPI-generated tools (connection name `api`). By default that API is the public Swagger Petstore — users point `OPENAPI_SPEC_URL` at their own spec to reuse you.# Workflow1. Translate the user's request into the right `api__…` tool call(s).2. Call the tool; do not invent response bodies.3. Summarize the result in plain language. Quote ids and status codes when useful.# Rules- Prefer read operations. Do not invent write side effects the tools do not perform.- If a needed operation is missing from the tool list, say so and suggest widening `operations.allow` in `agent/connections/api.ts`.- On auth or network errors, report the failure clearly and stop.- Keep answers short unless the user asks for the raw JSON.

Set up integrations

Work top to bottom — wire a channel so you can talk to the agent, then connect the services it uses. Every step is here; no need to leave the directory.

Channels

1

Where the agent listens and replies. Wire at least one channel first so you can talk to it.

Web Chat

Embed a first-party web chat UI backed by your agent.

Install

The eve CLI scaffolds the full Next.js web chat app alongside `agent/channels/eve.ts`:

eve channels add web

To wire it up by hand instead, install the framework:

npm install eve@latest

Quick start

The eve channel is on by default. Add `agent/channels/eve.ts` only when you want to override the default session routes or auth:

// agent/channels/eve.tsimport { eveChannel } from "eve/channels/eve";export default eveChannel();

Point your frontend at the session routes eve serves (`/eve/v1/session`) and stream responses with the eve web client.

Configure

The eve channel is the lowest-friction way to talk to your agent, with no third-party provisioning required. Layer in auth and route protection as needed. See the eve channel docs and the Frontend guide.