Porta
Porta verbindet KI-Modelle mit Dateien, Git und anderen Werkzeugen. Du bestimmst, welches Modell arbeitet und welche Aktionen der Assistent ausführen darf.
Warum dieses Projekt?
Ein Chatbot kann Code vorschlagen. Ein hilfreicher Entwicklungsassistent muss aber auch Dateien lesen, Änderungen vorbereiten und Tests ausführen können. Dabei sollten Modellwahl, Werkzeugzugriff und Freigaben nicht untrennbar zusammenhängen. Porta macht daraus austauschbare Bausteine.
Ein Assistent, der an einem Projekt arbeiten kann
Angenommen, ein Test in deinem Projekt schlägt fehl. Ein entsprechend eingerichteter Porta-Assistent kann den Code untersuchen, einen Änderungsvorschlag umsetzen und den Test erneut starten. Dateiänderungen und Befehle stehen ihm nur zur Verfügung, wenn diese Werkzeuge aktiviert und durch die gewählten Regeln erlaubt sind.
Das KI-Modell schlägt die nächsten Schritte vor. Porta kümmert sich darum, welches Werkzeug angesprochen wird, welche Freigaben nötig sind und wie Ergebnisse zur Unterhaltung zurückkommen. Die Bedienung kann über Terminal, Textoberfläche oder Browser erfolgen.
Warum Modell und Ausführung getrennt sind
In einem einfachen Agentenskript hängen Modellaufruf und Befehlsausführung oft direkt zusammen. Porta trennt diese Aufgaben: Ein anderes Modell soll nicht automatisch andere Dateirechte oder einen anderen Freigabeablauf bedeuten.
Ollama und OpenAI-kompatible Schnittstellen ermöglichen verschiedene Modellanbieter. Über MCP, eine gemeinsame Schnittstelle für KI-Werkzeuge, lassen sich weitere Tools anbinden. Optionale Speicherung hält Gespräche, Aufgaben und Ergebnisse auch über einen Neustart hinweg fest.
Auch das Ausführen und das Abschotten eines Befehls sind verschiedene Aufgaben. Eine Sandbox begrenzt beispielsweise den Dateizugriff. Kann die gewählte Umgebung eine verlangte Einschränkung nicht durchsetzen, darf Porta sie nicht einfach als erfüllt behandeln. Ein normaler Host-Prozess ist keine vollständige Sandbox.
Der Baustein für die Zusammenarbeit mit KI
Porta bildet die Steuerungsebene für Modelle und Werkzeuge. Bloom beschäftigt sich dagegen mit wiederverwendbaren Rechenoperationen, vBuf-ML mit der Ausführung von Modellen und Mayi mit einzelnen privilegierten Systemaktionen. Diese Rollen passen zusammen, sind aber nicht gleichbedeutend mit einer bereits durchgehend integrierten Anwendung.
Hier ist ein nachvollziehbarer Ablauf wichtiger als eine pauschale Geschwindigkeitszahl: Was durfte das Modell veranlassen, welches Werkzeug wurde ausgeführt und welches Ergebnis kam zurück?
Quellcode & Dokumentation
Quellcode und die verfügbare Projektdokumentation findest du auf GitHub. Dort stehen auch die Hinweise zum Bauen, zur Nutzung und zur Lizenz.
Porta auf GitHub ↗