Benutzen sie die linke oder die rechte Maustaste, um zur jeweils vorherigen bzw. nachfolgenden Änderung zu gelangen.
erste | letzte ![]() |
| Änderungen von: | |
| bis: | |
| Typ: | |
erste | letzte ![]() |
Der KI-Assistent ist ein Chat im Seitenpanel von Webdesk. Er beantwortet Fragen des angemeldeten Benutzers und kann dafür vordefinierte Tools aufrufen, mit denen er Daten aus Webdesk liest (Personen, Gruppen, Zeiterfassung, Projektzeit) und in einem Fall auch schreibt (Anwesenheitsbuchung). Die Antworten erzeugt ein externes Sprachmodell, das der Administrator über ein Modell (Zugangsdaten und Endpunkt) anbindet. Optional fassen Agenten Modell, Zusatz-Anweisungen und erlaubte Tools zusammen.
Die Seite richtet sich an Administratoren und Consultants und beschreibt die Einrichtung, die Reihenfolge, in der Schlüssel, Modell und Endpunkt ermittelt werden, den Werkzeugkatalog, die Berechtigungsprüfung und die Datenflüsse zum externen Anbieter. Eine kurze Erwähnung der Funktion findet sich in Neue Features; die allgemeine Bedienung der Systemparameter ist in Systemparameter beschrieben.
Achtung: Sobald der Assistent konfiguriert ist, werden Texte des Benutzers, Angaben zu seiner Person und die Ergebnisse der aufgerufenen Tools an den konfigurierten externen Anbieter übertragen (Details im Abschnitt Datenschutz). Vor der Aktivierung muss geklärt sein, ob dies für das Unternehmen zulässig ist.
ai-impl.ldef.xml definiert die Lizenz ai (Modul ai) mit der Beschreibung "Anzahl der Benutzer, die mit benutzerdefinierten AI Agenten chatten dürfen". Die Lizenz ordnet dem Modul seine Spring-Kontexte und alle seine Aktionen zu (keine Aktion ist ausgeschlossen). Die Lizenzauslastung ist unter System > Aktuelle Lizenz einsehbar (siehe Lizenz-Information).
The AI assistant is a chat in the side panel of Webdesk. It answers questions of the logged-in user and can call predefined tools for this purpose. The tools read data from Webdesk (persons, groups, time and attendance, project time) and, in one case, also write data (attendance booking). The answers are generated by an external language model that the administrator connects through a model (credentials and endpoint). Optionally, agents combine a model, additional instructions and permitted tools.
This page is intended for administrators and consultants. It describes the setup, the order in which key, model and endpoint are determined, the tool catalog, the authorization checks and the data flows to the external provider. The feature is mentioned briefly in New Features; the general handling of system parameters is described in System parameters.
Warning: Once the assistant is configured, texts entered by the user, information about the user and the results of the tools that were called are transmitted to the configured external provider (details in the section Data protection). Before activating it, clarify whether this is permitted for the company.
ai-impl.ldef.xml defines the licence ai (module ai) with the description "Number of users allowed to chat with custom AI agents". The licence assigns the module its Spring contexts and all of its actions (no action is excluded). The licence usage can be viewed under System > Current licence (see Licence information).
https://api.openai.com/v1) per via HTTP(S) erreichen können.ai_showModels.act und and ai_showAgents.act (Bearbeiten über editing via ai_editModel.act bzw. and ai_editAgent.act), Benutzer die Aktion ; users need the action ai_assistant.act. Die Berechtigungen werden wie bei jeder anderen Aktion vergeben.
Im Administrationsmenü gibt es unter Module > AI Administration drei Einträge:
Menüeintrag
Aktion
Zweck
AI Modelle
The administration menu contains three entries under Modules > AI Administration:
|
Menu entry |
Action |
Purpose |
|
|---|---|---|---|
|
AI Models |
|
Liste der Modelle (Spalten List of models (columns Name, Provider, Model ID, Basis Base URL, MandantClient); Schaltfläche button "Neues New AI ModellModel". |
|
|
AI AgentenAgents |
|
Liste der Agenten (Spalten List of agents (columns Name, BeschreibungDescription, Model ID, MandantClient); Schaltfläche button "Neuer New AI Agent". |
|
|
Assistent |
Assistant |
|
Der Chat selbst (Beschreibung The chat itself (description "AI Assistent ChatAssistant chat"). Zugriff auf die REST-Schnittstelle Grants access to the REST interface |
Die Listen zeigen Einträge der zugänglichen Mandanten sowie die öffentlichen Einträge (kein Mandant gesetzt, Anzeige "Öffentlich"). Der Link zum Bearbeiten öffentlicher Einträge erscheint nur für Benutzer, die die Daten aller Mandanten ansehen dürfen.
In der Kopfzeile erscheint das Assistent-Symbol (Tooltip "Assistent") nur, wenn die Aktion ai_assistant.act existiert und der Benutzer dafür berechtigt ist. Ein Klick öffnet bzw. schließt das Seitenpanel, das sich anheften (ab einer Fensterbreite von 1200 Pixeln), minimieren und im Vollbild öffnen lässt. Fehlt das Symbol, fehlt die Berechtigung oder die Lizenz ai.
AiOptions hinterlegen (Reihenfolge siehe unten). Diese Vorgaben gelten, wenn kein Agent bzw. kein Modell verwendet wird, und ersetzen einen leeren API-Schlüssel im Modell.
ai_assistant.act sowie die Aktionen der Module geben, deren Tools genutzt werden sollen (siehe Werkzeugkatalog).
Ein Modell beschreibt, wie Webdesk ein Sprachmodell eines Anbieters anspricht. Pflichtfelder sind Name, Provider und Model ID.
|
Feld |
Erklärung |
mögliche Wert(e) |
|---|---|---|
|
Name |
Bezeichnung des Modells in Listen und Auswahldialogen. |
Text, Pflichtfeld |
|
Mandant |
Bindet das Modell an einen Mandanten. Ohne Mandant ist das Modell öffentlich und steht allen Mandanten zur Verfügung. Ein Agent kann nur Modelle verwenden, die öffentlich sind oder zu seinem eigenen Mandanten gehören. |
Mandant oder leer (Öffentlich) |
|
Provider |
Art der Schnittstelle. "OpenAI-kompatibel" (gespeichert als |
OpenAI-kompatibel / Azure OpenAI, Pflichtfeld |
|
Model ID |
Kennung des Modells beim Anbieter. Bei Azure OpenAI ist es der Deployment-Name; enthält die Basis-URL einen Abschnitt |
Text, Pflichtfeld, z.B. gpt-4o |
|
Basis URL | Adresse des Dienstes. Leer: Es gilt die globale Vorgabe (siehe Reihenfolge), zuletzt
and POST. |
The lists show entries of the accessible clients as well as the public entries (no client set, displayed as "Public"). The link for editing public entries is only shown to users who may view the data of all clients.
The assistant icon (tooltip "Assistant") appears in the header only if the action ai_assistant.act exists and the user is authorized for it. Clicking it opens or closes the side panel, which can be pinned (from a window width of 1200 pixels), minimized and opened in full screen. If the icon is missing, the permission or the licence ai is missing.
AiOptions (order see below). These defaults apply if no agent or no model is used, and they replace an empty API key in the model.
ai_assistant.act as well as the actions of the modules whose tools are to be used (see tool catalog).
A model describes how Webdesk addresses a language model of a provider. Name, Provider and Model ID are required fields.
|
Field |
Description |
Possible value(s) |
|||||
|---|---|---|---|---|---|---|---|
|
Name |
Designation of the model in lists and selection dialogs. |
text, required |
|||||
|
Client |
Binds the model to a client. Without a client the model is public and available to all clients. An agent can only use models that are public or belong to its own client. |
client or empty (Public) |
|||||
|
Provider |
Type of interface. "OpenAI-compatible" (stored as |
OpenAI-compatible / Azure OpenAI, required |
|||||
|
Model ID |
Identifier of the model at the provider. For Azure OpenAI this is the deployment name; if the base URL contains a section |
text, required, e.g. gpt-4o |
|||||
|
Base URL |
Address of the service. Empty: the global default applies (see order), finally |
URL (Standarddefault: leerempty) |
|||||
|
Routing -Praeferenz |
Wunsch an Routing-Dienste, der als Parameter |
Standard (leer) / Ausgewogen ( |
API Schluessel |
API-Schlüssel des Anbieters, Eingabe als Passwortfeld. Der Wert wird unmittelbar als Schlüssel verwendet (keine Referenz auf einen externen Tresor). Leer: Es gilt die globale Vorgabe (siehe Reihenfolge). |
Text, z.Bpreference |
Request to routing services, sent as parameter |
Default (empty) / Balanced ( |
|
API Key |
API key of the provider, entered in a password field. The value is used directly as the key (it is not a reference to an external vault). Empty: the global default applies (see order). |
text, e.g. <your-api-key> |
Hinweis: Das Modellfeld Note: In the code, the model field "API Schluessel" hat im Code keine Verschlüsselung beim Speichern. Der Systemparameter AiOptions.defaultAiApiKey wird dagegen verschlüsselt gespeichert und in der Maske als Passwort dargestellt. Für Installationen mit einem einzigen Anbieter ist es daher sinnvoll, den Schlüssel dort (oder als Umgebungsvariable) zu hinterlegen und das Modellfeld leer zu lassenKey" is not encrypted when saved. The system parameter AiOptions.defaultAiApiKey, in contrast, is stored encrypted and displayed as a password in the mask. For installations with a single provider it is therefore advisable to store the key there (or as an environment variable) and leave the model field empty.
Ein Agent legt fest, mit welchem Modell der Assistent arbeitet, welche zusätzlichen Anweisungen er erhält und welche Tools er verwenden darf. Pflichtfelder sind Name und Modell.
|
Feld |
Erklärung |
mögliche Wert(e) |
|---|---|---|
|
Name |
Anzeigename. Er erscheint in der Agent-Auswahl des Chats und bestimmt die Reihenfolge (alphabetisch). |
Text, Pflichtfeld |
|
Mandant |
Bindet den Agenten an einen Mandanten. Ohne Mandant ist der Agent öffentlich. Ein Benutzer sieht und verwendet nur Agenten seines Mandanten und öffentliche Agenten. Der Auswahldialog für das Modell zeigt öffentliche Modelle und, wenn hier ein Mandant gewählt ist, die Modelle dieses Mandanten; ohne Mandant nur öffentliche Modelle. |
Mandant oder leer (Öffentlich) |
|
Beschreibung |
Freitext zur Dokumentation (maximal 1024 Zeichen). Wird in der Agentenliste angezeigt, aber nicht an das Sprachmodell gesendet. |
Text |
|
Modell |
Das zu verwendende "AI Modell". Gehört das Modell zu einem anderen Mandanten als dem des Benutzers, wird stattdessen die globale Vorgabe verwendet (Warnung im Log). |
Auswahl, Pflichtfeld |
|
System Prompt |
Zusätzliche Anweisungen an das Sprachmodell (maximal 4000 Zeichen). Sie werden an den von Webdesk erzeugten Standard-Prompt angehängt und ersetzen ihn nicht. |
Text |
|
Erlaubte Tools |
Zweispaltige Auswahl "Verfuegbare Tools" / "Ausgewaehlte Tools" mit allen im System registrierten Tools. Die Auswahl schränkt die Tools ein, die dem Modell angeboten werden. Bleibt die Auswahl leer, gilt keine Einschränkung: Es werden alle Tools angeboten, die der Benutzer nach seinen Berechtigungen verwenden darf. Gespeichert werden die Tool-Namen kommagetrennt (maximal 4000 Zeichen). |
Tool-Namen, leer = alle erlaubten |
An agent defines which model the assistant works with, which additional instructions it receives and which tools it may use. Name and Model are required fields.
|
Field |
Description |
Possible value(s) |
|---|---|---|
|
Name |
Display name. It appears in the agent selection of the chat and determines the order (alphabetical). |
text, required |
|
Client |
Binds the agent to a client. Without a client the agent is public. A user only sees and uses agents of his or her client and public agents. The selection dialog for the model shows public models and, if a client is selected here, the models of that client; without a client only public models. |
client or empty (Public) |
|
Description |
Free text for documentation (maximum 1024 characters). It is shown in the agent list but not sent to the language model. |
text |
|
Model |
The "AI Model" to use. If the model belongs to a different client than the user, the global default is used instead (warning in the log). |
selection, required |
|
System Prompt |
Additional instructions for the language model (maximum 4000 characters). They are appended to the standard prompt generated by Webdesk and do not replace it. |
text |
|
Allowed Tools |
Two-column selection "Available tools" / "Selected tools" containing all tools registered in the system. The selection restricts the tools offered to the model. If the selection is empty, there is no restriction: all tools that the user may use according to his or her permissions are offered. The tool names are stored comma-separated (maximum 4000 characters). |
tool names, empty = all permitted |
Warning: The tool selection of an agent is not a security boundary. Any user can choose "Default agent (auto)" wählen, wodurch die Einschränkung des Agenten entfällt. Maßgeblich für die Sicherheit sind die Aktionsberechtigungen (siehe Berechtigungsprüfung).
Webdesk ermittelt API-Schlüssel, Modellname und Basis-URL bei jeder Anfrage. Der erste nicht leere Wert der jeweiligen Liste gilt. Die Umgebungsvariablen und JVM-Parameter heißen unabhängig vom Anbieter in the agent selection, which removes the restriction of the agent. The action permissions are decisive for security (see authorization checks).
Webdesk determines API key, model name and base URL for every request. The first non-empty value of the respective list applies. Regardless of the provider, the environment variables and JVM parameters are called OPENAI_API_KEY, OPENAI_MODEL und and OPENAI_BASE_URL und haben Vorrang vor dem Systemparameter AiOptions.
Einstellung
Reihenfolge (erster nicht leerer Wert gewinnt)
Ergebnis, wenn nichts gesetzt ist
API-Schlüssel
, and they take precedence over the system parameter AiOptions.
|
Setting |
Order (first non-empty value wins) |
Result if nothing is set |
|
|---|---|---|---|
|
API key |
|
Kein Aufruf des Anbieters. Der Chat antwortet No call to the provider. The chat replies "AI chat fallback is active; no API key configured." |
|
|
Modellname | Feld
Model name |
|
|
|
Basis- Base URL |
|
|
Das Feld des Modells wird nur berücksichtigt, wenn der Chat einen Agenten mit zugänglichem Modell verwendet. In allen anderen Fällen The field of the model is only considered if the chat uses an agent with an accessible model. In all other cases ("Default agent (auto)", Modell eines fremden Mandanten) entfällt Schritt 1, und es wird mit dem Provider model of a different client) step 1 is skipped and the provider "OpenAI-kompatibel" und den globalen Vorgaben gearbeitet. Ist im Modell zwar ein Modellname, aber kein Schlüssel eingetragen, wird der Schlüssel nach Schritt 2 bis 4 bestimmt.
Die Bean AiOptions enthält die globalen Vorgaben. Sie gelten nur, wenn weder Modell noch Umgebungsvariable bzw. JVM-Parameter einen Wert liefern.
Eigenschaft
Erklärung
mögliche Wert(e)
defaultAiApiKey
Standard-API-Schlüssel als Fallback, wenn keine Umgebungsvariable und kein JVM-Parameter konfiguriert ist. Wird verschlüsselt gespeichert und in der Maske als Passwort dargestellt.
Text (Standard: leer)
defaultAiModel
Standard-Modellkennung als Fallback, wenn keine Umgebungsvariable und kein JVM-Parameter konfiguriert ist.
Text (Standard: gpt-4o)
defaultAiBaseUrl
compatible" and the global defaults are used. If the model contains a model name but no key, the key is determined by steps 2 to 4.
The bean AiOptions contains the global defaults. They only apply if neither the model nor an environment variable or JVM parameter supplies a value.
|
Property |
Description |
Possible value(s) |
|---|---|---|
|
defaultAiApiKey |
Default API key used as fallback when no environment variable or JVM parameter is configured. Stored encrypted and displayed as a password in the mask. |
text (default: empty) |
|
defaultAiModel |
Default model identifier used as fallback when no environment variable or JVM parameter is configured. |
text (default: gpt-4o) |
|
defaultAiBaseUrl |
Default base URL used as fallback when no environment variable or JVM parameter is configured. Empty means |
URL (Standarddefault: leerempty) |
Tools are defined in the program and cannot be created in the user interface. They are provided by the modules Portal & Organization (PO), Zeiterfassung Time & Attendance (TA) und Projektzeiterfassung and Project Time Management (PTM) bereitgestellt. Alle Tools laufen im Namen des angemeldeten Benutzers: Die Tools . All tools run on behalf of the logged-in user: the "getMy..." liefern ausschließlich seine eigenen Daten, die übrigen Tools nur Daten, die er nach den unten beschriebenen Prüfungen sehen darf. Mit "Schreibend" sind Tools markiert, die Daten verändern.
Tool
Zweck
Erforderliche Aktion (eine genügt)
searchColleagues
tools return only his or her own data, the other tools only data that he or she may see according to the checks described below. Tools that change data are marked "Writing".
|
Tool |
Purpose |
Required action (one is sufficient) |
|---|---|---|
|
searchColleagues |
Searches colleagues in the client by search term (name, employee ID, short name, organizational unit). |
po_showPersons.act, po_searchPerson.act |
|
findPersonsByName |
Sucht Personen nach vollständigem oder teilweisem NamenSearches persons by full or partial name. |
po_showPersons.act, po_searchPerson.act |
|
getAllGroups |
Alle Gruppen des Mandanten (Organisationseinheiten, Kostenstellen, Standorte, AbrechnungskreiseAll groups of the client (organizational units, cost centers, locations, billing circles). |
po_showGroups.act |
|
searchGroups |
Sucht Gruppen nach Name oder KurznameSearches groups by name or short name. |
po_showGroups.act |
|
getPersonsAge |
Alter einer Person (Parameter Age of a person (parameter personUid). |
po_showPersons.act |
|
getPersonsManager |
Vorgesetzter einer Person (Standardrolle Manager of a person (default role Manager). |
po_showPersons.act |
|
getPersonsCompetence |
Personen im Zuständigkeitsbereich einer Person (auch über deren GruppenPersons in the area of responsibility of a person (also via their groups). |
po_showPersons.act |
|
getPersonsGroups |
Gruppen, denen eine Person zugeordnet istGroups a person is assigned to. |
po_showPersons.act, po_showGroups.act, po_searchPerson.act |
|
getPersonsOfGroup |
Mitglieder einer Gruppe (Parameter Members of a group (parameter groupUid). |
po_showGroups.act, po_showPersons.act, po_searchPerson.act |
Tool
Zweck
Erforderliche Aktion (eine genügt)
getMyOpenVacationDays
|
Tool |
Purpose |
Required action (one is sufficient) |
|
|---|---|---|---|
|
getMyOpenVacationDays |
Open vacation days of the current vacation year. |
ta_getJournalV2.act |
|
|
getMyYearlyVacationDaysEntitlement |
Jahresurlaubsanspruch Yearly vacation entitlement in Tagendays. |
ta_getJournalV2.act |
|
|
getMyPreviousVacationIntervals |
Urlaubsintervalle der letzten 12 MonateVacation intervals of the last 12 months. |
ta_getJournalV2.act, ta_doBooking.act |
|
|
getMyWeeklyWorkingTime |
In der laufenden Woche bereits gearbeitete StundenHours already worked in the current week. |
ta_getJournalV2.act |
|
|
getMyWeeklyTargetTime |
Wöchentliche Soll-Stunden laut ZeitmodellWeekly target hours according to the time model. |
ta_getJournalV2.act |
|
|
getBookingsInTimeRange |
Eigene Buchungen eines Tages (Parameter Own bookings of one day (parameter day). |
ta_getJournalV2.act |
|
|
getMyTodayBookings |
Eigene Buchungen des heutigen TagesOwn bookings of today. |
ta_getJournalV2.act |
|
|
getAbsenceIntervals |
Genehmigte vergangene und geplante eigene Abwesenheiten in einem Zeitraum (Parameter Approved past and planned own absences in a period (parameters from, to). |
ta_getJournalV2.act, ta_getCalendar.act, ta_yearlyCalendar.act |
|
|
listUpcomingAbsences |
Eigene genehmigte künftige Abwesenheiten ab heute (Parameter daysAhead, Standard 90, höchstens 3650 TageOwn approved future absences from today (parameter daysAhead, default 90, maximum 3650 days). |
ta_getJournalV2.act, ta_getCalendar.act, ta_yearlyCalendar.act |
|
|
getTimeEntryReasons |
Alle Zeitgründe des Mandanten, mit denen gebucht werden kann (Arbeit und AbwesenheitAll time entry reasons of the client that can be used for booking (work and absence). |
ta_doBooking.act, ta_getAttendanceTableau.act |
|
|
getAttendanceStateOfColleague |
Anwesenheitsstatus einer Person (abwesend, anwesend, abwesend mit Grund, bucht nicht) samt letzter Buchungsmeldung (Parameter Attendance status of a person (absent, present, absent with reason, not booking) including the last booking message (parameter personUid). |
ta_getAttendanceTableau.act |
|
|
doBooking (Schreibend) | Führt eine automatische Anwesenheitsbuchung (Kommen/Gehen) für den Benutzer mit dem gewählten Zeitgrund durch (Parameter timeEntryReasonId). Nach erfolgreicher Buchung lädt die Seite im Hintergrund neu. Der Aufruf erfolgt ohne Rückfrage durch Webdesk
Writing) |
Performs an automatic attendance booking (clock in/out) for the user with the chosen time entry reason (parameter timeEntryReasonId). After a successful booking the page reloads in the background. Webdesk does not ask for confirmation before the call. |
ta_doBooking.act |
Tool
Zweck
Erforderliche Aktion (eine genügt)
getMyMonthlyEffortSummary
|
Tool |
Purpose |
Required action (one is sufficient) |
|---|---|---|
|
getMyMonthlyEffortSummary |
Monthly summary of own project times per project (parameters month, year). |
ptm_editMonthlyTimeEfforts.act, ptm_editTimeEfforts.act |
|
listMyOpenProjectAssignments |
Projekte, auf die der Benutzer buchen und/oder Buchungen ändern darfProjects on which the user may book and/or change bookings. |
ptm_editTimeEfforts.act, ptm_doProjectTimeBooking.act, ptm_editMonthlyTimeEfforts.act |
|
searchProjects |
Sucht Projekte nach Kurzname, Name oder Code und liefert nur Projekte, die der Benutzer verwenden darf (optional nur buchbareSearches projects by short name, name or code and returns only projects the user may use (optionally only bookable ones). |
ptm_showProjects.act, ptm_chooseProjectDialog.act, ptm_editTimeEfforts.act |
Das einzige schreibende Tool ist doBooking. Alle anderen Tools lesen nur.
uid oder uids endet (z.B. personUid, groupUid), auf Berechtigung für das betreffende Objekt. Für jede genannte UID muss der Benutzer für mindestens eine der erforderlichen Aktionen für genau dieses Objekt berechtigt sein (Berechtigung auf Objektebene bzw. passende Konfiguration der Aktion für diese Person). Andernfalls erhält das Modell die Fehlermeldung
The only writing tool is doBooking. All other tools are read-only.
uid or uids (e.g. personUid, groupUid) for permission on the object concerned. For every UID passed, the user must be authorized for at least one of the required actions for exactly this object (permission on object level or a matching configuration of the action for this person). Otherwise the model receives the error message "Tool not permitted for requested target." , und das Tool wird nicht ausgeführt.
The tools are thus bound to the permissions of the user. Errors and rejections are part of the tool display in the chat (Arguments / Result).
Die Chat-Oberfläche kommuniziert mit Endpunkten unter The chat user interface communicates with endpoints under /rest/ai. Sie arbeiten immer im Namen des angemeldeten Benutzers.
Endpunkt
Zweck
Hinweise
They always work on behalf of the logged-in user.
|
Endpoint |
Purpose |
Notes |
||
|---|---|---|---|---|
|
POST /rest/ai/chat |
Sendet eine Nachricht (optional mit Agent, Konversation und Seitenkontext) und liefert Antwort, Tool-Aufrufe und Oberflächen-Effekte. | Leere Nachrichten werden abgewiesen
Sends a message (optionally with agent, conversation and page context) and returns the reply, tool calls and UI effects. |
Empty messages are rejected. |
|
|
GET /rest/ai/agents |
Agenten des Mandanten und öffentliche Agenten, alphabetisch. | Befüllt die Agent-Auswahl
Agents of the client and public agents, alphabetically. |
Fills the agent selection. |
|
|
GET /rest/ai/mentions |
Personen des Mandanten für die Erwähnung per | Nur Benutzername, Name und
Persons of the client for mentions via |
Only user name, name and UID. |
|
|
GET /rest/ai/conversations |
Eigene Konversationen Own conversations (Parameter parameters offset, limit; Standard default 50, höchstens maximum 200). |
Nur eigene KonversationenOwn conversations only. |
||
|
GET /rest/ai/conversations/{id}/messages |
Nachrichten einer eigenen Konversation (Standard Messages of an own conversation (default 200, höchstens maximum 1000). |
HTTP 404 , wenn die Konversation nicht dem Benutzer gehörtif the conversation does not belong to the user. |
||
|
POST /rest/ai/conversations/{id}/title |
Benennt eine eigene Konversation um (höchstens 255 ZeichenRenames an own conversation (maximum 255 characters). | |||
|
GET /rest/ai/mcp/tools |
Liste der Tools (Name, Beschreibung, Parameter), die der angemeldete Benutzer nach seinen Aktionsberechtigungen verwenden darf. |
Agenten-Einschränkungen gelten hier nicht. |
List of the tools (name, description, parameters) that the logged-in user may use according to his or her action permissions. |
Agent restrictions do not apply here. |
|
POST /rest/ai/mcp/tools/{name} |
Führt ein Tool direkt ausExecutes a tool directly. Body: |
HTTP 404 (unbekanntes Toolunknown tool), 403 (Aktions- oder Zielberechtigung fehltaction or target permission missing), sonst otherwise 400. |
Die mcp-Endpunkte sind eine einfache MCP-ähnliche Schnittstelle und nutzen dieselbe Berechtigungsprüfung wie der Chat, jedoch ohne Agenten und ohne Sprachmodell: Auch doBooking kann dort aufgerufen werden. Für interne Aufrufe aus der Oberfläche werden die REST-Zugriffsrechte der Aktion The mcp endpoints are a simple MCP-style interface and use the same authorization checks as the chat, but without agents and without a language model: doBooking can also be called there. For internal calls from the user interface, the REST access rights of the action ai_assistant.act (/rest/ai/*, GET und and POST) herangezogen; externe Aufrufer (z.B. mit API-Schlüssel) benötigen rollenbasierte REST-Zugriffsrechte.
AiConversationMessage). Tool-Ergebnisse enthalten damit auch die abgefragten Daten, z.B. Namen und E-Mail-Adressen von Kollegen.
Bei jeder Chat-Anfrage sendet Webdesk an den konfigurierten Endpunkt (Basis-URL des Modells bzw. der globalen Vorgabe):
Der API-Schlüssel dient ausschließlich als Zugangsdaten für den konfigurierten Endpunkt. Die Verarbeitung beim Anbieter richtet sich nach dessen Bedingungen und liegt außerhalb von Webdesk; diese Seite trifft dazu keine Aussage.
Im Server-Log (Logger der Klasse are used; external callers (e.g. with an API key) need role-based REST access rights.
AiConversationMessage). Tool results therefore also contain the data that was queried, e.g. names and e-mail addresses of colleagues.
With every chat request Webdesk sends the following to the configured endpoint (base URL of the model or of the global default):
The API key serves exclusively as credentials for the configured endpoint. Processing at the provider is governed by the provider's terms and lies outside Webdesk; this page makes no statement about it.
In the server log (logger of the class at.workflow.webdesk.ai.impl.AiChatServiceImpl) stehen auf Level INFO der Benutzername, der gewählte Anbieter mit Modell, Basis-URL und Agentenname sowie die Tool-Aufrufe mit Argumenten und Ergebnissen (jeweils auf 500 Zeichen gekürzt). Der API-Schlüssel wird nicht protokolliert.
Maßnahme
Wirkung
Aktion ai_assistant.act nicht vergeben
Der Benutzer sieht das Symbol nicht und erhält keinen Zugriff auf die Chat-Schnittstelle. Wirksamste Steuerung nach Benutzergruppen.
Lizenz ai nicht erwerben bzw. nicht einspielen
Das Modul steht nicht zur Verfügung.
Keinen API-Schlüssel hinterlegen (weder im Modell noch als Umgebungsvariable, JVM-Parameter oder Systemparameter)
Es erfolgt kein Aufruf an einen externen Anbieter; der Chat antwortet nur mit der Fehlermeldung.
the user name, the chosen provider with model, base URL and agent name, as well as the tool calls with arguments and results (each truncated to 500 characters) appear at level INFO. The API key is not logged.
|
Measure |
Effect |
||
|---|---|---|---|
|
Do not grant the action |
The user does not see the icon and has no access to the chat interface. Most effective control per user group. |
||
|
Do not purchase or install the licence |
The module is not available. |
||
|
Do not store an API key (neither in the model nor as environment variable, JVM parameter or system parameter) |
No call to an external provider takes place; the chat only replies with the error message. |
||
|
Withdraw the action permissions of the tools (e.g. |
Die zugehörigen Tools werden dem Modell nicht angeboten und sind auch über die Schnittstelle gesperrt. Dies ist die verbindliche Einschränkung. |
Agenten mit Tool-Auswahl verwenden |
Reduziert die angebotenen Tools und damit die übertragenen Daten für Benutzer, die den Agenten verwenden. Greift nicht, wenn der Benutzer The corresponding tools are not offered to the model and are also blocked via the interface. This is the binding restriction. |
|
Use agents with a tool selection |
Reduces the tools offered and thus the data transmitted for users who use the agent. Does not apply if the user chooses "Default agent (auto)" wählt. |
||
|
Mandantenbindung von Modellen und Agenten |
Begrenzt, welche Mandanten welchen Anbieter bzw. Zugang nutzen. |
||
|
Datenbereinigung |
Gespeicherte Konversationen bleiben bestehen, bis sie in der Datenbank entfernt werden. |
|
Symptom |
Ursache und Prüfung |
|---|---|
|
Kein Assistent-Symbol in der Kopfzeile |
Berechtigung für |
|
. |
|
|
Client binding of models and agents |
Limits which clients use which provider or access. |
|
Data cleanup |
Stored conversations remain until they are removed in the database. |
|
Symptom |
Cause and check |
||
|---|---|---|---|
|
No assistant icon in the header |
Permission for |
||
|
"AI chat fallback is active; no API key configured." |
In keiner Stufe der Reihenfolge ist ein API-Schlüssel gesetzt. Beachten, dass Umgebungsvariable und JVM-Parameter vor dem Systemparameter gelten und dass im Modus No API key is set at any stage of the order. Note that the environment variable and JVM parameter come before the system parameter, and that in the mode "Default agent (auto)" das Modellfeld nicht berücksichtigt wirdthe model field is not considered. |
||
|
"AI chat fallback is active; error during model invocation." |
Der Aufruf des Anbieters ist fehlgeschlagen (falscher Schlüssel, Modellname, Basis-URL oder Deployment, Netzwerk, bei Azure OpenAI fehlende Basis-URL). Die Ursache steht im Server-Log The call to the provider failed (wrong key, model name, base URL or deployment, network, missing base URL for Azure OpenAI). The cause is in the server log ("AiChatService error"); die Zeile the line "AI model resolved" zeigt Anbietershows provider, Modellmodel, Basis-URL und Agentbase URL and agent. |
||
|
"Model returned no text and no tool calls..." |
Das Modell bzw. der Anbieter unterstützt keine Tool-Aufrufe für diese Anfrage. Anderes Modell wählen oder im Agenten die Tools reduzieren. |
Ein erwartetes Tool wird nicht verwendet |
Aktionsberechtigung für das Tool fehlt, das Tool ist beim gewählten Agenten nicht in den "Erlaubten Tools", oder die Zielprüfung lehnt die UID ab The model or provider does not support tool calls for this request. Choose a different model or reduce the tools in the agent. |
|
An expected tool is not used |
The action permission for the tool is missing, the tool is not among the "Allowed Tools" of the selected agent, or the target check rejects the UID ("Tool not permitted for requested target."). |
||
|
Routing -Praeferenz ohne Wirkung | Die Basis-URL enthält nicht
preference has no effect |
The base URL does not contain |
| Mime Type | text/xml | ![]() | text/xml |
| Datei-name | ![]() | ||
| Größe (in Bytes) | 34046 | ![]() | 32174 |
|
Version 1 von Gabriel Gruber
am 17.10.26 18:52:56 Name: KI-Assistent einrichten Variante: main - en Status: Entwurf | ![]() |
Version 2 von Gabriel Gruber
am 17.10.26 18:53:51 Name: Setting up the AI assistant Variante: main - en Status: Veröffentlichung |