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 abrufen
  • base:UpdateTicketPipe – Ticket-Felder aktualisieren (Queue, Priorität, Status etc.)
  • base:AddNotePipe – Notizen oder Kommentare zu Tickets hinzufügen
  • base: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 Plugin
  • otobo-znuny:OTOBOZnunyTicketSystemService – Service vom otobo-znuny Plugin
  • hf-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

Verwandte Dokumentation