Arrakis架构深度剖析:REST API与MCP服务器如何协同工作
Arrakis架构深度剖析:REST API与MCP服务器如何协同工作
【免费下载链接】arrakisA fully customizable and self-hosted sandboxing solution for AI agent code execution and computer use. It features out-of-the-box support for backtracking, a simple REST API and Python SDK, automatic port forwarding, and secure MicroVM isolation. Perfect for safely running, testing, and backtracking multi-step agent workflows.项目地址: https://gitcode.com/gh_mirrors/arra/arrakis
Arrakis是一款完全可定制的自托管沙箱解决方案,专为AI代理代码执行和计算机使用而设计。它提供了开箱即用的回溯支持、简单的REST API和Python SDK、自动端口转发以及安全的MicroVM隔离,非常适合安全地运行、测试和回溯多步骤代理工作流。
核心架构概览:REST API与MCP服务器的协同设计
Arrakis的架构围绕REST API和MCP服务器构建,实现了高效的资源管理和安全隔离。以下是其核心组件的协同工作方式:
REST API层:用户交互的统一入口
REST API是用户与Arrakis系统交互的主要方式,通过标准化的HTTP接口提供对MicroVM的全生命周期管理。Arrakis REST服务器实现于cmd/restserver/main.go,提供了丰富的API端点:
- VM生命周期管理:创建、启动、停止、暂停、恢复和销毁VM
- 状态监控:列出所有VM或特定VM的详细信息
- 高级操作:创建快照、执行命令、文件上传/下载
- 系统健康检查:提供负载均衡器监控的健康状态端点
API版本控制确保了向后兼容性,当前版本定义为v1,所有端点均以/v1/前缀开头。
MCP服务器:资源分配与隔离的核心
MCP(MicroVM Control Plane)服务器是Arrakis架构的核心,负责实际的MicroVM创建、管理和资源分配。它通过以下关键组件实现高效的资源管理:
- CID分配器:管理容器ID的分配与释放
- IP分配器:处理虚拟网络的IP地址管理
- 端口分配器:协调端口转发和网络访问
- Fountain服务:提供MicroVM的配置和初始化支持
这些组件协同工作,确保每个MicroVM都能安全隔离地运行,并高效利用系统资源。
关键工作流程:从API请求到VM实例化
Arrakis的REST API与MCP服务器协同工作,实现了从用户请求到MicroVM实例化的完整流程:
- 请求接收:REST服务器通过cmd/restserver/main.go中定义的路由处理HTTP请求
- 参数验证:API层验证请求参数的合法性和完整性
- 资源分配:MCP服务器的分配器组件为新VM分配必要的资源
- VM创建:通过
server.NewServer初始化VM服务器并创建MicroVM - 状态响应:API返回VM创建结果和访问信息
以创建VM为例,客户端发送POST请求到/v1/vms端点,REST服务器调用startVM处理函数,最终由MCP服务器完成实际的VM创建和资源分配。
安全隔离:MicroVM技术的实现
Arrakis利用Linux内核的KVM技术实现MicroVM的安全隔离,每个VM运行在独立的内核空间,通过/dev/kvm设备与主机系统交互。这种架构提供了:
- 强隔离性:每个VM拥有独立的虚拟CPU、内存和存储
- 资源限制:可精确控制每个VM的CPU、内存和网络带宽
- 快速启动:利用轻量级虚拟化技术实现秒级VM启动
- 自动端口转发:简化VM与外部网络的安全通信
实际应用:如何利用API与MCP服务器
Arrakis提供了多种方式与REST API和MCP服务器交互:
1. 命令行客户端
通过arrakis-client可以直接与REST API交互,执行各种VM管理操作。
2. Python SDK
arrakis-py-sdk提供了更高级的抽象,简化了与API的交互,适合集成到Python应用中。
3. 直接API调用
开发人员可以直接调用REST API,实现自定义的VM管理逻辑。例如,创建VM的API请求:
POST /v1/vms { "vmName": "my-vm", "cpuCount": 2, "memoryMB": 2048 }结语:Arrakis架构的优势与未来发展
Arrakis的REST API与MCP服务器协同架构为AI代理代码执行提供了安全、高效的沙箱环境。其主要优势包括:
- 灵活性:完全可定制的VM配置满足不同应用场景需求
- 安全性:基于MicroVM的强隔离保护主机系统安全
- 易用性:简洁的API和SDK降低开发和集成门槛
- 可扩展性:模块化设计支持功能扩展和性能优化
随着AI代理技术的发展,Arrakis将继续优化其架构,提供更强大的功能和更好的性能,成为AI代理安全执行的首选平台。
要开始使用Arrakis,您可以通过以下命令克隆仓库:
git clone https://gitcode.com/gh_mirrors/arra/arrakis然后参考项目文档中的安装指南,快速搭建您自己的Arrakis环境。
【免费下载链接】arrakisA fully customizable and self-hosted sandboxing solution for AI agent code execution and computer use. It features out-of-the-box support for backtracking, a simple REST API and Python SDK, automatic port forwarding, and secure MicroVM isolation. Perfect for safely running, testing, and backtracking multi-step agent workflows.项目地址: https://gitcode.com/gh_mirrors/arra/arrakis
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考