Skip to content

Chatbot persona (URG standard)

Status as of 23.10.2026: schema version 1.0. The uGo Mobility side is a development state, not yet released and not yet checked on a device. The German version follows below: Chatbot-Persona (URG-Standard). Setting it up on the robot: Technician manual — Assistant persona.

For IT, technicians and integration partners

Technical reference for IT departments, URG technicians and trained partners. It is not written as operating instructions for end users.

The persona describes who the voice assistant of a device is. Every URG application with a voice assistant uses the same data model: one persona per device, seven content fields and four administrative fields. Role, tone and the safety sentence are fixed product texts, not fields: the persona changes who the assistant is and where it stands, never what the device may do.

Data model (schema 1.0)

Field Type Required Rule Set by
schemaVersion string yes exactly "1.0"; any other value is refused, never converted client
product string yes ugo-me or ugo-mobility client
revision integer no ≥ 1; first save 1, every accepted save +1; a value sent by the client is ignored device
updatedAt string no time of the accepted save, RFC 3339 with offset device
name string yes at least one non-space character client
context string yes may be empty; then its sentence is left out client
welcome string yes may be empty; then its sentence is left out client
languages list of ISO 639-1 codes yes unique, at least one; de, en, fr, es, it, nl are offered by every product client
allowed list of strings yes may be empty; each entry without spaces at the start or end and not empty client
forbidden list of strings yes as allowed client
stayout list of strings yes as allowed client

No further fields are accepted. No key, password or movement release can therefore get into a persona. Every place that writes a persona checks it against the schema and answers an error with a text key, never with a silent correction.

System context

From the persona the product builds one system context for the voice service, always in this order: role sentence with the name → location and task → greeting → languages with the fallback "answer politely in English" → may → must not → stay out → tone sentence. Empty fields drop their sentence. Products whose voice chain can lead to a movement end the text with a fixed safety sentence: the assistant cannot move the device by voice, every drive needs a touch confirmation on the screen. No field can remove it.

Safety and data protection

  • No drive and no movement by voice alone. No persona field releases a movement; every movement that comes from voice starts only after a touch on Yes in a question on the screen.
  • Voice replaces neither the emergency stop on the device nor the stop button on the screen.
  • Saving a persona does not switch voice control on or off; that is a separate switch.
  • Persona texts go as instructions to a voice service in the cloud. They must contain no personal data of third parties, no health data and no access codes. The setup screen says so in six languages.

uGo Mobility

The persona lies on the robot as one file daten/persona.json, written atomically. Routes of the uGo server:

Route Method Who Request Answer
/api/persona GET anybody at the device; from the network with a session — technician: the whole document; everybody else: {name} · 404 api.persona-keine
/api/persona PUT technician only (403 also with a service key) the persona after schema 1.0, product: "ugo-mobility"; languages only de, en, fr, es, it, nl 200 {persona, uebertragung, schluessel?} · 400 api.persona-ungueltig (werte.feld), api.persona-fassung, api.persona-produkt, api.unlesbar, api.anfrage-zu-lang · 500 api.persona-ablage
/api/persona/uebertragen POST technician only — 200 {uebertragung, schluessel?} · 404 api.persona-keine

uebertragung is ok, fehlgeschlagen or keine-adresse. After an accepted save the robot hands the system context to the voice service; if that fails, the persona stays saved and the answer carries api.persona-nicht-uebertragen. Limits of this development state: name 40, context 2,000 and welcome 300 characters, at most 20 rules of 200 characters per list.

Name at the microphone bubble. The surface hands the name to the kiosk shell with the bridge method personaNameSetzen(key, name); the shell shows it in front of the state text. Like every bridge method it needs the frame key that the shell gives only to the uGo page in the main frame (see Voice and Language Models).

Hand-over format. How the voice service takes over the system context is to be confirmed for each installation before voice control is switched on.

uGo Me

uGo Me sets the persona on its own screen and sends the seven content fields as the gateway message persona (WebSocket, see Gateway API). The alignment with schema 1.0 (language codes instead of language names, version and revision fields) is open.


Chatbot-Persona (URG-Standard)

Stand 23.10.2026: Schemafassung 1.0. Die Seite von uGo Mobility ist ein Entwicklungsstand, noch nicht freigegeben und noch nicht am Gerät geprüft. Einrichtung am Roboter: Technikerhandbuch — Persona des Assistenten.

Die Persona beschreibt, wer der Sprachassistent eines Geräts ist. Jede URG-Anwendung mit Sprachassistent nutzt dasselbe Datenmodell: eine Persona je Gerät, sieben Inhaltsfelder und vier Verwaltungsfelder. Rolle, Tonfall und Sicherheitssatz sind feste Produkttexte, keine Felder: Die Persona ändert, wer der Assistent ist und wo er steht, nie, was das Gerät darf.

Datenmodell (Schema 1.0)

