Genug Chatbots – Zeit, echte Agents mit OpenHarness zu bauen
Kennt ihr das Gefühl, wenn ChatGPT einen brauchbaren Code-Vorschlag macht, aber um ihn tatsächlich zu nutzen, müsst ihr die Datei selbst erstellen, den Text einfügen, die Tests ausführen und dann ein paar Imports korrigieren? Wir haben uns daran gewöhnt, das „KI-Assistenz" zu nennen, obwohl es in Wirklichkeit nur erweiterte Suche mit einer Chat-Oberfläche ist.
Vor ein paar Tagen bin ich auf das OpenHarness-Repository vom HKUDS-Team gestoßen. Die Jungs haben entschieden, dass genug Chatbots genug sind – es wird Zeit, Sprachmodellen „Hände" zu geben. Das Projekt ist eine Infrastruktur für den Aufbau autonomer Agents, die nicht nur plaudern, sondern in eurem Terminal leben, im Web surfen und Code eigenständig bearbeiten.
Was ist Agent Harnessing
Die Autoren verwenden einen passenden Begriff – Harness. Die Idee ist, dass ein LLM allein nur ein „Gehirn im Glas" ist. Um zum Agent zu werden, braucht es Augen (Kontext), Hände (Tools) und Gedächtnis.
OpenHarness ist ein Python-Framework, das die gesamte Fleißarbeit erledigt:
- Verwaltung des Agent-Loop-Zyklus (Anfrage – Streaming – Tool-Aufruf – Wiederholung).
- Zugriffskontrolle (damit der Agent nicht versehentlich das Root-Verzeichnis eurer Festplatte löscht).
- Integration mit MCP (Model Context Protocol).
- Gedächtnisorganisation durch Dateien wie
MEMORY.md.
Das Beste ist, dass das Projekt euch nicht an einen bestimmten Cloud-Anbieter bindet. Ihr könnt es mit Claude oder OpenAI betreiben oder ein lokales Modell über Ollama durchschleusen.
Fünf Dinge, die OpenHarness kann
Ich habe den Quellcode und die README durchforstet, und hier ist, was für die tägliche Entwicklerarbeit am nützlichsten scheint.
Werkzeuge direkt einsatzbereit
Das Repository enthält bereits über 40 implementierte Tools. Es ist nicht nur „Bash-Skript ausführen". Es gibt Dateisuche via Grep, Jupyter-Notebook-Unterstützung, Web-Surfen und sogar die Möglichkeit, andere Agents zu starten, um Aufgaben zu delegieren. Die Tools sind durch Pydantic typisiert, sodass das Modell das Eingabedaten-Schema ohne zusätzliche Halluzinationen versteht.
Skills-System
Statt den System-Prompt auf die Größe von „Krieg und Frieden" aufzublähen, verwendet OpenHarness dynamisches Laden von Skills aus Markdown-Dateien. Wenn ein Agent eine Code-Review durchführen muss, lädt er review.md. Wenn er ein Projekt deployen muss – greift er sich den entsprechenden Skill. Das spart Tokens und macht das KI-Verhalten vorhersehbarer.
Sicherheit und Zugriffsebenen
Ich hatte immer Angst, KI Zugriff auf das Terminal zu geben. OpenHarness löst das durch Permission Modes. Im Standardmodus fragt der Agent vor jeder gefährlichen Operation (Dateischreiben, Befehlsausführung) um Bestätigung. Es gibt auch einen Plan-Modus – in dem der Agent nur Dateien lesen und Änderungen vorschlagen kann, aber nichts mit seinen Händen anfässt.
Persönlicher Assistent Ohmo
Im Repository lebt das ohmo-Projekt. Es ist eine fertige Agent-Anwendung, die ihr mit Telegram, Slack oder Discord verbinden könnt. Ihr schreibt ihm im Messenger, und es erstellt Git-Branches, behebt Bugs und öffnet PRs auf eurem Arbeitsplatz. Das funktioniert über bestehende Abonnements (wie Claude Code oder Codex), sodass ihr nicht extra für API-Aufrufe bezahlt.
Dry-Run-Modus
Eine nützliche Funktion zum Debuggen. Der Befehl oh --dry-run zeigt, welche Einstellungen geladen wurden, welche Keys aktiv sind und welche Tools dem Modell zur Verfügung stehen – ohne eine einzige Anfrage an die kostenpflichtige Cloud zu senden.
Wie es unter der Haube funktioniert
Die Projektarchitektur ist ziemlich transparent. Alles ist in unabhängige Subsysteme aufgeteilt:
- Engine: das Herz des Systems, das die Reasoning-Schleife des Modells verwaltet.
- Permissions: eine Schicht, die jeden Tool-Aufruf gegen Regeln prüft (z.B. Blockierung von Änderungen an
/etc/). - UI: eine schöne Terminal-Oberfläche, gebaut mit React und Ink. Ja, direkt in der Konsole.
- Coordinator: übernimmt Multi-Agent-Szenarien, wenn eine Aufgabe in mehrere Teilaufgaben für „Helfer" aufgeteilt wird.
Interessanterweise unterstützt das Projekt das MCP-Protokoll. Das bedeutet, ihr könnt jeden Context-Server mit eurem Agent verbinden – sagen wir eine Datenbank oder eine bestimmte API – und er lernt sofort, damit zu arbeiten.
Praktische Szenarien
Warum sollte man das in seinen Workflow integrieren?
Erstens: Automatisierung repetitiver Aufgaben. Ihr könnt den Agent fragen: „Finde alle ungenutzten Imports im src-Ordner und räume sie auf, dann führe die Tests aus." Während er mit den Dateien beschäftigt ist, trinkt ihr euren Kaffee.
Zweitens: Arbeit mit unbekanntem Legacy-Code. Der Agent kann das Projekt scannen, eine Abhängigkeitskarte erstellen und erklären, wie ein bestimmtes Modul funktioniert – unter Verwendung von Code-Search-Tools.
Drittens: Eigene spezialisierte Bots erstellen. Wenn euer Unternehmen einen bestimmten Deployment-Prozess hat, schreibt ihr einfach SKILL.md mit einer Beschreibung der Schritte, und euer Agent weiß jetzt, wie man Projekte genau so deployed, wie ihr es tut.
Lohnt es sich, es auszuprobieren
Das Projekt wirkt lebendig: 114 bestandene Tests und aktive Updates (Version 0.1.7 wurde vor wenigen Tagen veröffentlicht). Die Nachteile – die Dokumentation zwingt einen manchmal, im Code zu wühlen, und obwohl Windows-Support als nativ angegeben wird, erfordert es in PowerShell die Verwendung des Befehls openh statt des kurzen oh.
Wenn ihr es leid seid, Code aus dem Chat in eure IDE zu kopieren und wissen wollt, was Agents wirklich können, ist OpenHarness ein großartiger Ausgangspunkt. Zumindest ist es eines der wenigen Projekte, das versucht, Agent-Infrastruktur verständlich und erweiterbar zu machen.
Ihr könnt mit einer einfachen Installation beginnen:
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
oh setup
Und dann fragt einfach, ob es etwas in eurem Hobbyprojekt reparieren soll. Die Ergebnisse könnten euch überraschen.
Ähnliche Projekte