Überblick
Idee, Architektur und Umsetzung von mir, bei FameUp: OpenClaw orchestriert Claude-Code-Subagenten, dazu ein schreibgeschützter MCP-Server, der mit Live-Daten antwortet.
Kontext
Bei FameUp kommen Bugmeldungen aus Support, Vertrieb und Produkt über Slack bei den Entwicklern an. Jede davon kostete einen Entwickler dieselbe Routine, bevor die eigentliche Arbeit begann: lesen, reproduzieren, entscheiden, ob es wirklich ein Bug ist, nach einem bestehenden Ticket suchen, eines anlegen. Fixie übernimmt diese Routine und auch den Fix. Das Team übernimmt Review und Merge.
Fixie war meine Idee: Ich habe die Architektur entworfen und das System von Anfang bis Ende gebaut.
So funktioniert es
- Eine Slack-App über WebSockets. Fixie läuft im Socket Mode von Slack. Die App hält eine WebSocket-Verbindung zu Slack offen, braucht also keinen öffentlichen Endpunkt, und legt los, sobald ein Bug gemeldet oder Fixie erwähnt wird.
- Immer auf dem aktuellen Code. Fixie hat eigene Klone der Repositories und aktualisiert sie stündlich per Fetch, sodass jede Analyse vom aktuellen Stand ausgeht.
- Eine Entscheidungspipeline, bevor Code entsteht. Zuerst entscheidet Fixie, ob die Meldung wirklich ein Bug ist oder erwartetes Verhalten, fehlerhafte Daten oder eine Frage. Dann prüft es in Jira, ob es schon ein Ticket gibt, damit derselbe Bug nie doppelt erfasst wird. Erst dann legt es mit seinem Jira-Tool ein Ticket an und beginnt mit dem Fix.
- Fix, Tests, Review. Der Fix kommt mit Tests und durchläuft dieselbe CI wie jede andere Änderung, einschließlich PHPStan auf höchstem Level und eines KI-Code-Reviews. Am Ende steht ein Pull Request, den ein Entwickler prüft und merged.
- Orchestrierung. OpenClaw orchestriert mehrere Claude-Code-Subagenten. Alles läuft über ein Claude-Code-Abo statt über API-Abrechnung pro Token, die Kosten bleiben also fix.
#ask-fixie
Produkt, Support und Vertrieb stellen Fixie im Kanal #ask-fixie auch Fragen zum Code: wie ein Teil des Produkts funktioniert, woher ein Wert kommt, warum sich etwas so verhält. Fixie antwortet auf Basis des aktuellen Codes, ohne einen Entwickler aus seiner Arbeit zu reißen.
Live-Daten über MCP
Manche Fragen brauchen echte Zahlen statt Code. Dafür habe ich einen MCP-Server gebaut, über den Fixie die Live-Datenbank abfragen kann, mit Schutz in mehreren Schichten:
- Die Verbindung nutzt einen Datenbanknutzer mit reinen Leserechten.
- Zusätzliche Prüfungen im Code lassen nur SELECT- und DESCRIBE-Anweisungen durch.
- Sensible Daten bleiben geschützt, und schwere Abfragen können die Produktion nicht belasten.
- Der Zugriff läuft über OAuth 2.0, den Ablauf, den Claude Code bei einem entfernten MCP-Server erwartet.
Will jemand eine Kennzahl wissen, fragt Fixie die Daten ab und antwortet mit dem echten Wert.
