Arrakis: una herramienta de código abierto que proporciona un entorno seguro para las inteligencias artificiales.

Introducción general

Arrakis es un entorno aislado diseñado para que las inteligencias artificiales proporcionen un entorno seguro y personalizable. Desarrollado por Abhishek Bhardwaj y alojado en GitHub bajo la licencia AGPL v3, Arrakis aísla el código de IA y asegura el host a través de la tecnología MicroVM. Cada sandbox tiene Ubuntu incorporado, arranca con su propio servicio de ejecución de código y servidor VNC, y soporta una interfaz gráfica. La herramienta proporciona Python SDK y REST API para facilitar a los desarrolladores la gestión del sandbox. También es compatible con instantáneas y backtracking, lo que permite a la IA volver a un estado anterior en caso de error.Arrakis es ideal para desarrolladores que necesitan ejecutar código de forma segura o probar procesos de múltiples pasos.

Arrakis:为AI智能体提供安全沙盒环境的开源工具Arrakis:为AI智能体提供安全沙盒环境的开源工具

 

Lista de funciones

  • aislamiento seguro: Utiliza la tecnología MicroVM para aislar el código de IA y proteger los hosts y otras tareas.
  • Instantáneas y retrocesoSoporte para guardar el estado del sandbox y restaurarlo, facilitando las pruebas de IA de tareas multipaso.
  • SDK de Python: Provided py-arrakis, caja de arena de control programable.
  • API REST: a través de arrakis-restserver Proporcionar interfaces para gestionar el sandbox.
  • Interfaz gráfica de usuario (GUI) (informática)Cada sandbox tiene incorporado un servidor VNC y Chrome con soporte GUI.
  • Configuración de la redConfiguración automática de la red con soporte para redireccionamiento de puertos y acceso SSH.
  • Entornos personalizados: a través de Dockerfile Ajuste el software y la configuración de la caja de arena.
  • Compatible con MCP: Apoyo MCP Clientes (por ejemplo Claude Desktop) para facilitar la integración.

 

Utilizar la ayuda

La instalación y utilización de Arrakis requiere unos pocos pasos. Aquí tienes instrucciones detalladas que te ayudarán a empezar rápidamente.

Proceso de instalación

  1. Comprobar los requisitos del sistema
    Arrakis sólo es compatible con sistemas Linux, ya que se basa en la aplicación /dev/kvm Virtualización. Puede comprobar la compatibilidad con la virtualización con el comando:
stat /dev/kvm

Si se devuelve un error, el host no es compatible y es necesario activar la virtualización.

  1. descargar e instalar
    Ejecute el siguiente comando en Linux para descargar el archivo precompilado:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash

La descarga genera arrakis-prebuilt que contiene los binarios y las imágenes.

  1. Inicio del servidor REST
    Vaya a la carpeta e inicie el servicio:
cd arrakis-prebuilt
sudo ./arrakis-restserver

El servicio se ejecuta por defecto en el 127.0.0.1:7000. Necesita sudo en lo que respecta a la gestión de máquinas virtuales.

  1. Instalación del SDK de Python (opcional)
    Si quieres controlar el sandbox con Python, instala el SDK:
pip install py-arrakis

Funciones principales

Crear una caja de arena

  • Uso de la CLI
    Crea una caja de arena:
./arrakis-client start -n my-sandbox

Devuelve información sobre la IP y el estado del sandbox.

  • Uso de Python
    Creado con el SDK:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())

código en ejecución

  • Método CLI
    Ejecutar comandos en el sandbox:

    ./arrakis-client run -n my-sandbox --cmd "echo Hello World"
    
  • Vía Python
    Ejecútalo con el SDK:

    sandbox.run_cmd('echo Hello World')
    

    La salida se devuelve al terminal.

Uso de la interfaz gráfica

Cada sandbox se inicia con su propio servidor VNC y Chrome. obtener información de conexión:

  • Utiliza la CLI:
    ./arrakis-client info -n my-sandbox
    

    Devuelve algo como port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}].

  • Usa Python:
    print(sandbox.info()['port_forwards'])
    
  • Conecta el VNC:
    Conexión con un cliente VNC (por ejemplo, noVNC) 主机IP:3000Se puede ver la interfaz gráfica.

Instantáneas y retroceso

  • Guardar instantánea
    Utiliza la CLI:

    ./arrakis-client snapshot -n my-sandbox -o snap1
    

    Usa Python:

    snapshot_id = sandbox.snapshot('snap1')
    
  • Restaurar instantánea
    Destruye primero la caja de arena:

    ./arrakis-client destroy -n my-sandbox
    

    Reincorporación:

    ./arrakis-client restore -n my-sandbox --snapshot snap1
    

    O con Python:

    sandbox.destroy()
    sandbox = manager.restore('my-sandbox', snapshot_id)
    

Cajas de arena personalizadas

  1. localice rootfs/Dockerfile.
  2. Editar para añadir software, por ejemplo:
    RUN apt-get update && apt-get install -y vim
    
  3. Reinicie el sandbox:
    ./arrakis-client start -n my-sandbox --rootfs custom-rootfs
    

Acceso SSH

Cada sandbox soporta SSH:

  • Conseguir IP:
    ./arrakis-client info -n my-sandbox
    

    Devuelve algo como ip: "10.20.1.2/24".

  • Entra:
    ssh elara@10.20.1.2
    

    usuario por defecto elaraContraseña elara0000.

Ejemplo de flujo de operaciones

Intentando que la IA escriba archivos y pruebe el backtracking en un sandbox:

  1. Inicie la caja de arena:
    ./arrakis-client start -n test-sandbox
    
  2. Ejecutar comando:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. Guarda la instantánea:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. Modifica el archivo:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. Restaurar instantáneas:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. Comprueba el archivo:
    ./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
    

    La salida debe ser 第一步.

Para más información, consulte la página de GitHub README.md.

 

escenario de aplicación

  1. Depuración de código de IA
    Los desarrolladores ejecutan código no fiable con Arrakis para aislar el riesgo. Retrocede tras los errores para comprobar si hay problemas.
  2. experimento didáctico
    El profesor construye una caja de arena para que los alumnos practiquen la programación de IA, y éstos pueden manipularla a su antojo sin afectar al ordenador central.
  3. pruebas de tareas multietapa
    Las empresas utilizan Arrakis para probar procesos automatizados de IA, como operaciones web o procesamiento de archivos, con soporte para recuperación de instantáneas.

 

CONTROL DE CALIDAD

  1. ¿Arrakis es compatible con Windows?
    no está soportado y actualmente sólo se ejecuta en Linux debido a la dependencia de la aplicación cloud-hypervisor.
  2. ¿Cómo detengo el sandbox?
    gasto o desembolso ./arrakis-client stop -n 名称 Parar, o destroy Borrar.
  3. ¿Cuánto espacio ocupa una instantánea?
    Dependiendo del contenido del sandbox, normalmente unos cientos de MB. se recomienda limpiar las instantáneas no utilizadas.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...