For the complete documentation index, see llms.txt. This page is also available as Markdown.

E.D.D.I Documentation

Multi-Agent Orchestration Middleware for Conversational AI β€” coordinate multiple AI agents, business systems, and conversation flows through configuration, not code.

Welcome to the official documentation for E.D.D.I (Enhanced Dialog Driven Interface) β€” a production-grade multi-agent orchestration middleware for conversational AI.

Version Β· License: Apache 2.0 Β· GitHub Β· Website


What Is EDDI?

EDDI coordinates between users, AI agents (LLMs), and business systems. It provides intelligent routing, conversation management, and API orchestration β€” all through versioned JSON configurations, not code.

Built with Java 25 and Quarkus. Ships as a Red Hat-certified Docker image. Supports MongoDB or PostgreSQL. Deploy on Docker, Kubernetes, or OpenShift.


Start Here

Guide
Time
Description

5 min

Install EDDI and run your first agent

10 min

Build a complete agent step-by-step via REST API

πŸ—οΈ Architecture Overview

15 min

Understand the lifecycle pipeline and config model

20 min

Real-world hotel booking agent walkthrough


Key Capabilities

πŸ€– Multi-Agent Orchestration

  • 12 LLM Providers β€” OpenAI, Anthropic, Google Gemini, Mistral AI, Azure OpenAI, Amazon Bedrock, Oracle GenAI, Vertex AI, Ollama, Jlama, Hugging Face, plus OpenAI-compatible endpoints

  • Group Conversations β€” Multi-agent debates, voting, shared artifacts, and standing teams across 7 discussion styles (Round Table, Peer Review, Devil's Advocate, Delphi, Debate, Task Force, Negotiation)

  • Managed Agents β€” Intent-based auto-routing with one conversation per user per intent

  • Model Cascading β€” Cost-optimized multi-model routing with confidence-based escalation

  • Platform Operator β€” Meta-agent that reads and operates the deployment, including creating other agents, with every write behind a human approval gate. Activate it at /manage/operator, or use the form-based wizard at /manage/agents/wizard β€” see Getting Started

πŸ”— Protocols & Interoperability

  • MCP Server (80+ tools) β€” Full EDDI control from Claude Desktop, IDE plugins, or any MCP client

  • MCP Client β€” Point an agent at somebody else's MCP server, including stdio servers via a bridge sidecar

  • A2A Protocol β€” Agent-to-Agent peer communication with skill discovery

  • Connections β€” One credential model for every outbound call: static keys, HTTP Basic, OAuth service accounts, and per-end-user OAuth

  • OpenAI-Compatible API β€” Deployed agents presented as OpenAI models for Open WebUI and OpenAI SDK clients

  • SSE Streaming β€” Token-by-token responses, including most tool-enabled turns (a single-chunk fallback applies to cascade agents, providers without a streaming builder, and a few other configurations), plus a live tool_call event so clients can show "Using {tool}…" while the turn is still running

🧠 Intelligence & Memory

  • LLM Integration β€” Connect any of 12 providers with agent mode and tool calling

  • RAG β€” 8 embedding providers, 6 vector stores, plus zero-infrastructure httpCall RAG

  • Persistent User Memory β€” Agents remember facts across conversations

  • Properties β€” Config-driven slot-filling and importance extraction

πŸ” Enterprise Security

  • Secrets Vault β€” Envelope encryption (AES-256-GCM + PBKDF2) for API keys

  • Security β€” SSRF protection, sandboxed evaluation, Keycloak auth

  • Audit Ledger β€” Write-once trail with HMAC integrity for EU AI Act compliance

  • Human-in-the-Loop β€” Turn-level and per-tool-call approval gates with timeout policies, plus Slack and MCP approval surfaces


Agent Configuration

Build agent behavior by composing these extensions:

Extension
Purpose
Guide

Behavior Rules

Decision-making logic β€” IF conditions THEN actions

HTTP Calls

Call external REST APIs with templated requests

LLM Integration

Chat, agent mode, tool calling with any provider

Output

Define what the agent says, with alternatives

Output Templating

Dynamic responses using Qute templates

Properties

Extract and store structured data from conversations

Semantic Parser

Map user input to expressions via dictionaries

Context

Inject external data from your application


Deployment & Operations

Topic
Guide

βš™οΈ Configuration Reference

🐳 Docker

☸️ Kubernetes & Helm

πŸ”΄ Red Hat & OpenShift

☁️ AWS + MongoDB Atlas

πŸ“Š Metrics & Monitoring

πŸ“‹ Log Administration

πŸ”– Release & Versioning


Quick Start

Then open http://localhost:7070 to access the Manager Dashboard.

See Getting Started for all setup options.


Browse All Documentation

See the full Table of Contents for the complete documentation index.

Have a question? Check the FAQs for common setup and configuration answers.

Last updated

Was this helpful?