1Starten
TPM Harness besteht aus einem kleinen Server und einer Weboberfläche. Wie du es startest, hängt davon ab, wie du es installiert hast:
- Als Dienst installiert (empfohlen, Option
--service): TPM Harness läuft im Hintergrund und startet mit deiner Anmeldung. Du öffnest nur den Browser. - Windows: Doppelklick auf die Verknüpfung TPM Harness auf dem Schreibtisch.
- Sonst: im Programmordner
./start.sh --serveausführen.
Danach öffnest du im Browser http://127.0.0.1:8787. Links siehst du die Bereiche: Chat, Agent-Dashboard, Agent-Forge, Projekte, Workflows, Skills und Einstellungen. Darunter öffnet ❓ Hilfe einen Chat mit dem Harness-Assistenten, der deine Fragen aus den mitgelieferten Handbüchern beantwortet.
~/.local/share/agenthub: Datenbank, Anhänge, Systemprompts und Sicherungen.2Anbieter und Modelle einrichten
Anbieter anlegen
Unter Einstellungen → Provider legst du einen Anbieter an: Name, Typ, bei Bedarf die Basis-Adresse und dein API-Schlüssel. Zur Wahl stehen anthropic, openrouter, openai-compatible (jeder Dienst mit OpenAI-Schnittstelle) und local für ein Modell auf dem eigenen Rechner. Mit Prüfen testest du die Verbindung. Der Schlüssel wird verschlüsselt gespeichert und nie wieder im Klartext gezeigt.

Standard-Modelle festlegen
Weiter unten, unter Standard-Modelle, ordnest du jedem Zweck ein Modell zu. Die Zeile Default ist dein Standard-Modell. Es antwortet in allen Chats, für die du kein festes Modell gewählt hast. Die übrigen Zeilen gelten nur, wenn du im Chat ausdrücklich einen Zweck auswählst.

| Zweck | Wofür |
|---|---|
| Recherche, Texterstellung, Coding | Text-Modelle mit passender Stärke, mit eigenem Zweck-Prompt |
| Bild-, Videogenerierung | Erzeugt Bilder oder kurze Videos direkt im Chat |
| TTS / STT | Vorlesen von Antworten und Spracheingabe per Mikrofon |
| Embeddings | Gedächtnis: findet in langen Chats die passenden älteren Stellen. Wähle einen Anbieter oder „🖥 Lokal“: Dann installiert „Lokal nachinstallieren“ einmalig ein kleines Modell (ab 220 MB), das danach ohne Anbieter und offline auf deinem Rechner läuft. Nach einem Wechsel baut TPM Harness das Gedächtnis automatisch neu auf. |
| Arbeitstier | Günstiges Modell für Zusammenfassungen langer Chats und Probeläufe |
| Default | Das Standard-Modell für alle Chats ohne feste Auswahl |
Unter Systemprompts passt du die Grundanweisungen an: einen für jeden Chat und einen je Zweck.
3Chatten
Mit + Neu in der Chatliste beginnst du einen Chat. Die Kopfzeile enthält alle Schalter für diesen Chat:

| Schalter | Bedeutung |
|---|---|
| 📁 Projekt | Ordnet den Chat einem Projekt zu (siehe Projekte). „Doku“ lässt TPM Harness die Projektdokumentation mitschreiben. |
| Agent | Antwortet mit Rolle, Modell und Werkzeugen eines deiner Agents. |
| 🎯 Standard-Modell | Welches Modell antwortet: das Standard-Modell oder ein fest gewähltes. |
| 📋 Planen / ⚡ Ausführen | Planen: nur Analyse und Vorschlag. Ausführen: Das Modell darf Dateien anlegen und Befehle starten. |
| Denken | Wie lange das Modell nachdenkt, bevor es antwortet (aus, niedrig, mittel, hoch). |
| 🔒 Bestätigen / ⚡ Autonom | Ob du jede Ausführung einzeln freigibst oder feste Regeln gelten. |
| 📁 (Zahl) | Freigegebene Arbeitsordner dieses Chats (siehe Dateien und Code). |
| MD, PDF, Kontext | Chat als Markdown kopieren, als PDF speichern, Kontext-Panel mit Anhängen ein- und ausblenden. |
Modell wählen
Ein Klick auf den Modellschalter öffnet links die Anbieter und rechts deren Modelle mit Suchfeld. Ganz oben steht 🎯 Standard-Modell. Damit antwortet das Modell aus der Zeile „Default“ der Einstellungen. Eine automatische Erkennung, welches Modell passt, gibt es bewusst nicht: Du entscheidest.

