AI Personal Learning
und praktische Anleitung
CyberKnife-Zeichenspiegel

Arrakis: ein Open-Source-Tool, das eine sichere Sandbox-Umgebung für KI-Intelligenzen bietet

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.

Arrakis: ein Open-Source-Tool zur Bereitstellung einer sicheren Sandbox-Umgebung für KI-Intelligenzen-1


Arrakis: ein Open-Source-Tool zur Bereitstellung einer sicheren Sandbox-Umgebung für KI-Intelligenzen-1

 

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-arrakisSandkasten 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

  1. Ü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.

  1. 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.

  1. 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.

  1. 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:3000Die 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

  1. ausfindig machen. rootfs/Dockerfile.
  2. Bearbeiten, um z. B. Software hinzuzufügen:
    RUN apt-get update && apt-get install -y vim
    
  3. 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 elaraPasswort elara0000.

Beispiel für den Betriebsablauf

Ich versuche, KI dazu zu bringen, Dateien zu schreiben und Backtracking in einer Sandbox zu testen:

  1. Starten Sie den Sandkasten:
    ./arrakis-client start -n test-sandbox
    
  2. Befehl ausführen:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. Speichern Sie den Schnappschuss:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. Ändern Sie die Datei:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. Schnappschüsse wiederherstellen:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. 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

  1. 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.
  2. 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.
  3. 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

  1. Unterstützt Arrakis Windows?
    wird nicht unterstützt und läuft derzeit nur unter Linux aufgrund der Abhängigkeit von der cloud-hypervisor.
  2. Wie kann ich die Sandbox anhalten?
    Kosten oder Aufwand ./arrakis-client stop -n 名称 Anhalten, oder destroy Löschen.
  3. 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.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " Arrakis: ein Open-Source-Tool, das eine sichere Sandbox-Umgebung für KI-Intelligenzen bietet
de_DEDeutsch