OpenHands Projekt – Detaillierte Beschreibung
Projektübersicht
OpenHands (ehemals OpenDevin) ist eine KI-gesteuerte Plattform für Softwareentwicklungsagenten. Dieses Open-Source-Projekt zielt darauf ab, KI-Agenten zu erstellen, die wie menschliche Entwickler arbeiten können und über umfassende Entwicklungsfähigkeiten verfügen, wie z. B. das Ändern von Code, das Ausführen von Befehlen, das Durchsuchen von Webseiten und das Aufrufen von APIs.
Kernfunktionen
🤖 Agentenfähigkeiten
- Code-Änderung: Kann vorhandene Codebasen verstehen und ändern
- Befehlsausführung: Kann verschiedene Systembefehle und Skripte ausführen
- Web-Browsing: Besitzt die Fähigkeit, Webseiten zu durchsuchen, um Informationen zu erhalten
- API-Aufruf: Kann verschiedene externe API-Schnittstellen aufrufen
- Code-Anleihe: Kann sogar Code-Snippets von Websites wie StackOverflow kopieren
🌐 Vielfältige Bereitstellungsmethoden
- Cloud-Service: Bietet OpenHands Cloud-Service, neue Benutzer erhalten ein kostenloses Guthaben von 50 US-Dollar
- Lokale Docker-Bereitstellung: Unterstützt die Ausführung über Docker auf dem lokalen System
- Headless-Modus: Unterstützt die skriptgesteuerte Headless-Modus-Ausführung
- Befehlszeilenschnittstelle: Bietet eine benutzerfreundliche CLI-Interaktion
- GitHub Action: Kann über GitHub Action auf markierten Issues ausgeführt werden
🔧 Technische Merkmale
- Multi-LLM-Unterstützung: Unterstützt verschiedene große Sprachmodelle, es wird Anthropic's Claude 3.7 Sonnet empfohlen
- Docker-Containerisierung: Vollständig basierend auf einer sicheren Docker-Sandbox-Umgebung
- Dateisystemverbindung: Kann für die Entwicklung mit dem lokalen Dateisystem verbunden werden
- Community-getrieben: Open-Source-Community-getriebenes Projekt, Beiträge sind willkommen
Schnellstart
Cloud-Bereitstellung
Besuchen Sie OpenHands Cloud, um loszulegen. Neue Benutzer erhalten ein kostenloses Guthaben von 50 US-Dollar.
Lokale Docker-Bereitstellung
# Runtime-Image abrufen
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.36-nikolaik
# OpenHands ausführen
docker run -it --rm --pull=always \
-e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.36-nikolaik \
-e LOG_ALL_EVENTS=true \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/.openhands-state:/.openhands-state \
-p 3000:3000 \
--add-host host.docker.internal:host-gateway \
--name openhands-app \
docker.all-hands.dev/all-hands-ai/openhands:0.36
Nach dem Start können Sie es unter http://localhost:3000 verwenden.
Systemanforderungen und Konfiguration
LLM-Modellkonfiguration
- Empfohlenes Modell: Anthropic's Claude 3.7 Sonnet (
anthropic/claude-3-7-sonnet-20250219
)
- Unterstützt verschiedene Modelle: Siehe LLM-Dokumentation
- API-Schlüssel: Die entsprechenden API-Schlüssel müssen konfiguriert werden
Sicherheitshinweise
- Geeignet für die Verwendung auf lokalen Einzelbenutzer-Workstations
- Nicht geeignet für die Bereitstellung mit mehreren Mandanten
- Keine integrierten Authentifizierungs- und Isolationsmechanismen
- Für die Bereitstellung in öffentlichen Netzwerken muss die Anleitung zur sicheren Bereitstellung beachtet werden
Erweiterte Funktionen
Entwicklerfunktionen
- Quellcode-Änderung: Unterstützt die Änderung des OpenHands-Quellcodes, siehe
Development.md
- Fehlerbehebung: Bietet eine detaillierte Anleitung zur Fehlerbehebung
- Erweiterte Konfiguration: Unterstützt verschiedene erweiterte Konfigurationsoptionen
Integrationsfähigkeiten
- Dateisystemintegration: Kann mit dem lokalen Dateisystem verbunden werden
- GitHub-Integration: Unterstützt die GitHub Action-Automatisierung
- API-Integration: Umfangreiche API-Aufruffähigkeiten
Technische Architektur
Kernkomponenten
- Agenten-Engine: Kern-KI-Inferenz- und Entscheidungs-Engine
- Sandbox-Umgebung: Sichere Code-Ausführungsumgebung
- Schnittstellenschicht: Unterstützt verschiedene Interaktionsmethoden wie Web UI, CLI, API usw.
- Plugin-System: Erweiterbare Plugin-Architektur
Open-Source-Ökosystem
- MIT-Lizenz: Open-Source-freundliche Lizenz
- Abhängigkeitsprojekte: Basiert auf mehreren Open-Source-Projekten
- Danksagungsdatei: Siehe
CREDITS.md
für alle Abhängigkeitsprojekte
Projekt-Roadmap
Die Projektbetreuer aktualisieren jeden Monat die monatliche Roadmap, um die Entwicklungsrichtung und -pläne des Projekts aufzuzeigen.
Akademische Zitation
Wenn Sie das Projekt in einer akademischen Arbeit zitieren möchten, verwenden Sie bitte das folgende Format:
@misc{openhands,
title={{OpenHands: An Open Platform for AI Software Developers as Generalist Agents}},
author={Xingyao Wang and Boxuan Li and Yufan Song and Frank F. Xu and Xiangru Tang and Mingchen Zhuge and Jiayi Pan and Yueqi Song and Bowen Li and Jaskirat Singh and Hoang H. Tran and Fuqiang Li and Ren Ma and Mingzhang Zheng and Bill Qian and Yanjun Shao and Niklas Muennighoff and Yizhe Zhang and Binyuan Hui and Junyang Lin and Robert Brennan and Hao Peng and Heng Ji and Graham Neubig},
year={2024},
eprint={2407.16741},
archivePrefix={arXiv},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2407.16741},
}
Zusammenfassung
OpenHands repräsentiert die Spitze der KI-gestützten Softwareentwicklung, indem es eine vollständige KI-Entwicklungsagentenplattform bereitstellt, die es Entwicklern ermöglicht, verschiedene Programmieraufgaben effizienter zu erledigen. Ob Einzelentwickler oder Unternehmensteams, mit OpenHands können Sie den Komfort der KI-gesteuerten automatisierten Entwicklung erleben.
