Ga naar hoofdinhoud

GovChat Overlay

De GovChat Overlay is een aanvullende laag bovenop OpenWebUI die overheidsspecifieke functionaliteit toevoegt zonder de basis-applicatie aan te passen. De overlay wordt als apart Docker-image meegeleverd en injecteert via een gedeeld volume extra functionaliteit in OpenWebUI.

Wat zit er in?

GovChat Admin

Via het adminpaneel kunnen beheerders eigen teksten instellen voor:

  • Privacyverklaring — Organisatie-specifieke privacyverklaring die gebruikers te zien krijgen
  • AI-geletterdheid — Korte introductie over verantwoord AI-gebruik, afgestemd op de eigen organisatie

App Launcher mini-apps

De overlay bevat een App Launcher met configureerbare mini-apps, beheerd via het admin panel.

  • Versimpelaar — herschrijft tekst naar B1/B2 via n8n + LiteLLM.
  • Afbeelding generator — start image-jobs met live status/polling.
  • Live transcriptie — spraak-naar-tekst met slimme chunking, realtime weergave en sessiehistorie.

Meer details over configuratie, workflow-opbouw en validatie staan op de pagina Live transcriptie.

Live transcriptie (uitgelicht)

Belangrijkste onderdelen:

  • slimme chunking (VAD + overlap),
  • robuuste transcriptie via n8n + LiteLLM,
  • sessies bewaren, openen, hernoemen, titel opnieuw genereren, verwijderen en sorteren,
  • historie gekoppeld aan ingelogde gebruiker via trusted backend.

Transcriptiepad (n8n + LiteLLM)

De mini-app gebruikt de webhook:

  • POST /n8n/webhook/transcriptie-litellm

en verwacht JSON zoals:

{
"audio_base64": "<base64-audio>",
"mime_type": "audio/webm",
"chunk_index": 0,
"session_id": "tr-123",
"model": "whisper",
"language": "nl"
}

De workflow roept vervolgens LiteLLM aan op:

  • POST /v1/audio/transcriptions

met multipart form-data (file, model, language).

Daarnaast gebruikt de overlay voor historie:

  • GET/POST/PATCH/DELETE /govchat-api/transcript-sessions

Voorbeeld app-configuratie

In apps.json kan de transcriptie-app zo geconfigureerd worden:

{
"id": "transcriptie",
"name": "Live transcriptie",
"icon": "🎙️",
"description": "Live spraak-naar-tekst met sprekerbeheer",
"url": "/n8n/webhook/transcriptie-litellm",
"target": "transcriptie",
"config": {
"webhook_token": "local_n8n_webhook_token_change_me",
"chunk_ms": 5000,
"chunk_min_ms": 2200,
"chunk_max_ms": 20000,
"vad_silence_ms": 900,
"silence_threshold": 0.012,
"overlap_ms": 650,
"max_duration_minutes": 120,
"litellm_model": "whisper",
"language": "nl",
"include_timestamps": true,
"transcript_sessions_api": "/govchat-api/transcript-sessions",
"title_webhook": "/n8n/webhook/transcriptie-title-litellm",
"title_webhook_token": "local_n8n_webhook_token_change_me",
"title_model": "govchat-default",
"title_max_chars": 72,
"title_timeout_ms": 6000
}
}

n8n bootstrap

Voor automatische import/publicatie zijn transcriptie-litellm.json én transcriptie-title-litellm.json toegevoegd aan de bootstrap workflow-lijst in de LibreChat stack.

Roadmap

Verdere uitbreidingen van de overlay (waaronder de B1 Versimpelaar) zijn te volgen op de GovChat-NL roadmap.