Zweck für eine einzelne Nachricht
Unter dem Eingabefeld wählst du den Zweck. Bei 💬 Chat-Modell antwortet das oben gewählte Modell. Wählst du zum Beispiel Bildgenerierung, geht nur diese Nachricht an das Bildmodell, danach gilt wieder deine Auswahl. Bezüge auf Früheres funktionieren: „Nochmal, aber in Blau“ übernimmt den letzten Bild-Prompt und ändert nur die Farbe. Den verwendeten Prompt zeigt TPM Harness unter jedem Bild.

Dateien, Sprache, Werkzeuge
- Dateien anhängen: in das Eingabefeld einfügen, in den Chat ziehen oder mit @ Datei auswählen. Bilder versteht das Modell, wenn es Bilder lesen kann.
- 🎤 nimmt Sprache auf und schreibt sie als Text ins Eingabefeld (Zweck „STT“ muss eingerichtet sein). 🔊 Vorlesen unter einer Antwort liest sie vor.
- 🛠 Tools schaltet einzelne Werkzeuge für diesen Chat ab, etwa die Websuche.
- Enter sendet, Shift+Enter macht einen Zeilenumbruch. Stopp bricht eine laufende Antwort ab. Mehrere Chats können gleichzeitig antworten.
4Dateien anlegen und Code ausführen lassen
Damit ein Modell Dateien schreiben oder Code starten kann, braucht es drei Dinge:
- Einen freigegebenen Ordner. Klick auf 📁 in der Kopfzeile, Pfad eintragen, +. Ist der Chat einem Projekt mit Wurzelordner zugeordnet, ist dieser Ordner automatisch freigegeben und mit „Projekt“ markiert.
- Den Modus „⚡ Ausführen“. Im Planungsmodus macht das Modell nur Vorschläge.
- Deine Freigabe. Im Modus „🔒 Bestätigen“ erscheint vor jedem Befehl ein Fenster mit genau dem, was ausgeführt werden soll.

Container oder Host
Code läuft standardmäßig in einem Docker-Container. Er sieht nur die freigegebenen Ordner, hat keine Sonderrechte, und installierte Python-Pakete bleiben für den nächsten Lauf erhalten. Brauchst du Werkzeuge deines Rechners, etwa Flutter oder Godot, setzt du neben dem Ordner den Haken Host. Dann laufen Befehle in diesem Ordner mit deinen Rechten, und jede Ausführung muss bestätigt werden, auch im Autonom-Modus.

