OpenWebUI er en moderne, brukervennlig webgrensesnitt for AI-chatbots som gir en ChatGPT-lignende opplevelse. Det er en åpen kildekode-løsning som kan brukes med forskjellige AI-modeller og API-er.
- 🎨 Moderne og intuitiv chat-grensesnitt
- 💬 Støtte for samtalehistorikk
- 🔧 Konfigurerbar og tilpassbar
- 🔌 API-integrasjon med ulike AI-tjenester
- 📱 Responsiv design for desktop og mobil
OpenWebUI er lagt til som en egen Docker-tjeneste i docker-compose.yml:
openwebui:
image: ghcr.io/open-webui/open-webui:latest
ports:
- "8002:8002"
volumes:
- openwebui:/app/backend/data- Image: Bruker den offisielle OpenWebUI Docker-imaget
- Port: Eksponert på port 8002 for å unngå konflikter med andre tjenester
- Persistent Storage: Data lagres i
openwebuivolume for å bevare samtaler og innstillinger
- URL: http://localhost:8002
- Integrasjon: Kan konfigureres til å bruke vår travel-weather-agent via API
- Bedre brukeropplevelse: Mer polert grensesnitt enn vår enkle web-tjeneste
- Samtalehistorikk: Automatisk lagring og gjenoppretting av samtaler
- Konfigurerbarhet: Kan tilpasses for spesifikke bruksområder
- Skalerbarhet: Enkel å utvide med nye funksjoner og integrasjoner
OpenWebUI kan integreres på to måter med vår eksisterende arkitektur:
OpenWebUI kan konfigureres til å kommunisere med travel-weather-agent som fungerer som en AI-proxy:
# Konfigurer OpenWebUI til å bruke agent som AI-backend
# I OpenWebUI admin panel:
# API Base URL: http://travel-agent:8001
# API Type: OpenAI CompatibleFordeler:
- Direkte tilgang til AI-funksjonalitet med værverktøy
- Samtalehukommelse håndteres av agenten
- Ingen ekstra konfigurering av MCP protocol
Den mest kraftige løsningen er å koble OpenWebUI direkte til MCP serveren:
# Konfigurer OpenWebUI til å bruke MCP server
# I OpenWebUI admin panel:
# API Base URL: http://mcp-server:8000
# OpenAPI Spec URL: http://mcp-server:8000/openapi.jsonHvorfor OpenAPI-støtte er en styrke:
🔧 Automatisk verktøyoppdagelse: OpenWebUI kan automatisk lese OpenAPI-spesifikasjonen fra http://mcp-server:8000/openapi.json og oppdage alle tilgjengelige verktøy (weather, ping, status) uten manuell konfigurering.
📝 Dynamisk dokumentasjon: OpenAPI-spec gir komplett dokumentasjon av alle endpoints, parametere og returformater - OpenWebUI kan vise dette til brukerne.
🔄 Automatisk oppdatering: Når nye verktøy legges til MCP serveren, oppdateres OpenAPI-spec automatisk, og OpenWebUI får tilgang til nye funksjoner uten restart.
⚡ Optimal ytelse: Direkte kommunikasjon med MCP server eliminerer ett lag (agent) og gir raskere respons.
🛠️ Full MCP Protocol støtte: OpenWebUI kan utnytte alle MCP-funksjoner direkte, inkludert fremtidige utvidelser.
| Aspekt | Agent API (Port 8001) | MCP Server (Port 8000) |
|---|---|---|
| Arkitektur | OpenWebUI → Agent → MCP → External APIs | OpenWebUI → MCP → External APIs |
| Kompleksitet | Høyere (flere lag) | Lavere (færre lag) |
| Latens | Høyere (ekstra hop via agent) | Lavere (direkte til MCP) |
| AI-integrasjon | Innebygd OpenAI-funksjonalitet | Kun verktøy/tools |
✅ Fordeler:
- AI-behandling inkludert: Agent håndterer både AI-respons og verktøykall
- Samtalehukommelse: Innebygd session management i agenten
- Komplett løsning: Én endpoint for alt (AI + tools)
- Enklere frontend: OpenWebUI trenger kun å sende tekst og motta svar
- Robust error handling: Agent kan håndtere feil og gi brukervennlige meldinger
❌ Ulemper:
- Ekstra latens: Request må gå gjennom agent-laget
- Begrenset fleksibilitet: Bundet til agent's AI-modell og logikk
- Avhengighet: Hvis agent feiler, blir hele systemet utilgjengelig
- Ressursbruk: Agent må kjøre kontinuerlig selv for enkle verktøykall
✅ Fordeler:
- Optimal ytelse: Direkte kommunikasjon, minimale lag
- Maksimal fleksibilitet: OpenWebUI kan bruke sin egen AI-logikk
- Skalerbarhet: MCP server er lett og rask
- OpenAPI-integrasjon: Automatisk verktøyoppdagelse og dokumentasjon
- Fremtidssikker: Støtter full MCP protocol
- Modulært design: Verktøy kan utvikles og deployes uavhengig
❌ Ulemper:
- Kun verktøy: Ingen innebygd AI - OpenWebUI må håndtere AI-delen
- Mer konfigurasjon: Krever setup av AI-modell i OpenWebUI
- Sammensatt arkitektur: OpenWebUI må orkestrere AI + verktøykall
- Ingen samtalehukommelse: MCP server lagrer ikke session state
Velg Agent API (8001) hvis:
- Du vil ha en "plug-and-play" løsning
- Enkel konfigurasjon er viktigst
- Du trenger kun grunnleggende chat-funksjonalitet
Velg MCP Server (8000) hvis:
- Ytelse og skalerbarhet er kritisk
- Du vil ha full kontroll over AI-modell og -logikk
- Du planlegger å utvide med mange flere verktøy
- Du vil utnytte OpenWebUI's avanserte funksjoner fullt ut
OpenWebUI (Port 8002)
↓ OpenAPI integration
MCP Server (Port 8000)
↓ Tool endpoints
External APIs (Weather, etc.)
Dette gir oss det beste fra begge verdener:
- Robust backend-arkitektur med MCP protocol
- Moderne, brukervennlig frontend med OpenWebUI
- Automatisk verktøyoppdagelse via OpenAPI
- Optimal ytelse og fleksibilitet