MCP Coding Assistant mit Unterstützung für OpenAI + andere LLM-Anbieter
Eine leistungsstarke Python-Nachbildung von Claude Code mit verbesserter Echtzeitvisualisierung, Kostenmanagement und Model Context Protocol (MCP)-Serverfunktionen. Dieses Tool bietet eine natürlichsprachliche Schnittstelle für Softwareentwicklungsaufgaben mit Unterstützung mehrerer LLM-Anbieter.
Hauptmerkmale
Multi-Provider-Support: Funktioniert mit OpenAI, Anthropic und anderen LLM-Anbietern
Integration des Modellkontextprotokolls:
Wird als MCP-Server zur Verwendung mit Claude Desktop und anderen Clients ausgeführt
Stellen Sie mit dem integrierten MCP-Client eine Verbindung zu jedem MCP-Server her
Multi-Agenten-Synchronisierung zur Lösung komplexer Probleme
Echtzeit-Tool-Visualisierung: Sehen Sie den Fortschritt und die Ergebnisse der Tool-Ausführung in Echtzeit
Kostenmanagement: Verfolgen Sie Token-Nutzung und Ausgaben mit Budgetkontrollen
Umfassende Tool-Suite: Dateioperationen, Suche, Befehlsausführung und mehr
Verbesserte Benutzeroberfläche: Umfangreiche Terminaloberfläche mit Fortschrittsanzeige und Syntaxhervorhebung
Kontextoptimierung: Intelligente Konversationskomprimierung und Speicherverwaltung
Agentenkoordination: Spezialisierte Agenten mit unterschiedlichen Rollen können gemeinsam an Aufgaben arbeiten
Related MCP server: MCP Simple OpenAI Assistant
Installation
Dieses Repository klonen
Installieren Sie Abhängigkeiten:
Erstellen Sie eine
.envDatei mit Ihren API-Schlüsseln:
Verwendung
CLI-Modus
Führen Sie die CLI mit dem Standardanbieter aus (bestimmt anhand der verfügbaren API-Schlüssel):
Geben Sie einen Anbieter und ein Modell an:
Legen Sie ein Budgetlimit fest, um die Kosten im Griff zu behalten:
MCP-Servermodus
Als Model Context Protocol-Server ausführen:
Starten Sie im Entwicklungsmodus mit dem MCP Inspector:
Host und Port konfigurieren:
Geben Sie zusätzliche Abhängigkeiten an:
Umgebungsvariablen aus Datei laden:
MCP-Client-Modus
Stellen Sie eine Verbindung zu einem MCP-Server her und verwenden Sie Claude als Reasoning Engine:
Geben Sie ein Claude-Modell an:
Probieren Sie den enthaltenen Beispielserver aus:
Multi-Agent-MCP-Modus
Starten Sie einen Multi-Agent-Client mit synchronisierten Agenten:
Verwenden Sie eine benutzerdefinierte Agentenkonfigurationsdatei:
Beispiel mit dem Echoserver:
Verfügbare Tools
Ansicht: Dateien mit optionalen Zeilenbegrenzungen lesen
Bearbeiten: Dateien mit präzisem Textersatz ändern
Ersetzen: Dateien erstellen oder überschreiben
GlobTool: Dateien durch Mustervergleich finden
GrepTool: Dateiinhalte mit regulären Ausdrücken durchsuchen
LS: Verzeichnisinhalte auflisten
Bash: Shell-Befehle ausführen
Chat-Befehle
/help: Verfügbare Befehle anzeigen
/compact: Konversationsverlauf komprimieren, um Token zu speichern
/version: Versionsinformationen anzeigen
/providers: Liste verfügbarer LLM-Anbieter
/cost: Kosten- und Nutzungsinformationen anzeigen
/budget [Betrag]: Legen Sie ein Budgetlimit fest
/quit, /exit: Beenden Sie die Anwendung
Architektur
Claude Code Python Edition basiert auf einer modularen Architektur:
Verwendung mit dem Model Context Protocol
Verwenden von Claude Code als MCP-Server
Sobald der MCP-Server läuft, können Sie von Claude Desktop oder anderen MCP-kompatiblen Clients aus eine Verbindung zu ihm herstellen:
Installieren und führen Sie den MCP-Server aus:
python claude.py serveÖffnen Sie die Konfigurationsseite in Ihrem Browser:
http://localhost:8000Befolgen Sie die Anweisungen zum Konfigurieren von Claude Desktop, einschließlich:
Kopieren der JSON-Konfiguration
Laden Sie die automatisch konfigurierte JSON-Datei herunter
Schritt-für-Schritt-Anleitung zur Einrichtung
Verwenden von Claude Code als MCP-Client
So stellen Sie mit Claude Code eine Verbindung zu einem beliebigen MCP-Server her:
Stellen Sie sicher, dass Ihr Anthropic-API-Schlüssel in der Umgebung oder der .env-Datei vorhanden ist.
Starten Sie den MCP-Server, mit dem Sie eine Verbindung herstellen möchten
Stellen Sie eine Verbindung mithilfe des MCP-Clients her:
python claude.py mcp-client path/to/server.pyGeben Sie Anfragen in die interaktive Chat-Oberfläche ein
Verwenden des Multi-Agent-Modus
Bei komplexen Aufgaben ermöglicht der Multi-Agent-Modus die Zusammenarbeit mehrerer spezialisierter Agenten:
Erstellen Sie eine Agentenkonfigurationsdatei oder verwenden Sie das bereitgestellte Beispiel
Starten Sie Ihren MCP-Server
Starten Sie den Multi-Agent-Client:
python claude.py mcp-multi-agent path/to/server.py --config examples/agents_config.jsonVerwenden Sie die Befehlsschnittstelle, um mit mehreren Agenten zu interagieren:
Geben Sie eine Nachricht ein, die an alle Agenten gesendet werden soll
Verwenden Sie
/talk Agent_Name messagefür die direkte KommunikationVerwenden Sie
/agents, um alle verfügbaren Agenten anzuzeigenVerwenden Sie
/history, um den Konversationsverlauf anzuzeigen
Beitragen
Forken Sie das Repository
Erstellen eines Feature-Zweigs
Implementieren Sie Ihre Änderungen mit Tests
Senden einer Pull-Anfrage
Lizenz
MIT
Danksagung
Dieses Projekt ist vom Claude Code CLI-Tool von Anthropic inspiriert und wurde in Python mit zusätzlichen Funktionen für verbesserte Sichtbarkeit, Kostenmanagement und MCP-Serverfunktionen neu implementiert.# OpenAI Code Assistant
Ein leistungsstarker Befehlszeilen- und API-basierter Codierungsassistent, der OpenAI-APIs mit Funktionsaufrufen und Streaming verwendet.
Merkmale
Interaktive CLI zur Unterstützung beim Codieren
Web-API zur Integration mit anderen Anwendungen
Model Context Protocol (MCP)-Serverimplementierung
Replikationsunterstützung für hohe Verfügbarkeit
Toolbasierte Architektur für Erweiterbarkeit
Reinforcement Learning zur Werkzeugoptimierung
Webclient für browserbasierte Interaktion
Installation
Klonen Sie das Repository
Installieren Sie Abhängigkeiten:
pip install -r requirements.txtLegen Sie Ihren OpenAI-API-Schlüssel fest:
export OPENAI_API_KEY=your_api_key
Verwendung
CLI-Modus
Führen Sie den Assistenten im interaktiven CLI-Modus aus:
Optionen:
--model,-m: Geben Sie das zu verwendende Modell an (Standard: gpt-4o)--temperature,-t: Temperatur für die Antwortgenerierung festlegen (Standard: 0)--verbose,-v: Ausführliche Ausgabe mit zusätzlichen Informationen aktivieren--enable-rl/--disable-rl: Aktivieren/Deaktivieren des bestärkenden Lernens zur Tool-Optimierung--rl-update: Manuelles Auslösen einer Aktualisierung des RL-Modells
API-Servermodus
Führen Sie den Assistenten als API-Server aus:
Optionen:
--host: Hostadresse, an die gebunden werden soll (Standard: 127.0.0.1)--port,-p: Port, auf dem gelauscht wird (Standard: 8000)--workers,-w: Anzahl der Arbeitsprozesse (Standard: 1)--enable-replication: Replikation zwischen Instanzen aktivieren--primary/--secondary: Ob dies eine primäre oder sekundäre Instanz ist--peer: Peer-Instanzen, mit denen repliziert werden soll (Host:Port), kann mehrfach angegeben werden
MCP-Servermodus
Führen Sie den Assistenten als Model Context Protocol (MCP)-Server aus:
Optionen:
--host: Hostadresse, an die gebunden werden soll (Standard: 127.0.0.1)--port,-p: Port, auf dem gelauscht wird (Standard: 8000)--dev: Entwicklungsmodus mit zusätzlicher Protokollierung aktivieren--dependencies: Zusätzliche zu installierende Python-Abhängigkeiten--env-file: Pfad zur .env-Datei mit Umgebungsvariablen
MCP-Client-Modus
Stellen Sie eine Verbindung zu einem MCP-Server her und verwenden Sie dabei den Assistenten als Schlussfolgerungs-Engine:
Optionen:
--model,-m: Für die Schlussfolgerung zu verwendendes Modell (Standard: gpt-4o)--host: Hostadresse für den MCP-Server (Standard: 127.0.0.1)--port,-p: Port für den MCP-Server (Standard: 8000)
Bereitstellungsskript
Verwenden Sie zur einfacheren Bereitstellung das bereitgestellte Skript:
So aktivieren Sie die Replikation:
Webclient
Um den Webclient zu verwenden, öffnen Sie web-client.html in Ihrem Browser. Stellen Sie sicher, dass der API-Server läuft.
API-Endpunkte
Standard-API-Endpunkte
POST /conversation: Erstellen Sie eine neue KonversationPOST /conversation/{conversation_id}/message: Senden Sie eine Nachricht an eine KonversationPOST /conversation/{conversation_id}/message/stream: Streamen Sie eine NachrichtenantwortGET /conversation/{conversation_id}: Konversationsdetails abrufenDELETE /conversation/{conversation_id}: Eine Konversation löschenGET /health: Endpunkt der Integritätsprüfung
MCP-Protokollendpunkte
GET /: Integritätsprüfung (MCP-Protokoll)POST /context: Kontext für eine Eingabeaufforderungsvorlage abrufenGET /prompts: Listet verfügbare Eingabeaufforderungsvorlagen aufGET /prompts/{prompt_id}: Holen Sie sich eine bestimmte EingabeaufforderungsvorlagePOST /prompts: Erstellen Sie eine neue EingabeaufforderungsvorlagePUT /prompts/{prompt_id}: Aktualisieren Sie eine vorhandene EingabeaufforderungsvorlageDELETE /prompts/{prompt_id}: Löscht eine Eingabeaufforderungsvorlage
Replikation
Das Replikationssystem ermöglicht die Ausführung mehrerer Instanzen des Assistenten mit synchronisiertem Status. Dies bietet:
Hohe Verfügbarkeit
Lastenausgleich
Fehlertoleranz
So richten Sie die Replikation ein:
Starten Sie eine primäre Instanz mit
--enable-replicationStarten Sie sekundäre Instanzen mit
--enable-replication --secondary --peer [primary-host:port]
Werkzeuge
Der Assistent umfasst verschiedene Tools:
Wetter: Aktuelles Wetter für einen Standort abrufen
Ansicht: Dateien aus dem Dateisystem lesen
Bearbeiten: Dateien bearbeiten
Ersetzen: Dateien schreiben
Bash: Bash-Befehle ausführen
GlobTool: Dateimustervergleich
GrepTool: Inhaltssuche
LS: Verzeichnisinhalte auflisten
JinaSearch: Websuche mit Jina.ai
JinaFactCheck: Faktencheck mit Jina.ai
JinaReadURL: Webseiten lesen und zusammenfassen
CLI-Befehle
/help: Hilfemeldung anzeigen/compact: Komprimieren Sie die Konversation, um die Token-Nutzung zu reduzieren/status: Token-Nutzung und Sitzungsinformationen anzeigen/config: Aktuelle Konfigurationseinstellungen anzeigen/rl-status: Zeigt den Status des RL-Tool-Optimierers an (falls aktiviert)/rl-update: Das RL-Modell manuell aktualisieren (falls aktiviert)/rl-stats: Statistik zur Tool-Nutzung anzeigen (falls aktiviert)