Im Container ist schon viel vorhanden: LibreOffice, ffmpeg, Python mit Pillow, NumPy, moviepy, Matplotlib und den Bibliotheken für Word, PowerPoint, Excel und PDF, dazu gängige Schriften und die Schriften deines Rechners. So kann das Modell Dokumente umwandeln und sich mit view_document Seiten von PDF-, Word- oder PowerPoint-Dateien sowie Bilder aus Videos selbst ansehen, wenn es Bilder versteht.
Unter Einstellungen → Code-Ausführung siehst du, ob Docker bereit ist, schaltest den Netzzugriff im Container ab oder baust das Container-Image neu. Unter Ressourcen je Container legst du fest, wie viel Arbeitsspeicher, Prozessorkerne und Zwischenspeicher ein Container bekommt und wie lange Hintergrund-Jobs laufen dürfen. Zusätzliche Systemprogramme trägst du in docker/exec-apt-packages.txt ein und baust das Image dann neu.
Befehle brechen nach zwei Minuten ab; das Modell kann für einen Aufruf bis zu 30 Minuten verlangen. Längere Arbeiten wie Video-Renders startet es als Hintergrund-Job und fragt den Fortschritt ab.
Planen und Ausführen
Für größere Aufgaben lohnt sich der Planungsmodus: Das Modell recherchiert im Web, liest Webseiten und schaut sich die Dateien im freigegebenen Ordner an, legt aber nichts an und führt nichts aus. Es beschreibt sein Vorgehen, du korrigierst, und erst dann schaltest du auf Ausführen. Solange der Planungsmodus aktiv ist, weist ein gelber Hinweis über dem Eingabefeld darauf hin. Den Wechsel zwischen „Bestätigen“ und „Autonom“ kannst du jederzeit vornehmen; er wirkt sofort, auch auf eine gerade wartende Freigabe.

5Projekte
Ein Projekt bündelt Chats, die zusammengehören. Unter Projekte → + Neu legst du fest:
- Projekt-Anweisungen: gelten für alle Chats des Projekts, etwa Ton, Rolle oder Codestil.
- Wurzelordner: wird automatisch Arbeitsordner aller Projekt-Chats. Dort liegt auch die
dokumentation.md, die TPM Harness auf Wunsch fortschreibt. - Chats lesen sich gegenseitig: Jeder Chat bekommt die anderen Chats des Projekts als Hintergrund, nur lesend. Kein Chat verändert einen anderen.
- Projekt-Wissen: Dateien, die jedes Modell im Projekt als Hintergrund bekommt.

6Agents und Agent-Forge
Ein Agent ist ein Modell mit fester Rolle. Im Agent-Dashboard öffnet + Neu ein leeres Formular; mit Aus Rollen-Vorlage startest du schneller (Texter, Prüfer, Rechercheur, Publisher, Entscheider). Name, Beschreibung und System-Prompt bestimmen das Verhalten, dazu kommen Anbieter und Modell. Mit Anlegen wird er gespeichert. Unten im Formular testest du ihn sofort mit einer Aufgabe.
Weitere Felder legen fest, was der Agent darf und liefert:
- Rechte: welche Werkzeuge er überhaupt bekommt (Web, Dateien lesen, Dateien schreiben, Ausführen, Skills, MCP). „Mensch entscheidet“ lässt jede schreibende oder ausführende Aktion freigeben.
- Kollegen: welche anderen Agents er beauftragen darf, zum Beispiel ein Website-Agent nur Texter, Bild-Agent und Konzepter, ein Projektmanager alle. Der Kollege arbeitet mit seinem eigenen Modell und liefert sein Ergebnis zurück.
- Arbeitsordner: Ordner, die er in jedem Chat und in Workflows nutzen darf.
- Verträge: welche Felder er für einen Workflow braucht und welche er abliefert.
- Testfälle: Beispielaufträge mit Prüfregeln. Jede Änderung am System-Prompt wird als Version gespeichert; du vergleichst Versionen, holst eine alte zurück und lässt die Tests laufen.

