Plugins
Erfahren Sie mehr über das Plugin-System von Open Ticket AI – was Plugins sind, wie sie installiert werden und welche Plugins für Ihre Automatisierungs-Workflows verfügbar sind.
Plugins
Plugins erweitern Open Ticket AI mit zusätzlichen Funktionen. Jedes Plugin bietet Services und Pipes, die Sie in Ihren Konfigurationen verwenden können, um sich mit verschiedenen Ticket-Systemen zu verbinden, ML-Modelle auszuführen oder eigene Verarbeitungslogik hinzuzufügen.
Was ist ein Plugin?
Ein Plugin ist ein Python-Paket, das neue Funktionen zu Open Ticket AI hinzufügt:
- Services: Verbindung zu Ticket-Systemen (OTOBO, Znuny), ML-Modelle oder externe APIs
- Pipes: Tickets abrufen, Inhalte klassifizieren, Felder aktualisieren, Notizen hinzufügen oder eigene Logik ausführen
- Ready to Use: Einfach installieren, konfigurieren und in Ihrem YAML referenzieren
Wie Plugins installiert werden
Installieren Sie Plugins mit dem Paketmanager uv:
# Ein einzelnes Plugin installieren
uv add otai-otobo-znuny
# Mehrere Plugins gleichzeitig installieren
uv add otai-otobo-znuny otai-hf-local
Das ist alles! Nach der Installation sind die Services und Pipes des Plugins automatisch in Ihren Konfigurationen verfügbar.
Wie Plugins in Konfigurationen verwendet werden
Plugins bieten Services und Pipes, die Sie in Ihren YAML-Konfigurationen mit dem Format
plugin-name:ComponentName referenzieren.
Beispiel: Vollständiger Workflow mit Plugins
# Services von Plugins definieren
services:
ticket_system:
use: 'otobo-znuny:OTOBOZnunyTicketSystemService'
params:
base_url: "{{ get_env('OTOBO_URL') }}"
username: "{{ get_env('OTOBO_USER') }}"
password: "{{ get_env('OTOBO_PASSWORD') }}"
classifier:
use: 'hf-local:HuggingFaceLocalTextClassificationService'
params:
model_name: 'distilbert-base-uncased-finetuned-sst-2-english'
# Plugin-Pipes in Ihrem Pipeline verwenden
orchestrator:
runners:
- run:
id: fetch_tickets
use: 'base:FetchTicketsPipe'
injects:
ticket_system: 'ticket_system'
params:
ticket_search_criteria:
queue_name: 'Support'
state: 'new'
limit: 25
- run:
id: classify_tickets
use: 'hf-local:TextClassificationPipe'
injects:
classifier: 'classifier'
params:
tickets: "{{ get_pipe_result('fetch_tickets', 'fetched_tickets') }}"
- run:
id: update_tickets
use: 'base:UpdateTicketPipe'
injects:
ticket_system: 'ticket_system'
params:
ticket_id: '{{ ticket.id }}'
queue: '{{ classification.label }}'
Verfügbare Plugins
Base Plugin
Paket: otai-base (automatisch mit Open Ticket AI installiert)
Das Base Plugin bietet Kernfunktionen, die mit jedem Ticket-System arbeiten:
Pipes:
base:FetchTicketsPipe– Tickets aus Ihrem Ticket-System abrufenbase:UpdateTicketPipe– Ticket-Felder aktualisieren (Queue, Priorität, Status etc.)base:AddNotePipe– Notizen oder Kommentare zu Tickets hinzufügenbase:ExpressionPipe– Dynamische Ausdrücke und bedingte Logik evaluieren
Beispiel:
orchestrator:
runners:
- run:
id: fetch_new_tickets
use: 'base:FetchTicketsPipe'
injects:
ticket_system: 'my_ticket_system'
params:
ticket_search_criteria:
state: 'new'
limit: 50
OTOBO/Znuny Plugin
Paket: otai-otobo-znuny
Verbindung zu OTOBO, Znuny und OTRS Ticket-Systemen.
Installation:
uv add otai-otobo-znuny
Was es bietet:
- Vollständige Integration mit OTOBO, Znuny und OTRS
- Ticket-Abruf, Aktualisierung und Notiz-Management
- Queue-, Prioritäts- und Status-Management
Beispielkonfiguration:
services:
otobo:
use: 'otobo-znuny:OTOBOZnunyTicketSystemService'
params:
base_url: 'https://helpdesk.example.com'
username: "{{ get_env('OTOBO_USER') }}"
password: "{{ get_env('OTOBO_PASSWORD') }}"
orchestrator:
runners:
- run:
id: fetch
use: 'base:FetchTicketsPipe'
injects:
ticket_system: 'otobo'
params:
ticket_search_criteria:
queue_name: 'IT Support'
state: 'new'
HuggingFace Local Plugin
Paket: otai-hf-local
Machine-Learning-Klassifikationsmodelle lokal mit HuggingFace Transformers ausführen.
Installation:
uv add otai-hf-local
Was es bietet:
- Lokale ML-Model-Inferenz (keine externen API-Calls)
- Textklassifikation für Ticket-Inhalte
- Unterstützung für jedes HuggingFace Textklassifikationsmodell
Beispielkonfiguration:
services:
ml_classifier:
use: 'hf-local:HuggingFaceLocalTextClassificationService'
params:
model_name: 'distilbert-base-uncased-finetuned-sst-2-english'
# Oder Ihr eigenes, angepasstes Modell verwenden
# model_name: "my-org/custom-ticket-classifier"
orchestrator:
runners:
- run:
id: classify
use: 'hf-local:TextClassificationPipe'
injects:
classifier: 'ml_classifier'
params:
text: '{{ ticket.title }} {{ ticket.body }}'
Vorteile des Plugin-Systems
Installieren Sie nur, was Sie benötigen:
- Verwenden Sie OTOBO nicht? Installieren Sie das OTOBO Plugin nicht
- Klassifikation in der Cloud ausgeführt? Überspringen Sie das HuggingFace Plugin
- Macht Ihre Installation leichtgewichtig
Mixen und kombinieren:
- Verwenden Sie das OTOBO Plugin mit HuggingFace-Modelle
- Kombinieren Sie mehrere Ticket-Systeme in einem Setup
- Fügen Sie Community-Plugins hinzu, wenn sie verfügbar werden
Unabhängige Updates:
- Plugins ohne Kern-Update aktualisieren
- Neue Funktionen schneller erhalten
- Einzelne Plugins zurückrollen, wenn benötigt
Plugin-Namenskonvention
Wenn Sie Plugins in Konfigurationen verwenden, ist das Format:
plugin-name:ComponentName
Beispiele:
base:FetchTicketsPipe– FetchTicketsPipe vom Base Pluginotobo-znuny:OTOBOZnunyTicketSystemService– Service vom otobo-znuny Pluginhf-local:TextClassificationPipe– Pipe vom hf-local Plugin
Der Plugin-Name wird vom Paketnamen abgeleitet, indem der otai- Prefix entfernt wird.
Für Entwickler
Sie möchten Ihr eigenes Plugin erstellen? Ob frei oder kommerziell, Sie haben vollständige Freiheit!
Siehe das Plugin-Entwicklungs-Guide für:
- Wie Sie eigene Plugins entwickeln
- Veröffentlichung auf PyPI
- Monetarisierungsstrategien für kommerzielle Plugins
- Wie Ihr Plugin gelistet wird
