Skip to content
🚀 EDDI 6.5.0

19 LLM providers, knowledge bases that crawl your site and read your files, and conversations that follow compatible agent versionsWhat's new

Managed Cloud Get Started
All integrations
ChannelsReact + SSE

Web chat

A themeable React chat UI served by EDDI itself, with streaming responses, Markdown, quick replies and undo, that you can open directly or embed in a page.

What you get

  • A chat page for every deployed agent at /chat/{environment}/{agentId}
  • Token-by-token streaming, rich Markdown, code highlighting and LaTeX math
  • Dark and light themes, quick-reply buttons and undo and redo
  • URL parameters to hide controls and set the title, for a focused embedded widget
  • A demo mode that needs no backend

How it works in EDDI

  1. Run EDDI. The Chat UI ships inside the EDDI image and the installer includes it.
  2. Open /chat/<environment>/<agentId> on your EDDI host.
  3. Adjust it with URL parameters such as theme, title, hideUndo and hideNewConversation.
  4. To embed it, allow your site's origin with eddi.chat.frame-ancestors (default 'none'), then put the same URL in an iframe on your page.

Configuration

Taken from the EDDI documentation. Placeholders such as your-agent-id are yours to replace.

URL patterns served by EDDIThe URL patterns the Chat UI serves.
# an agent in an environment
http://localhost:7070/chat/{environment}/{agentId}

# with an explicit user id
http://localhost:7070/chat/{environment}/{agentId}/{userId}

# a showcase with mock data, no backend needed
http://localhost:7070/chat/demo/showcase
Embed in a pageAn embedded widget from the Chat UI README. Combine the display parameters as needed.
<iframe
  src="https://your-eddi-server/chat/production/your-agent-id?hideNewConversation=true&theme=dark"
  style="width: 400px; height: 600px; border: none; border-radius: 12px;"
></iframe>
application.properties (or EDDI_CHAT_FRAME_ANCESTORS)By default the chat refuses to be framed. Set this property, or the environment variable EDDI_CHAT_FRAME_ANCESTORS, to the origin of the site that embeds it (separate several origins with spaces).
eddi.chat.frame-ancestors=https://portal.example.com

Governance

  • The chat talks to the same conversation API as every other client, so behavior rules, approval gates and the audit ledger apply unchanged.
  • With authentication on, the widget needs an access token for the signed-in user, and the backend verifies it on every call.
  • Treat any text an agent produces as untrusted output. The Chat UI renders Markdown from the agent.

Good to know

  • Embedding the chat on another site requires setting eddi.chat.frame-ancestors to that site's origin. Until then browsers refuse to render it in a frame. Everything else EDDI serves refuses framing.

Related integrations

Configuration and behavior on this page follow the EDDI documentation, checked on 2026-10-14. Field names and defaults can change between releases, so confirm them in the docs for your version.