Feld Typ Pflicht Regel Gesetzt von
schemaVersion Zeichenkette ja genau "1.0"; jeder andere Wert wird abgewiesen, nie umgewandelt Client
product Zeichenkette ja ugo-me oder ugo-mobility Client
revision Ganzzahl nein ≥ 1; erste Speicherung 1, jede angenommene Speicherung +1; ein vom Client gesendeter Wert zählt nicht Gerät
updatedAt Zeichenkette nein Zeitpunkt der angenommenen Speicherung, RFC 3339 mit Versatz Gerät
name Zeichenkette ja mindestens ein Nicht-Leerzeichen Client
context Zeichenkette ja darf leer sein; dann entfällt sein Satz Client
welcome Zeichenkette ja darf leer sein; dann entfällt sein Satz Client
languages Liste von ISO-639-1-Codes ja eindeutig, mindestens einer; de, en, fr, es, it, nl bietet jedes Produkt an Client
allowed Liste von Zeichenketten ja darf leer sein; jeder Eintrag ohne Leerzeichen am Anfang oder Ende und nicht leer Client
forbidden Liste von Zeichenketten ja wie allowed Client
stayout Liste von Zeichenketten ja wie allowed Client

Weitere Felder werden nicht angenommen. Damit kann kein Schlüssel, kein Kennwort und keine Bewegungsfreigabe in eine Persona gelangen. Jede Stelle, die eine Persona schreibt, prüft sie gegen das Schema und antwortet bei einem Fehler mit einem Textschlüssel, nie mit einer stillen Korrektur.

Systemkontext

Aus der Persona baut das Produkt einen Systemkontext für den Sprachdienst, immer in dieser Reihenfolge: Rollensatz mit dem Namen → Standort und Aufgabe → Begrüßung → Sprachen mit dem Rückfall „höflich auf Englisch antworten“ → darf → darf nicht → heraushalten → Tonfallsatz. Leere Felder lassen ihren Satz weg. Produkte, deren Sprachkette zu einer Bewegung führen kann, schließen den Text mit einem festen Sicherheitssatz: Der Assistent kann das Gerät nicht per Sprache bewegen, jede Fahrt braucht eine Bestätigung durch Berührung am Bildschirm. Kein Feld kann ihn entfernen.

Sicherheit und Datenschutz

  • Keine Fahrt und keine Bewegung allein per Sprache. Kein Persona-Feld gibt eine Bewegung frei; jede Bewegung, die aus Sprache entsteht, startet erst nach der Berührung Ja in einer Rückfrage am Bildschirm.
  • Sprache ersetzt weder den Not-Halt am Gerät noch die Halteschaltfläche am Bildschirm.
  • Das Speichern einer Persona schaltet die Sprachbedienung weder ein noch aus; dafür gibt es einen eigenen Schalter.
  • Persona-Texte gehen als Anweisung an einen Sprachdienst in der Cloud. Sie dürfen keine personenbezogenen Daten Dritter, keine Gesundheitsdaten und keine Zugangscodes enthalten. Die Einrichtungsfläche sagt das in sechs Sprachen.

uGo Mobility

Die Persona liegt auf dem Roboter als eine Datei daten/persona.json, atomar geschrieben. Routen des uGo-Servers:

Route Verfahren Wer Anfrage Antwort
/api/persona GET jeder am Gerät; aus dem Netz mit Sitzung — Techniker: das ganze Dokument; alle anderen: {name} · 404 api.persona-keine
/api/persona PUT nur Techniker (403 auch mit Dienstschlüssel) die Persona nach Schema 1.0, product: "ugo-mobility"; Sprachen nur de, en, fr, es, it, nl 200 {persona, uebertragung, schluessel?} · 400 api.persona-ungueltig (werte.feld), api.persona-fassung, api.persona-produkt, api.unlesbar, api.anfrage-zu-lang · 500 api.persona-ablage
/api/persona/uebertragen POST nur Techniker — 200 {uebertragung, schluessel?} · 404 api.persona-keine

uebertragung ist ok, fehlgeschlagen oder keine-adresse. Nach einer angenommenen Speicherung gibt der Roboter den Systemkontext an den Sprachdienst weiter; misslingt das, bleibt die Persona gespeichert, und die Antwort trägt api.persona-nicht-uebertragen. Grenzen dieses Entwicklungsstands: Name 40, context 2.000 und welcome 300 Zeichen, höchstens 20 Regeln mit je 200 Zeichen je Liste.

Name an der Sprachwolke. Die Oberfläche gibt den Namen mit der Brückenmethode personaNameSetzen(schluessel, name) an die Kiosk-Hülle; die Hülle zeigt ihn vor dem Zustandstext. Wie jede Brückenmethode braucht sie den Rahmenschlüssel, den die Hülle nur der uGo-Seite im Hauptrahmen gibt (siehe Voice and Language Models).

Übergabeformat. Wie der Sprachdienst den Systemkontext übernimmt, ist je Anlage zu bestätigen, bevor die Sprachbedienung eingeschaltet wird.

uGo Me

uGo Me setzt die Persona auf einem eigenen Bildschirm und sendet die sieben Inhaltsfelder als Gateway-Nachricht persona (WebSocket, siehe Gateway API). Die Angleichung an Schema 1.0 (Sprachcodes statt Sprachnamen, Fassungs- und Revisionsfelder) ist offen.