Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > ALBERT | AI Agents > ALBERT| AI KI-Tools-Dokumentationen
Hinweise:
Anzeigename: Show Chat Widget
Hinweis: Im Wissensbereich stehen Informationen zur Verwendung dieses KI-Tools zur Verfügung. Binden Sie nicht nur das Tool selbst, sondern auch das Wissen in Ihre KI-Voreinstellungen ein, um dieses Tool optimal zu nutzen.
Das Tool rendert ein interaktives HTML-Widget direkt inline im Chat. Dazu wird ein HTML-Fragment (kein komplettes HTML-Dokument) entgegengenommen, validiert (u. a. Struktur und erlaubte externe Ressourcen), als temporäre Datei mit der Endung .dynamic.html gespeichert und anschließend als Widget im Chat angezeigt.
Achtung: Die Endung .dynamic.html ist zwingend erforderlich. Ohne diese Dateiendung wird der Inhalt nicht als interaktives Widget gerendert.
Verwenden Sie das Tool, wenn Inhalte im Chat besser als visuelle oder interaktive Oberfläche dargestellt werden sollen. Beispiele:
Das Tool ist nicht geeignet für reine Textausgaben oder einfache Aufzählungen. Dafür genügen normale Chat-Antworten.
Sie können die eigentlich nur temporär erstellte HTML-Datei weiterverwenden. Berücksichtigen Sie dabei, dass die Datei statische Daten enthält, die sich nicht aktualisieren.
| Parameter | Beschreibung |
|---|---|
| html (Pflicht) |
Selbstenthaltendes HTML-Fragment inkl. inline CSS und inline JavaScript, das im Chat als Widget gerendert wird.
Hinweis: Übergeben Sie kein komplettes HTML-Dokument. Tags wie Erlaubte externe Hosts (nur diese):
Chat-Interaktion: Zur Interaktion mit dem Chat kann die Funktion Theming: Für ein konsistentes Erscheinungsbild sollten CSS-Variablen aus der Render-Umgebung verwendet werden (siehe Abschnitt „Theming“). |
Die Widget-Umgebung stellt CSS-Variablen auf :root bereit. Verwenden Sie diese Variablen statt fester Farben/Fonts.
| Variable | Zweck | Beispielwert | Hinweis |
|---|---|---|---|
--color-text-primary |
Haupttext | #3B3B3B |
Standard für Fließtext |
--color-text-secondary |
Labels/Sekundärtext | #666666 |
z. B. Beschriftungen |
--color-background-secondary |
Karten/Container | #F0F0F0 |
z. B. Card-Hintergrund |
--color-border-primary |
Rahmen | #CECECE |
z. B. Card-Border |
--color-accent |
Akzent/Buttons/Links | #006BFF |
Primärfarbe |
--font-sans |
Schrift | Tahoma, system-ui, -apple-system, sans-serif |
Für konsistente Typografie |
Bitte zeige mir ein kleines interaktives Widget im Chat: - Überschrift: "Ausgaben-Rechner" - Eingabe: Betrag - Button: "Berechnen" - Ausgabe: Betrag inkl. 19% MwSt. Nutze sendPrompt(), wenn der Nutzer auf "Berechnen" klickt, um den Betrag zur weiteren Verarbeitung an den Chat zu senden.
<style>
.card {
font-family: var(--font-sans);
color: var(--color-text-primary);
background: var(--color-background-secondary);
border: 1px solid var(--color-border-primary);
border-radius: var(--border-radius-md);
padding: 16px;
}
.title { color: var(--color-accent); font-weight: 600; margin-bottom: 8px; }
.row { display: flex; gap: 8px; align-items: center; }
input {
flex: 1;
border: 1px solid var(--color-border-primary);
border-radius: 6px;
padding: 8px;
}
button {
border: 0;
border-radius: 6px;
padding: 8px 12px;
background: var(--color-accent);
color: white;
cursor: pointer;
}
</style>
<div class="card">
<div class="title">Ausgaben-Rechner</div>
<div class="row">
<input id="amount" placeholder="Betrag" />
<button id="btn">Berechnen</button>
</div>
<div id="out" style="margin-top:10px; color: var(--color-text-secondary)"></div>
</div>
<script>
document.getElementById('btn').addEventListener('click', function () {
const val = document.getElementById('amount').value;
sendPrompt('Bitte berechne Betrag inkl. 19% MwSt. fcr: ' + val);
});
</script>
Mit diesem HTML-Fragment wird ein einfaches Formular im Chat wie folgt dargestellt:
Wenn Sie externe Bibliotheken benötigen (z. B. Chart.js), laden Sie sie per JavaScript dynamisch und mit Fallback-URLs. Verwenden Sie nicht einfach statische <script src>-Tags.
<script>
function loadScript(urls, callback) {
var i = 0;
function tryNext() {
if (i >= urls.length) { console.error('All CDN URLs failed to load'); return; }
var s = document.createElement('script');
s.src = urls[i++];
s.onload = callback;
s.onerror = tryNext;
document.head.appendChild(s);
}
tryNext();
}
loadScript([
'https://cdn.jsdelivr.net/npm/chart.js/dist/chart.umd.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.6/chart.umd.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.4.4/chart.umd.min.js'
], function () {
// initCharts();
});
</script>
Sie können durch das Einbinden von Chart.js auf diese Weise etwa interaktive Diagramme im Chat wie das folgende erstellen:
Sobald Sie Chart.js im Chat-Widget verwenden, setzen Sie immer einen Wrapper mit fixer Höhe und verwenden Sie maintainAspectRatio: false. Das ist keine Option „für den Fall“, sondern ein Standard, um Layout-Probleme zu vermeiden. Ohne feste Container-Höhe kann die Canvas-Höhe sonst den Container vergrößern.
Wenn Sie Chart.js verwenden, muss das <canvas> immer in einem Wrapper mit fester Höhe liegen und maintainAspectRatio: false gesetzt sein. Das erreichen Sie etwa wie folgt:
<style>
.chart-container { position: relative; width: 100%; height: 400px; }
</style>
<div class="chart-container">
<canvas id="myChart"></canvas>
</div>
<script>
// new Chart(document.getElementById('myChart'), {
// type: 'bar',
// data: { /* ... */ },
// options: { responsive: true, maintainAspectRatio: false }
// });
</script>
Im Prompt könnten Sie Folgendes angeben:
Erstelle einen Canvas-Wrapper mit fixer Höhe und maintainAspectRatio:false
Tipp: Erstellen Sie nur ein Fragment (kein vollständiges HTML-Dokument) und halten Sie das Widget möglichst kompakt. Nutzen Sie für ein einheitliches Erscheinungsbild die beschriebenen CSS-Variablen (Theme-Farben/Spacing) und binden Sie externe Bibliotheken ausschließlich über die erlaubten CDNs ein. Nutzen Sie scrollbare Container, Tabs oder einklappbare Bereiche, wenn das Widget größer wird.