Wählst du im Chat einen Agent aus, antwortet er mit seinem eigenen Modell. Der Chatkopf zeigt dann „🤖“ und das Modell statt der Modellauswahl. Wählst du unter dem Eingabefeld einen Zweck (z. B. Bild), gilt für diese Nachricht das Modell des Zwecks. In Workflows nutzt jeder Agent ebenfalls sein Modell und seine Werkzeuge.
Werkzeug-Runden: So oft darf ein Modell hintereinander Werkzeuge aufrufen, bevor es zusammenfasst. Standard sind 40 Runden (Einstellungen → Standard-Modelle, je Agent im Feld „Werkzeug-Runden“). Ist die Grenze erreicht, fasst das Modell den Stand zusammen, und du schreibst „weiter“.
Neben dem Prompt-Agent gibt es den Runtime-Agent: ein eigenes Programm, das TPM Harness startet, überwacht und dessen Protokoll du siehst.
Agent-Forge
Die Forge baut ein ganzes Agent-System aus einem Konzeptpapier. Stufe 1 macht aus deinem Text ein Konzept, Stufe 2 erzeugt daraus die Agents mit Rechten, Verträgen und Testfällen sowie einen passenden Workflow. Für jede Stufe und für die neuen Agents wählst du das Modell; die Forge merkt sich deine Wahl. Sie hält sich an die Standards aus dem mitgelieferten Handbuch und weist dich auf Abweichungen hin. Du prüfst das Ergebnis und legst alles mit einem Klick an, wahlweise als Ordner mit Dateien. Rollback nimmt das zuletzt Angelegte zurück.
7Workflows
Ein Workflow verbindet mehrere Schritte zu einem Ablauf. Am einfachsten geht es mit dem 🧙 Assistenten: Schritte von oben nach unten anlegen, je Schritt einen Typ wählen und benennen.

| Schritt | Was er tut |
|---|---|
| 🤖 Agent | Ein Agent bearbeitet einen Auftrag (mit Variablen wie {{thema}}) und legt das Ergebnis in einer Variablen ab. Mit Prüfen durch kontrolliert ein zweiter Agent das Ergebnis und schickt es bei Mängeln zurück. |
| 👑 Leiten | Ein Agent zerlegt eine große Aufgabe und beauftragt dafür ausgewählte Agents, mit Budget in Euro. |
| 🧭 Entscheiden | Ein Modell beantwortet eine Frage mit ja oder nein und wählt damit den Weg; im Zweifel bricht der Lauf ab oder fragt dich. |
| 📜 Skript | Ein Python-Skript verarbeitet Daten. |
| 🌐 API-Abruf | Ruft eine Adresse ab. In der Adresse sind Variablen wie {{ergebnis}} möglich. |
| 🔀 Bedingung | Verzweigt je nach Ergebnis. |
| ✅ Freigabe | Hält an, bis du zustimmst. Offene Freigaben erscheinen unten rechts auf jeder Seite. |
| ✍️ Eingabe | Fragt dich etwas, z. B. die Aufgabe. Steht der Schritt am Anfang, erscheint die Frage als Formular, sobald du „Ausführen“ klickst. Weiter hinten hält der Lauf an, und du antwortest im Fenster unten rechts. Die Antwort steht danach in einer Variablen bereit, etwa als Eingabe für den nächsten Agent. |
Beim Speichern entsteht daraus ein Diagramm, das der Editor sofort zeigt und in dem du weiter verfeinern kannst. Öffnest du den Assistenten später wieder, lädt er die Schritte des Workflows. Änderst du das Diagramm im Editor, bleibt es die Grundlage: Der Assistent überschreibt es nicht, sondern legt dann einen neuen Workflow an. 🧪 Probelauf spielt den Workflow mit dem günstigen Arbeitstier-Modell durch, ohne echte Aktionen. ▶ Ausführen startet ihn im Hintergrund. Schlägt ein Schritt fehl, kann er automatisch wiederholt werden. Unter jedem Lauf siehst du die Schritte und die Dateien, die dabei entstanden sind. Mit ⬇ YAML und ⬆ YAML speicherst und lädst du Workflows als Datei, 🗑 Löschen entfernt einen Workflow.
8Skills und MCP-Konnektoren
Skills sind Ordner mit einer SKILL.md (Beschreibung und Anweisungen), Skripten, Unterlagen und Vorlagen. Das Format folgt dem Agent-Skills-Standard, Skills aus Claude Code laufen also auch hier. Globale Skills liegen in ~/.agenthub/skills/, projektbezogene in <Projektordner>/.agenthub/skills/; weitere Ordner und Schlüssel, die Skills brauchen, trägst du unter Einstellungen → Skills ein. Skripte eines Skills brauchen standardmäßig eine Freigabe.
Auf der Seite Skills legst du je Skill fest, ob er auch im normalen Chat zur Verfügung steht und welche Agents ihn nutzen dürfen. Im allgemeinen Chat gibt es sonst nur die Standard-Werkzeuge. Mitgeliefert ist der Skill agenthub-handbuch mit den Handbüchern zu TPM Harness.
MCP-Konnektoren (Einstellungen) binden fremde Werkzeug-Server an: lokal per Befehl (stdio) oder über eine Adresse (http). Ihre Werkzeuge stehen dann im Chat und in Agents bereit.
9Suche und Export
Recherche im Web: Das Modell sucht über DuckDuckGo und liest gefundene Seiten im Volltext. TPM Harness lädt dazu zuerst nur das HTML und zieht den eigentlichen Inhalt heraus, ohne Menüs und Werbung. Zeigt eine Seite nur mit JavaScript Inhalt, fragt TPM Harness dich, bevor es sie in einem unsichtbaren Browser öffnet. Unter Einstellungen → Standard-Modelle stellst du ein, ob es fragt, nie einen Browser öffnet oder das ohne Rückfrage tut.
Das Suchfeld über der Chatliste durchsucht alle Nachrichten aller Chats. Ein Klick auf einen Treffer öffnet den Chat und springt zur Stelle. Jeden Chat kannst du über MD als Markdown kopieren oder über PDF speichern, jede einzelne Antwort über „Als Markdown kopieren“.
10Kosten und Tagesbudget
Neben dem Chat-Titel stehen die Kosten des Chats und des Tages in Euro, umgerechnet mit dem Tageskurs der EZB. Unter Einstellungen → Kosten setzt du ein Tagesbudget. „Warnen“ zeigt einen Hinweis im Chat, „Stoppen“ blockiert weitere Anfragen bis zum nächsten Tag. Kosten liefern nur Anbieter, die sie melden, etwa OpenRouter. Bei den übrigen siehst du die Token.
11Sicherung und Wiederherstellung
Einstellungen → Sicherung → Sicherung herunterladen erzeugt ein ZIP mit Datenbank, Anhängen, Systemprompts, Projekten und Arbeitsbereich. Mit dem Haken „Schlüssel mitsichern“ bleiben gespeicherte API-Schlüssel nach einer Wiederherstellung lesbar. Dann gehört die Datei aber nicht in einen Cloud-Ordner. Die letzten zehn Sicherungen bewahrt TPM Harness zusätzlich selbst auf.

