bytedance/trae-agentPlease refer to the latest official releases for information GitHub Homepage
Ein universeller, LLM-basierter intelligenter Software-Engineering-Agent, der die Ausführung komplexer Entwicklungsaufgaben durch natürliche Sprachbefehle unterstützt.
MITPython 7.2kbytedancetrae-agent Last Updated: 2025-07-10
Trae Agent Projekt – Detaillierte Beschreibung
Projektübersicht
Trae Agent ist ein von ByteDance quelloffener, auf großen Sprachmodellen (LLM) basierender intelligenter Agent, der speziell für allgemeine Software-Engineering-Aufgaben entwickelt wurde. Das Projekt bietet eine leistungsstarke Befehlszeilenschnittstelle, die natürliche Sprachanweisungen verstehen und komplexe Software-Engineering-Workflows ausführen kann.
GitHub-Adresse: https://github.com/bytedance/trae-agent
Kernfunktionen
🌊 Lakeview
- Bietet eine prägnante Zusammenfassungsfunktion für Agenten-Schritte
- Hilft Benutzern, den Ausführungsprozess des Agenten schnell zu verstehen
🤖 Unterstützung mehrerer LLMs
- Unterstützt die offizielle OpenAI API
- Unterstützt die offizielle Anthropic API
- Flexibler Modell-Auswahlmechanismus
🛠️ Umfangreiches Tool-Ökosystem
- Dateibearbeitungsfunktionen
- Ausführung von Bash-Befehlen
- Sequenzielles Denken (Sequential Thinking)
- Weitere erweiterbare Tools
🎯 Interaktiver Modus
- Dialogorientierte Oberfläche, unterstützt iterative Entwicklung
- Echtzeit-Interaktion, verbessert das Entwicklungserlebnis
📊 Trajektorienaufzeichnung
- Detaillierte Aufzeichnung aller Agentenoperationen
- Unterstützt Debugging und Analyse
- Automatische Generierung von Ausführungsberichten
⚙️ Flexible Konfiguration
- JSON-basiertes Konfigurationssystem
- Unterstützt Umgebungsvariablen-Konfiguration
- Mehrstufige Konfigurationspriorität
🚀 Einfache Installation
- Einfacher pip-basierter Installationsprozess
- Empfohlene Verwendung von UV für die Projekteinrichtung
Installationsanleitung
Empfohlene Installationsmethode (mit UV)
git clone https://github.com/bytedance/trae-agent.git
cd trae-agent
uv sync
Umgebungsvariablen-Konfiguration
# OpenAI API Key
export OPENAI_API_KEY="your-openai-api-key"
# Anthropic API Key
export ANTHROPIC_API_KEY="your-anthropic-api-key"
Verwendung
Grundlegende Aufgabenausführung
# Einfache Aufgabe
trae-cli run "Create a hello world Python script"
# Anbieter und Modell angeben
trae-cli run "Fix the bug in main.py" --provider anthropic --model claude-sonnet-4-20250514
# Arbeitsverzeichnis angeben
trae-cli run "Add unit tests for the utils module" --working-dir /path/to/project
# Trajektoriedatei zum Debuggen speichern
trae-cli run "Refactor the database module" --trajectory-file debug_session.json
# Patch erzwingen
trae-cli run "Update the API endpoints" --must-patch
Interaktiver Modus
# Interaktive Sitzung starten
trae-cli interactive
# Benutzerdefinierte Konfiguration verwenden
trae-cli interactive --provider openai --model gpt-4o --max-steps 30
Befehle im interaktiven Modus
- Aufgabenbeschreibung eingeben, um die Aufgabe auszuführen
status
- Agenteninformationen anzeigenhelp
- Verfügbare Befehle anzeigenclear
- Bildschirm leerenexit
oderquit
- Sitzung beenden
Konfigurationsverwaltung
# Aktuelle Konfiguration anzeigen
trae-cli show-config
# Benutzerdefinierte Konfigurationsdatei verwenden
trae-cli show-config --config-file my_config.json
Konfigurationsdatei
Trae Agent verwendet eine JSON-Konfigurationsdatei (trae_config.json
) für die Einstellungen:
{
"default_provider": "anthropic",
"max_steps": 20,
"model_providers": {
"openai": {
"api_key": "your_openai_api_key",
"model": "gpt-4o",
"max_tokens": 128000,
"temperature": 0.5,
"top_p": 1
},
"anthropic": {
"api_key": "your_anthropic_api_key",
"model": "claude-sonnet-4-20250514",
"max_tokens": 4096,
"temperature": 0.5,
"top_p": 1,
"top_k": 0
}
}
}
Konfigurationspriorität
- Befehlszeilenparameter (höchste Priorität)
- Werte aus der Konfigurationsdatei
- Umgebungsvariablen
- Standardwerte (niedrigste Priorität)
Eingebaute Tools
str_replace_based_edit_tool - Dateibearbeitungstool
view
- Zeigt Dateiinhalte oder Verzeichnislisten ancreate
- Erstellt eine neue Dateistr_replace
- Ersetzt Text in einer Dateiinsert
- Fügt Text in einer bestimmten Zeile ein
bash - Shell-Befehlsausführung
- Führt Befehle und Skripte aus
- Handhabung persistenter Zustände
- Verarbeitung langlaufender Prozesse
- Erfassung von Ausgaben und Fehlern
sequential_thinking - Strukturierte Problemlösung
- Zerlegt komplexe Probleme
- Iteratives Denken und Korrekturfunktionen
- Hypothesengenerierung und -validierung
task_done - Aufgabenerledigungssignal
- Markiert die erfolgreiche Erledigung einer Aufgabe
- Liefert Endergebnisse und eine Zusammenfassung
Trajektorienaufzeichnung
Trae Agent zeichnet automatisch detaillierte Ausführungstrajektorien zum Debuggen und Analysieren auf:
# Automatische Generierung der Trajektoriedatei
trae-cli run "Debug the authentication module"
# Gespeichert unter: trajectory_20250612_220546.json
# Benutzerdefinierte Trajektoriedatei
trae-cli run "Optimize the database queries" --trajectory-file optimization_debug.json
Inhalt der Trajektoriedatei
- LLM-Interaktion: Alle Nachrichten, Antworten und Tool-Aufrufe
- Agenten-Schritte: Zustandsübergänge und Entscheidungspunkte
- Tool-Nutzung: Aufgerufene Tools und deren Ergebnisse
- Metadaten: Zeitstempel, Token-Nutzung und Ausführungsmetriken
Beitragsrichtlinien
Beitrags-Workflow
- Repository forken
- Feature-Branch erstellen (
git checkout -b feature/amazing-feature
) - Änderungen vornehmen
- Tests für neue Funktionen hinzufügen
- Änderungen committen (
git commit -m 'Add amazing feature'
) - Auf den Branch pushen (
git push origin feature/amazing-feature
) - Pull Request einreichen
Entwicklungsrichtlinien
- PEP 8 Stilrichtlinien befolgen
- Tests für neue Funktionen hinzufügen
- Dokumentation bei Bedarf aktualisieren
- Typ-Hinweise angemessen verwenden
- Sicherstellen, dass alle Tests vor dem Commit bestanden werden
Systemanforderungen
- Python 3.12+
- OpenAI API Key (für OpenAI-Modelle)
- Anthropic API Key (für Anthropic-Modelle)
Fehlerbehebung
Importfehler
# PYTHONPATH versuchen einzustellen
PYTHONPATH=. trae-cli run "your task"
API Key-Probleme
# Überprüfen, ob API Keys gesetzt sind
echo $OPENAI_API_KEY
echo $ANTHROPIC_API_KEY
# Konfiguration überprüfen
trae show-config
Berechtigungsfehler
# Sicherstellen, dass die entsprechenden Berechtigungen für Dateivorgänge vorhanden sind
chmod +x /path/to/your/project