Skip to main content
Über POST /api/v1/milian/ask oder das MCP-Tool ask_milian beantwortet Milian Fragen, analysiert freigegebene Workspace-Daten und empfiehlt nächste Schritte. Änderungen an Workspace-Ressourcen führt es nicht aus.

Freigabe und Credits

Weise vor jeder Frage auf zusätzliche Workspace-Credits hin und hole eine ausdrückliche Freigabe ein. Setze confirmed erst danach auf true. Die Verbindung eines Clients oder die Vergabe von Zugriffsrechten ist keine Freigabe für künftige kostenpflichtige Fragen. Abgerechnet wird im aktiven Workspace zu denselben Konditionen wie Milian im Dashboard. Vor der Generierung werden verfügbare Credits geprüft. Die Antwort nennt den tatsächlich abgebuchten Betrag. Bereits erledigte Arbeit kann auch dann Credits verbrauchen, wenn ein späterer Schritt fehlschlägt. Jede Rückfrage und Wiederholung ist eine neue kostenpflichtige Anfrage; daher nicht automatisch wiederholen.

Zugriff und Aufruf

Nutze einen Workspace-API-Key oder OAuth-Token mit milian:write sowie den nötigen Leserechten, etwa calls:read. Wähle bei OAuth Milian und die zu analysierenden Datengruppen. Milian gehört weder zu den sieben Standardgruppen noch zum öffentlichen Assistant-History-Profil. Viewer- und Billing-Rollen können keine kostenpflichtigen Fragen starten. Fragen sind eigenständig und werden nicht im Dashboard-Chatverlauf gespeichert. Gib nötigen Kontext direkt mit.
Sende diesen Body erst nach der Freigabe mit Bearer-Authentifizierung an den oben genannten Endpunkt. Die Antwort enthält unter data die Fragenreferenz id, answer, die tatsächlich abgebuchten credits, status sowie billing_complete. Prüfe beide Statusangaben. Fehlende Credits vor dem Start ergeben HTTP 402, fehlende Freigabe HTTP 400, fehlende Berechtigungen HTTP 403. Mehr unter MCP-Tools und Scopes.

Sprachchat (Beta)

Mit der CLI erstellst du dieselbe Verbindung über famulor create-milian-voice-session --approve-credit-usage --context '{"locale":"de"}'. Übergib URL und Protokolle an deinen sprachfähigen Client. Die CLI erstellt die Sitzung; der verbundene Client sendet Audio, Seitenkontext oder freigegebene Bildschirmbilder über das folgende Protokoll. Starte eine Sitzung über POST /api/v1/milian/voice-sessions oder create_milian_voice_session. Voraussetzung sind Beta-Funktionen im Workspace, ein Nutzerzugang mit milian:write und eine schreibberechtigte Rolle. Tools behalten die Scopes und OAuth-Toolgruppen dieses Zugangs. Jede Sitzung beginnt einen neuen Chat; private Dashboard-Erinnerungen und bestehende Chats werden nicht geladen. Informiere den Nutzer über zusätzliche Workspace-Credits für Sprache und Bildschirmhilfe und hole die ausdrückliche Zustimmung für diese Sitzung ein. Sende erst dann {"approve_credit_usage":true,"context":{"locale":"de"}}. Neue Sitzungen und Wiederholungen benötigen eine neue Zustimmung. Käufe, Veröffentlichungen, destruktive Änderungen und Nachrichten an Dritte sind damit nicht genehmigt. Verbinde dich innerhalb von expires_in Sekunden mit new WebSocket(data.url, data.protocols). Die Verbindung ist nur einmal nutzbar; behandle die Protokolle als temporäre Zugangsdaten. Browser-Clients verwenden denselben Ursprung wie die Verbindungs-URL; native Clients benötigen keinen Origin-Header. Sende nach ready Audio mit {"type":"audio","audio":"BASE64"} als Mono-PCM16, Little-Endian, 16 kHz. Antwort-Audio nutzt 24 kHz. Bei interrupt die Wiedergabe-Warteschlange leeren. Text: {"type":"text","text":"Hilf mir mit dieser Einstellung"}. Alle zehn Sekunden {"type":"ping"} senden. Sende beim Stummschalten oder Pausieren des Mikrofons einmal {"type":"audio-pause"}, um den aktuellen Audioabschnitt abzuschließen. Texteingaben bleiben möglich; zum Fortsetzen wieder Audio senden. Nach ausdrücklicher Bildschirmfreigabe können alle zwölf Sekunden JPEG-Screenshots mit weniger als 240.000 Zeichen gesendet werden: {"type":"screen","image":"data:image/jpeg;base64,…"}. Sende das erste Bild etwa eine Sekunde nach der Freigabe, damit der Auswahldialog des Browsers nicht darauf zu sehen ist. Bevor Milian den Bildschirm prüft, sendet die Verbindung {"type":"screen-request"}: Antworte sofort mit einem aktuellen Bild. Kommt innerhalb von zwei Sekunden keine Antwort, nutzt Milian das letzte Bild. Das Bild wird bei Bedarf separat analysiert; eine Aktualisierung startet keinen neuen Nutzerbeitrag. Sende beim Ende der Freigabe {"type":"screen-stop"} und stoppe die Aufnahme, damit das aktuelle Bild verworfen wird. Roh-Audio und Screenshots werden nicht als Chat-Anhänge gespeichert. Für optionalen Seitenkontext kann ein Client nach ready die Nachricht {"type":"page-context","text":"Sichtbare Seitentexte und Bedienelemente"} mit maximal 12.000 Zeichen senden. Informiere den Nutzer über die Freigabe, biete eine Pause an und schließe Geheimnisse, Formularwerte und ausgeblendete Inhalte aus. Aktualisiere nach Seitenwechseln oder sichtbaren Änderungen und mindestens alle zehn Sekunden; nach dreißig Sekunden verfällt der Kontext. Sende beim Pausieren, Ausblenden oder Verlassen des Workspaces {"type":"page-context-stop"}. Updates bleiben passiv, bis Milian die Seite prüfen muss. Sende nach bestätigter Bildschirmfreigabe {"type":"screen-start"}, um den Seitenkontext bereits vor dem ersten Bild zu verwerfen. Während der Freigabe werden Seitenupdates ignoriert. Sende nach screen-stop neuen Seitenkontext zum Fortsetzen; alte Texte werden nicht automatisch wiederhergestellt. Verarbeite transcript, message, screen-status, screen-request, usage mit abgerechneten Credits sowie error und ended. Beende mit {"type":"stop"}, stoppe alle Medien und warte kurz auf den letzten Verbrauch. Verbindungsabbruch und Sitzungsgrenze beenden die Verarbeitung ebenfalls. max_seconds zeigt das Planlimit; zum Speichern kann die Sitzung etwas früher enden. Pro Workspace ist eine Sprachsitzung gleichzeitig möglich.