Einrichtungs-Guide
RAGRAF an SagaAI anbinden
--agent-kind external Streamlit · v1.13.1 · MIT навык + CLI (run_code) Fakten im Code verifiziert · v1.13.1
Offene Plattform für ein Team von KI-Mitarbeitern (Streamlit, MIT, v1.13.1): Assistenten, autonome Orchestratoren, der eingebaute Entwickler-Agent DevAgent, Wissensbasen und eine Skill-Bibliothek. Einen MCP-Client gibt es im Plattformcode nicht — per Repository-Suche verifiziert —, deshalb wird RAGRAF über die plattformeigenen Mechanismen angebunden: den Skill ragraf-core und CLI-Aufrufe über das Tool run_code.
- MIT · Streamlit · localhost:8501
- Skills + run_code (300 s)
- kein MCP-Client im Code
- Oberflächen ru/en/zh
Notation in Befehlen: <repo> — Pfad zum lokalen RAGRAF-Klon, <корпус> — Name der Korpus-Konfiguration, <каталог проекта> — das indizierte Projekt. Befehle und Ausgaben sind wie gemessen zitiert — einschließlich der russischen Zeilen, die das Produkt ausgibt.
Quelle: Plattformfakten gegen den Code von github.com/TVD2100/sagaai-platform verifiziert (v1.13.1, MIT). Eine Live-Sitzung RAGRAF × SagaAI wurde nicht gemessen — der Guide beschreibt die im Plattformcode verifizierten Anbindungsmechanismen.
Die Plattform SagaAI
Offene Plattform für ein Team von KI-Mitarbeitern: Chat-Assistenten, autonome Orchestratoren, Wissensbasen (RAG) und der eingebaute Entwickler-Agent DevAgent — in einer Web-Oberfläche (Streamlit), auf dem eigenen Rechner oder Server. MIT-Lizenz; die 1.x-Linie hält öffentliche APIs, Oberfläche und Datenformate abwärtskompatibel. Die Oberfläche gibt es auf Russisch, Englisch und Chinesisch. Alle Fakten dieses Guides wurden gegen den Code des Repositorys TVD2100/sagaai-platform verifiziert (v1.13.1).
| Rolle | Was sie tut |
|---|---|
| KI-Assistenten | Chat-Assistenten mit eigenen Systemprompts und Dateien |
| Mitarbeiter-Orchestratoren | autonome Agenten mit Rollen, Tools, Anweisungen und Skills; arbeiten selbstständig, Schritt für Schritt |
| DevAgent | der eingebaute (nicht entfernbare) Entwickler-Agent: Plan → Freigabe → Änderungen → Tests; Backups, Snapshots und voller Rückbau; optional vollautonomer Modus |
| Wissensbasen (RAG) | lokale Basen mit den Suchmodi bm25 (eigener lexikalischer Index, ohne Schlüssel, Standard), vector und hybrid (RRF) |
| Skills | standardisierte Pakete aus Anweisungen und Skripten (SKILL.md); Installation aus ZIP, Ordner oder GitHub-URL; Anpassung über DevAgent |
| Konnektoren | externe Dienste (GitHub, SSH) mit geschützter Speicherung von Tokens und Schlüsseln |
Installation und Start
Die Plattform ist eine gewöhnliche Python-Anwendung: Abhängigkeiten aus requirements.txt (streamlit, requests, sqlalchemy, cryptography; optional Dokument-Parser und paramiko für SSH), Start mit streamlit run app.py. Findet der Befehl streamlit nicht — python -m streamlit run app.py. Nach dem Start die API-Schlüssel der Dienste auf der Seite Einstellungen setzen.
git clone https://github.com/TVD2100/sagaai-platform SagaAI
cd SagaAI
pip install -r requirements.txt
streamlit run app.py # → http://localhost:8501Wie RAGRAF angebunden wird
Einen MCP-Client gibt es im Plattformcode nicht
Per Repository-Suche auf v1.13.1 verifiziert: keine einzige MCP-Erwähnung in core/, services/ und ui/. Die einzigen MCP-Anweisungen gehören zur Yandex-AI-Studio-Persona (defaults/orchestrators/ya_agent) und beschreiben den Cloud-MCP-Hub eines anderen Produkts. Deshalb wird RAGRAF über die plattformeigenen Mechanismen angebunden — die Skill-Bibliothek und CLI-Aufrufe über run_code. Das universelle MCP-Rezept steht am Ende des Guides als Zukunftsoption.
| Kanal 1 — der Skill | Kanal 2 — CLI über run_code | |
|---|---|---|
| Was es liefert | Regime und Reihenfolge der Operationen direkt im Systemprompt des Orchestrators | alle 13 Unterkommandos und 22 RAGRAF-Operationen als gewöhnliche Befehle |
| Wie es funktioniert | Skill-Bibliothek: SKILL.md + reference/*; Laden über get_skill_prompt / get_skill_file | run_code führt Code oder Shell in einem isolierten Subprozess aus (Timeout 300 s) |
| Bedingung | der Skill ist angepasst (adapted=True) — sonst erreicht er den Prompt nicht | ein Interpreter mit RAGRAF-Abhängigkeiten ist aus der Arbeitsumgebung erreichbar |
| Kontrolle | der Skill-Text ist in der Bibliothek sichtbar und editierbar | gefährliche Code-Muster werden bis zur UI-Bestätigung blockiert |
Warum das funktioniert
run_code ist die universelle Ausweichlösung der Plattform: Pakete installieren, Shell-Befehle und Skripte ausführen, jede Operation ohne Spezialtool. Das RAGRAF-CLI (tools/ragraf.py) ist ein gewöhnliches Python-Skript: Der Agent ruft es genau wie in jeder Shell auf und liest den Antworttext selbst — keine JSON-RPC-Schema-Interpretation nötig. Der Skill ragraf-core gibt die Reihenfolge vor: zuerst ensure, dann Index-Operationen statt Dateilesen.
RAGRAF ersetzt die eingebauten SagaAI-Wissensbasen nicht und kollidiert nicht mit ihnen: Die Plattformbasen suchen in Dokumenten (bm25/vector/hybrid), RAGRAF ist ein Graph der Code-Fakten (Symbole, Beziehungen, Revisionen, Indexfrische, Schreibkontrolle). Ein Mitarbeiter kann beide nutzen: Dokumente über rag_search, Code über das RAGRAF-CLI.
Anbindung — vier Schritte
- RAGRAF installieren und den Korpus bauenStandardinstallation von RAGRAF (install.ps1 oder pip -e .), dann ensure auf das Projektverzeichnis. Ein Korpus für alle Mitarbeiter: Der Index wird von Agenten read-only geöffnet, mehrere Dialoge und Orchestratoren arbeiten gleichzeitig damit.
- Den Skill ragraf-core in der Bibliothek installierenSeite der Skill-Bibliothek → Installation aus GitHub-URL, ZIP-Archiv oder lokalem Ordner (Register skills/skills.json im Datenverzeichnis; Grenzen: 200 MB pro Archiv, 5000 Dateien, 50 MB pro Datei, Entpacken gegen path traversal geschützt). Ein fremder Skill erhält developer=unknown, adapted=False und erreicht den Available-skills-Block des Systemprompts NICHT, bis die Anpassung abgeschlossen ist: Die Schaltfläche „Anpassen“ übergibt die Aufgabe an DevAgent (Skill Developer), der bei Fertigstellung mark_skill_adapted aufruft.
- Das Regime in die Anweisungen aufnehmenDas universelle AGENTS.md-Fragment (Seite Integrationen) in eine Orchestrator-Anweisung aufnehmen (Anweisungen überstehen Neustarts) oder in die AGENT.md des Projekts — DevAgent pflegt diese Datei und liest sie bei der Arbeit im Arbeitsordner. Die Reihenfolge „Index fragen → Umschlag prüfen → write_check vor jedem Schreiben“ ist Pflicht: Ohne Regime fallen Agenten auf search_in_files zurück, sofort in der RAGRAF-Aufrufstatistik sichtbar.
- Mit einem Aufruf im Dialog prüfenDen Mitarbeiter bitten, über run_code auszuführen: catalog (erwartet: Korpusliste), dann ensure <Verzeichnis> (erwartet: status: actual). Skill-Dateien liest der Agent mit get_skill_file — Workspace-Tools (read_file, verify_file) lehnen Pfade außerhalb des Projekts ab: „Path escapes project root“.
# инструменты агента (run_code) вызывают CLI RAGRAF как обычную команду:
python <repo>\tools\ragraf.py catalog
python <repo>\tools\ragraf.py ensure <каталог проекта>
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml query symbol --name <имя>
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml check
python <repo>\tools\ragraf.py -p <repo>\config\<корпус>.yaml usage --agent saga-workerPlattformsicherheit
Im Code v1.13.1 verifiziert — diese Mechanismen bestimmen, wie genau der Agent mit RAGRAF arbeitet:
- run_code führt beliebigen Code in einem isolierten Subprozess aus (Timeout 300 s, run_test — 180 s); Code mit gefährlichen Mustern (destruktive Kommandos, Systemänderungen, Netzwerkoperationen) wird blockiert, bis der Benutzer ihn in der UI ausdrücklich bestätigt.
- Path-Traversal-Schutz: Tools verlassen den Arbeitsordner nicht; der aktive Ordner ist an den Dialog gebunden und wird beim Wiedereröffnen wiederhergestellt.
- Nicht vertrauenswürdige Daten werden markiert (Ergebnis-Sanitization, Tag [DATA_FROM_WEB_SEARCH]), heuristischer Prompt-Injection-Schutz.
- API-Schlüssel werden geschützt gespeichert (oder über Umgebungsvariablen gesetzt und nie in der DB gespeichert); TLS-Verifizierung ist standardmäßig aktiv; Sekrete werden in der Oberfläche nicht angezeigt.
- DevAgent-Änderungen sind versioniert: Datei-Backups, Projekt-Snapshots und voller Rückbau — Agentenhandlungen sind umkehrbar.
Die Anforderung der Plattform an den Benutzer
SagaAI richtet sich an erfahrene Entwickler, die die Handlungen autonomer Agenten in Echtzeit analysieren und illegitime Operationen unterbrechen können. Das ist die Anforderung der Plattform selbst (README v1.13.1) — sie gilt voll auch für RAGRAF-Sitzungen: Behalten Sie die run_code-Bestätigungen unter Kontrolle.
Telemetrie
Bei jedem CLI-Aufruf --agent <Mitarbeitername> mitgeben (saga-worker, saga-reviewer, …): usage_call trennt die Aufrufprofile pro Agent bei gemeinsamem kind=external. Ein gesundes Profil ist von symbol/search/write_check dominiert und hat null komplette Dateilesungen. Abgleich mit der Statistik-Seite der Plattform (Tokenverbrauch nach Periode, Anbieter und Modell): Die Ersparnis bei der Navigation zeigt sich in beiden Metriken.
Agenten-Regime
Das universelle Regime (Seite Integrationen) passt ohne Änderungen. Für Multi-Agenten-Pipelines ergänzen Sie eine Umschlag-Übergaberegel zwischen Mitarbeitern: jede nächste Stufe muss stale_warnings sehen.
Telemetrie
Jeder Mitarbeiter schreibt sein eigenes agent=<Name> bei gemeinsamem kind=external. usage_stats gruppiert Aufrufe nach Agenten — wer „gesund“ ist und wer den Index umgeht.
MCP-Ausblick
Sollte die Plattform einen MCP-Client bekommen, ändert sich der RAGRAF-Vertrag nicht: stdio-Server, JSON-RPC, 24 ragraf_*-Tools. Es genügt, den Start zu registrieren — Konfiguration unten. --project kann entfallen: Der Korpus wird über das Arbeitsverzeichnis aus dem Entwicklungsregister bestimmt, das Umschalten auf ein fremdes Projekt übernimmt ragraf_use_project.
{
"mcpServers": {
"ragraf": {
"command": "python",
"args": [
"<repo>/tools/ragraf-mcp.py",
"--agent", "saga-worker",
"--agent-kind", "external"
]
}
}
}Plattformfakten gegen den Code von github.com/TVD2100/sagaai-platform verifiziert (v1.13.1, MIT): MCP-Client-Suche, Tool-Kataloge (dev_agent/tool_executor.py, universal_agent.py), Skill-Bibliothek (core/skills_library.py), Bestätigungsregeln (core/dangerous.py), README und AGENT.md. Die Kopplung RAGRAF × SagaAI ist nach Plattformmechanismen beschrieben; eine Live-Sitzung wurde nicht gemessen — anders als bei AutoClaw und DeepSeek Harness.