Beim Wiederherstellen prüft TPM Harness die Datei, legt vorher automatisch eine Sicherheitskopie des aktuellen Stands an und bittet dann um einen Neustart.
12Android-App und Zugriff von unterwegs
Mit der App TPM Harness chattest du vom Handy aus, mit Spracheingabe, Vorlesen und allen Chat-Einstellungen, startest Agents mit einer Aufgabe und Workflows mit ihrem Startformular und gibst Aktionen frei oder beantwortest Rückfragen, solange die App geöffnet ist.
- Für den Zugriff von unterwegs auf Rechner und Handy Tailscale einrichten. Das ist ein privates Netz nur für deine Geräte, es braucht keinen offenen Port im Internet.
- Unter Einstellungen → Remote Control die Tailscale-Adresse des Rechners eintragen und speichern.
- Pairing-Code erzeugen und den QR-Code mit der App scannen.

Gekoppelte Geräte erscheinen in der Liste darunter. Dort widerrufst du den Zugang eines Geräts jederzeit; die App muss sich dann neu koppeln.
13Häufige Fragen
- Das Modell sagt, es könne keine Dateien anlegen.
- Dem Chat ist kein Ordner freigegeben, oder er steht auf „📋 Planen“. Ordner über 📁 freigeben oder den Chat einem Projekt mit Wurzelordner zuordnen, dann auf „⚡ Ausführen“ schalten.
- Ein Programm mit Fenster (z. B. Tkinter) startet nicht.
- Im Container gibt es keinen Bildschirm. Das Modell schreibt und prüft das Programm dort, starten lässt es sich nur in einem Ordner mit Haken „Host“ im 📁-Menü.
- „Kein Standard-Modell eingerichtet“
- In den Einstellungen unter Standard-Modelle die Zeile „Default“ mit Anbieter und Modell füllen oder im Chat ein festes Modell wählen.
- Ein Ordner lässt sich nicht freigeben.
- Du kannst jeden Ordner freigeben, den du selbst auswählst. Immer gesperrt sind Systemordner, das ganze Home-Verzeichnis als Ganzes und Ordner mit Schlüsseln oder Zugangsdaten. Wähle in dem Fall einen Unterordner.
- „Image fehlt“ oder „Docker-Dienst nicht erreichbar“
- Unter Einstellungen → Code-Ausführung „Image neu bauen“ klicken. Ohne Docker einzelne Ordner auf „Host“ stellen; dann muss jede Ausführung bestätigt werden.
- Ein installiertes Python-Paket ist im nächsten Lauf noch da?
- Ja. Pakete landen in einem dauerhaften Speicher des Containers. Systemprogramme dagegen gehören in
docker/exec-apt-packages.txt, danach das Image neu bauen. - Wohin gehen meine Daten?
- Chats, Projekte und Dateien bleiben auf deinem Rechner. Was du an ein Modell schickst, geht direkt an den Anbieter, den du für diesen Chat oder Zweck eingestellt hast.
- Das Modell soll sich ein Dokument oder Video ansehen.
- Datei in einem freigegebenen Ordner ablegen und das Modell bitten, sie anzusehen. Es nutzt dafür view_document. Dafür muss das gewählte Modell Bilder verstehen.
- Ein langer Render oder Befehl bricht ab.
- Befehle enden nach zwei Minuten, auf Wunsch des Modells nach höchstens 30 Minuten. Für längere Arbeiten startet es einen Hintergrund-Job; wie lange der laufen darf, stellst du unter Einstellungen → Code-Ausführung ein.
- Ich weiß nicht weiter.
- Klick links auf ❓ Hilfe. Der Harness-Assistent kennt die Handbücher und erklärt dir Schritt für Schritt, wo du was findest.
- Warum steht in einer Antwort keine Liste der ausgeführten Befehle?
- Die Werkzeugaufrufe stehen aufklappbar über jeder Antwort (🛠). Während das Modell arbeitet, zeigt eine zugeklappte Zeile, welches Werkzeug gerade läuft.
14Lizenz
TPM Harness steht unter der PolyForm Noncommercial License 1.0.0. Kostenlos nutzen darfst du es für private Zwecke sowie in gemeinnützigen Organisationen, Bildungs- und Forschungseinrichtungen und öffentlichen Einrichtungen.
Für die Nutzung in Unternehmen gibt es einmalige Kauflizenzen: Einzelplatz (29,99 €), Team bis 10 Nutzer (149 €) und Unternehmen für alle Nutzer eurer E-Mail-Domain (999 €). Eine Lizenz gilt unbefristet für die gekaufte Hauptversion samt ihrer Updates. Preise und Bestellung stehen auf der Übersichtsseite.
Lizenzschlüssel eintragen
Den Schlüssel aus der Kaufbestätigung fügst du unter Einstellungen → Lizenz ein und klickst auf Speichern. TPM Harness prüft ihn ohne Internetverbindung und zeigt danach Lizenzart, Lizenznehmer und Version an. Ohne Schlüssel läuft TPM Harness genauso, dann gilt die kostenlose nicht-kommerzielle Lizenz.
TPM Harness nutzt Bestandteile Dritter unter deren eigenen Lizenzen. Die vollständige Liste liegt dem Programm als THIRD_PARTY_NOTICES.md bei.