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

Trae

Introducción general

Arrakis 是一个专为 AI 智能体设计,提供安全、可自定义的沙盒环境。它由 Abhishek Bhardwaj 开发,托管在 GitHub 上,使用 AGPL v3 许可证。Arrakis 通过轻量级虚拟机(MicroVM)技术隔离 AI 代码,确保主机安全。每个沙盒内置 Ubuntu 系统,启动时自带代码执行服务和 VNC 服务器,支持图形界面操作。工具提供 Python SDK 和 REST API,方便开发者管理沙盒。它还支持快照和回溯功能,AI 出错时可恢复到之前状态。Arrakis 适合需要安全运行代码或测试多步流程的开发者。

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

 

Lista de funciones

  • 安全隔离:使用 MicroVM 技术隔离 AI 代码,保护主机和其他任务。
  • 快照与回溯:支持保存沙盒状态并恢复,方便 AI 测试多步任务。
  • Python SDK:提供 py-arrakis,可编程控制沙盒。
  • REST API:通过 arrakis-restserver 提供接口,管理沙盒。
  • 图形界面:每个沙盒内置 VNC 服务器和 Chrome,支持 GUI 操作。
  • 网络配置:自动设置网络,支持端口转发和 SSH 访问。
  • 自定义环境:通过 Dockerfile 调整沙盒软件和配置。
  • MCP 兼容:支持 MCP 客户端(如 Claude Desktop),便于集成。

 

Utilizar la ayuda

Arrakis 的安装和使用需要一些步骤。以下是详细说明,帮你快速上手。

Proceso de instalación

  1. 检查系统要求
    Arrakis 只支持 Linux 系统,因为它依赖 /dev/kvm 虚拟化。你可以用命令检查虚拟化支持:
stat /dev/kvm

如果返回错误,说明主机不支持,需要启用虚拟化。

  1. 下载安装
    在 Linux 上运行以下命令下载预构建文件:
curl -sSL https://raw.githubusercontent.com/abshkbh/arrakis/main/setup/setup.sh | bash

下载后会生成 arrakis-prebuilt 文件夹,包含二进制文件和镜像。

  1. 启动 REST 服务器
    进入文件夹并启动服务:
cd arrakis-prebuilt
sudo ./arrakis-restserver

服务默认运行在 127.0.0.1:7000。需要 sudo 因为涉及虚拟机管理。

  1. 安装 Python SDK(可选)
    如果想用 Python 控制沙盒,安装 SDK:
pip install py-arrakis

Funciones principales

创建沙盒

  • 用 CLI
    创建一个沙盒:
./arrakis-client start -n my-sandbox

返回沙盒的 IP 和状态信息。

  • 用 Python
    用 SDK 创建:
from arrakis_client import SandboxManager
manager = SandboxManager('http://127.0.0.1:7000')
sandbox = manager.start_sandbox('my-sandbox')
print(sandbox.info())

运行代码

  • CLI 方式
    在沙盒中执行命令:

    ./arrakis-client run -n my-sandbox --cmd "echo Hello World"
    
  • Python 方式
    用 SDK 运行:

    sandbox.run_cmd('echo Hello World')
    

    输出会返回到终端。

使用图形界面

每个沙盒启动时自带 VNC 服务器和 Chrome。获取连接信息:

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

    返回类似 port_forwards: [{'host_port': '3000', 'guest_port': '5901', 'description': 'gui'}].

  • 用 Python:
    print(sandbox.info()['port_forwards'])
    
  • 连接 VNC:
    用 VNC 客户端(如 noVNC)连接 主机IP:3000,即可看到图形界面。

快照与回溯

  • 保存快照
    用 CLI:

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

    用 Python:

    snapshot_id = sandbox.snapshot('snap1')
    
  • 恢复快照
    先销毁沙盒:

    ./arrakis-client destroy -n my-sandbox
    

    再恢复:

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

    或用 Python:

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

自定义沙盒

  1. 找到 rootfs/Dockerfile.
  2. 编辑添加软件,例如:
    RUN apt-get update && apt-get install -y vim
    
  3. 重启沙盒:
    ./arrakis-client start -n my-sandbox --rootfs custom-rootfs
    

SSH 访问

每个沙盒支持 SSH:

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

    返回类似 ip: "10.20.1.2/24".

  • 登录:
    ssh elara@10.20.1.2
    

    默认用户 elara,密码 elara0000.

操作流程示例

想让 AI 在沙盒中写文件并测试回溯:

  1. 启动沙盒:
    ./arrakis-client start -n test-sandbox
    
  2. Ejecutar comando:
    ./arrakis-client run -n test-sandbox --cmd "echo '第一步' > /tmp/test.txt"
    
  3. 保存快照:
    ./arrakis-client snapshot -n test-sandbox -o step1
    
  4. 修改文件:
    ./arrakis-client run -n test-sandbox --cmd "echo '第二步' > /tmp/test.txt"
    
  5. 恢复快照:
    ./arrakis-client destroy -n test-sandbox
    ./arrakis-client restore -n test-sandbox --snapshot step1
    
  6. 检查文件:
    ./arrakis-client run -n test-sandbox --cmd "cat /tmp/test.txt"
    

    输出应为 第一步.

更多细节请查看 GitHub 的 README.md.

 

escenario de aplicación

  1. AI 代码调试
    开发者用 Arrakis 运行不可信代码,隔离风险。出错后回溯,检查问题。
  2. 教学实验
    老师搭建沙盒给学生练习 AI 编程,学生可随意操作,不影响主机。
  3. 多步任务测试
    企业用 Arrakis 测试 AI 自动化流程,如网页操作或文件处理,支持快照恢复。

 

CONTROL DE CALIDAD

  1. Arrakis 支持 Windows 吗?
    不支持,目前只在 Linux 上运行,因为依赖 cloud-hypervisor.
  2. 如何停止沙盒?
    gasto o desembolso ./arrakis-client stop -n 名称 停止,或 destroy 删除。
  3. 快照占多少空间?
    取决于沙盒内容,通常几百 MB。建议清理不用的快照。
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

ninguno
Sin comentarios...