Allgemeine Einführung
Arrakis ist eine Sandbox-Umgebung für KI-Intelligenzen, die eine sichere, anpassbare Umgebung bietet. Arrakis wurde von Abhishek Bhardwaj entwickelt und auf GitHub unter der AGPL v3-Lizenz gehostet. Arrakis isoliert den KI-Code und sichert den Host durch MicroVM-Technologie. Jede Sandbox hat Ubuntu integriert, startet mit einem eigenen Code-Ausführungsdienst und VNC-Server und unterstützt eine grafische Oberfläche. Das Tool bietet ein Python-SDK und eine REST-API, um Entwicklern die Verwaltung der Sandbox zu erleichtern. Es unterstützt auch Snapshots und Backtracking, so dass die KI im Falle eines KI-Fehlers zu einem früheren Zustand zurückkehren kann.Arrakis ist ideal für Entwickler, die Code sicher ausführen oder mehrstufige Prozesse testen müssen.
Funktionsliste
- sichere IsolierungMicroVM-Technologie zur Isolierung von KI-Code und zum Schutz von Hosts und anderen Aufgaben verwenden.
- Schnappschüsse und BacktrackingUnterstützung für das Speichern und Wiederherstellen des Sandbox-Status, was das Testen von KI-Aufgaben mit mehreren Schritten erleichtert.
- Python-SDK: Vorausgesetzt
py-arrakis
Sandkasten für programmierbare Steuerung. - REST-API: durch
arrakis-restserver
Bereitstellung von Schnittstellen zur Verwaltung der Sandbox. - Grafische Benutzerschnittstelle (GUI) (Computertechnik)Jede Sandbox verfügt über einen integrierten VNC-Server und Chrome mit GUI-Unterstützung.
- Netzwerk-KonfigurationAutomatische Netzwerkeinrichtung mit Unterstützung für Portweiterleitung und SSH-Zugang.
- Maßgeschneiderte Umgebungen: durch
Dockerfile
Passen Sie die Sandbox-Software und die Konfiguration an. - MCP-kompatibel: Unterstützung MCP Kunden (z.B. Claude Desktop) für eine einfache Integration.
Hilfe verwenden
Die Installation und Nutzung von Arrakis erfordert einige Schritte. Hier finden Sie eine detaillierte Anleitung, damit Sie schnell loslegen können.
Einbauverfahren
- Überprüfung der Systemanforderungen
Arrakis wird nur auf Linux-Systemen unterstützt, da es sich auf das/dev/kvm
Virtualisierung. Sie können mit dem Befehl prüfen, ob Virtualisierung unterstützt wird:
stat /dev/kvm
Wenn ein Fehler zurückgegeben wird, wird der Host nicht unterstützt und die Virtualisierung muss aktiviert werden.
- herunterladen und installieren
Führen Sie unter Linux den folgenden Befehl aus, um die vorgefertigte Datei herunterzuladen:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash
Der Download erzeugt arrakis-prebuilt
Ordner mit Binärdateien und Bildern.
- Starten des REST-Servers
Rufen Sie den Ordner auf und starten Sie den Dienst:
cd arrakis-prebuilt
sudo ./arrakis-restserver
Der Dienst läuft standardmäßig auf dem 127.0.0.1:7000
. Benötigt sudo
in Bezug auf die Verwaltung virtueller Maschinen.
- Installation des Python-SDK (optional)
Wenn Sie die Sandbox mit Python steuern möchten, installieren Sie das SDK:
pip install py-arrakis
Hauptfunktionen
Erstellen einer Sandbox
- Verwendung der CLI
Erstellen Sie einen Sandkasten:
./arrakis-client start -n my-sandbox
Gibt IP- und Statusinformationen für die Sandbox zurück.
- Python verwenden
Erstellt mit dem SDK:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())
laufender Code
- CLI-Methode
Führen Sie Befehle in der Sandbox aus:./arrakis-client run -n my-sandbox --cmd "echo Hello World"
- Python Weg
Führen Sie es mit dem SDK aus:sandbox.run_cmd('echo Hello World')
Die Ausgabe wird an das Terminal zurückgegeben.
Verwendung der grafischen Schnittstelle
Jede Sandbox wird mit ihrem eigenen VNC-Server und Chrome gestartet, um Verbindungsinformationen zu erhalten:
- Verwenden Sie die CLI:
./arrakis-client info -n my-sandbox
Gibt etwas zurück wie
port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}]
. - Verwenden Sie Python:
print(sandbox.info()['port_forwards'])
- Verbinden Sie den VNC:
Verbinden mit einem VNC-Client (z.B. noVNC)主机IP:3000
Die grafische Schnittstelle ist zu sehen.
Schnappschüsse und Backtracking
- Schnappschuss speichern
Verwenden Sie die CLI:./arrakis-client snapshot -n my-sandbox -o snap1
Verwenden Sie Python:
snapshot_id = sandbox.snapshot('snap1')
- Snapshot wiederherstellen
Zerstören Sie zuerst den Sandkasten:./arrakis-client destroy -n my-sandbox
Wiedereinsetzung:
./arrakis-client restore -n my-sandbox --snapshot snap1
Oder mit Python:
sandbox.destroy() sandbox = manager.restore('my-sandbox', snapshot_id)
Maßgeschneiderte Sandkästen
- ausfindig machen.
rootfs/Dockerfile
. - Bearbeiten, um z. B. Software hinzuzufügen:
RUN apt-get update && apt-get install -y vim
- Starten Sie die Sandbox neu:
./arrakis-client start -n my-sandbox --rootfs custom-rootfs
SSH-Zugang
Jede Sandbox unterstützt SSH:
- IP erhalten:
./arrakis-client info -n my-sandbox
Gibt etwas zurück wie
ip: "10.20.1.2/24"
. - Einloggen:
ssh elara@10.20.1.2
Standardbenutzer
elara
Passwortelara0000
.
Beispiel für den Betriebsablauf
Ich versuche, KI dazu zu bringen, Dateien zu schreiben und Backtracking in einer Sandbox zu testen:
- Starten Sie den Sandkasten:
./arrakis-client start -n test-sandbox
- Befehl ausführen:
./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
- Speichern Sie den Schnappschuss:
./arrakis-client snapshot -n test-sandbox -o step1
- Ändern Sie die Datei:
./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
- Schnappschüsse wiederherstellen:
./arrakis-client destroy -n test-sandbox ./arrakis-client restore -n test-sandbox --snapshot step1
- Prüfen Sie die Datei:
./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
Die Ausgabe sollte sein
第一步
.
Weitere Details finden Sie auf der GitHub-Seite README.md
.
Anwendungsszenario
- AI-Code-Fehlersuche
Entwickler führen nicht vertrauenswürdigen Code mit Arrakis aus, um Risiken zu isolieren. Backtracking nach Fehlern, um nach Problemen zu suchen. - Lehrversuch
Der Lehrer baut eine Sandbox, in der die Schüler die KI-Programmierung üben können, und die Schüler können sie nach Belieben manipulieren, ohne den Hauptrechner zu beeinträchtigen. - Testen von Mehrschrittaufgaben
Unternehmen nutzen Arrakis zum Testen von automatisierten KI-Prozessen, wie z. B. Weboperationen oder Dateiverarbeitung, mit Unterstützung für Snapshot-Recovery.
QA
- Unterstützt Arrakis Windows?
wird nicht unterstützt und läuft derzeit nur unter Linux aufgrund der Abhängigkeit von dercloud-hypervisor
. - Wie kann ich die Sandbox anhalten?
Kosten oder Aufwand./arrakis-client stop -n 名称
Anhalten, oderdestroy
Löschen. - Wie viel Speicherplatz nimmt ein Schnappschuss in Anspruch?
Je nach Inhalt der Sandbox, in der Regel einige hundert MB, empfiehlt es sich, nicht verwendete Snapshots zu löschen.