Übersicht
Wie TaskMonkey aufgebaut ist und wie Chat, Tools und Tasks zusammenspielen.
TaskMonkey ist eine Automatisierungs-Plattform. Jeder Workspace bekommt eine isolierte Konfiguration, eigene Tools, Prompts und Integrationen. Ein LLM (OpenAI, Claude oder Gemini) steuert, welche Tools wann aufgerufen werden.
Die vier Kernkonzepte
Workspace
Der Workspace ist die oberste Einheit. Benutzer, Chats, Tools und Konfigurationen gehören immer zu genau einem Workspace. Jeder Workspace hat einen Code (z. B. bloomify, mecomedia), der gleichzeitig URL-Slug und Name deines Config-Ordners ist. Im Code und in der Datenbank heißt er aus historischen Gründen noch Tenant — wenn dir der Begriff begegnet, ist dasselbe gemeint.
Dein Workspace-Ordner enthält alle Dateien, die deine Automatisierungen steuern: Tools, Prompts, Assistenten, Scheduled Tasks, API-Definitionen. Die Ordnerstruktur lernst du im Kapitel Workspace-Config.
Chat
Der Chat ist die zentrale Benutzeroberfläche. Der Benutzer schreibt Nachrichten, das Modell antwortet, und bei Bedarf ruft es Tools auf, um echte Daten zu lesen oder zu schreiben.
- Streaming via Server-Sent Events
- Datei-Uploads (PDF, Bilder, ...)
- Verlauf bleibt pro Chat-Session erhalten
Tool
Ein Tool ist eine deklarative Funktionsbeschreibung, die das Modell aufrufen kann. TaskMonkey kennt drei Arten:
| Typ | Wann verwenden |
|---|---|
| API-only | Einfacher REST-Aufruf gegen einen externen Dienst |
| API + Handler | REST-Aufruf, danach Nachbearbeitung in PHP |
| Handler-only | Reine PHP-Logik (z. B. Rechner, Aggregationen) |
Tools werden als PHP-Dateien in deinem Workspace unter tools/ definiert — versioniert, review-bar, testbar.
Assistant
Ein Assistant ist ein vordefinierter Chat-Ablauf. Der Entwickler hinterlegt System-Prompt, Tool-Liste und Startparameter. Benutzer starten den Task aus der Oberfläche oder über einen Cronjob.
- UI-Liste:
/manage/tasks - Config:
assistants/<slug>.phpin deinem Workspace - CLI:
tm taskszeigt alle verfügbaren Tasks
So spielen sie zusammen
Benutzer LLM Tool Externer Dienst
│ │ │ │
│── Nachricht ─────────▶│ │ │
│ │── wählt Tool ──────────▶│ │
│ │ │── preprocess ──────────▶│
│ │ │── API-Call ────────────▶│
│ │ │◀── Response ────────────│
│ │ │── postprocess ─────────▶│
│ │◀── Tool-Ergebnis ───────│ │
│◀── Antwort (stream) ──│ │ │