microsandbox 是一款自托管平台,能安全执行不可信的用户代码或AI生成的代码。

1、硬件级隔离:借助微型虚拟机(microVMs)实现强隔离,避免恶意代码威胁宿主系统。

2、快速启动:启动时间控制在200毫秒以内,相比传统虚拟机超过10秒以上的启动速度,启动速度大幅提升。

3、自主可控:支持自托管模式,用户能完全掌控自己的基础设施。

4、兼容性强:与OCI标准容器镜像兼容,方便集成现有的容器化工作流。

5、AI友好:内置MCP协议支持,能直接与Claude、Agno等AI工具无缝协作。

模块名称 功能描述 近期主要更新
microsandbox-core 核心运行时引擎 降级MCP协议版本,移除未使用依赖(#244)
microsandbox-server 服务端组件 添加--host支持(#253)
microsandbox-cli 命令行工具 添加--host支持(#253)
microsandbox-portal 管理门户 降级MCP协议版本,移除未使用依赖(#244)
sdk 软件开发工具包 增强CLI参考文档与MCP协议说明(#241)
docs 文档资源 重构云托管指南至独立文件(#228)

microsandbox安装和使用

服务端启动

1、安装平台:通过curl命令一键安装

curl -sSL https://get.microsandbox.dev | sh

2、启动服务:执行开发模式启动命令

msb server start --dev

提示:服务端同时兼容MCP协议,可直接对接AI工具。

3、拉取环境镜像(可选):

msb pull microsandbox/python

SDK集成

Python

import asyncio
from microsandbox import PythonSandbox

async def main():
    async with PythonSandbox.create(name="test") as sb:
        exec = await sb.run("name = 'Python'")
        exec = await sb.run("print(f'Hello {name}!')")
    print(await exec.output())  # 输出:Hello Python!

asyncio.run(main())

JavaScript

import { NodeSandbox } from "microsandbox";

async function main() {
  const sb = await NodeSandbox.create({ name: "test" });
  try {
    let exec = await sb.run("var name = 'JavaScript'");
    exec = await sb.run("console.log(`Hello ${name}!`)");
    console.log(await exec.output()); // 输出:Hello JavaScript!
  } finally {
    await sb.stop();
  }
}

main().catch(console.error);

Rust

use microsandbox::{SandboxOptions, PythonSandbox};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut sb = PythonSandbox::create(SandboxOptions::builder().name("test").build()).await?;
    let exec = sb.run(r#"name = "Python""#).await?;
    let exec = sb.run(r#"print(f"Hello {name}!")"#).await?;
    println!("{}", exec.output().await?); // 输出:Hello Python!
    sb.stop().await?;
    Ok(())
}
microsandbox 开发模式

microsandbox支持类似npm/cargo的项目管理流程:

1、初始化项目:

msb init

生成Sandboxfile配置文件。 2、添加沙箱环境:

msb add app \
    --image python \
    --cpus 1 \
    --memory 1024 \
    --start 'python -c "print(\"hello\")"'

3、运行沙箱:

• 执行默认脚本:msb run --sandbox appmsr app

• 执行指定脚本:msr app~start

4、沙箱临时使用:

用于一次性任务,退出后自动清理环境:

msb exe --image pythonmsx python

5、沙箱全局安装:

将沙箱注册为系统命令:

msb install --image alpinemsi alpine

启动命令:alpine

应用场景

开发和编码

AI代理可在安全沙箱内完成从代码生成、依赖安装到测试运行的全流程操作。例如创建React应用:

git init task-tracker
cd task-tracker
npm create vite@latest --template react-ts
npm install
npm run dev

应用场景:AI结对编程、编程教育平台、自动化代码生成。

数据分析处理

通过沙箱隔离运行数据处理任务,保障数据隐私:

import pandas as pd
sales_data = pd.read_csv('q2_sales.csv')
monthly_growth = sales_data.groupby('month')['revenue'].sum()

输出结果: • Q2整体增长24.7%,东部地区表现突出 • 移动设备购买转化率最高(18.4%) 适用领域:金融分析、医疗研究、隐私数据处理。

网页浏览和自动化处理

AI可在沙箱内安全访问网络,实现价格比较、数据抓取等功能:

# 模拟电商比价场景
retailers = ['TechStore', 'BestDeal', 'OnlineMart']
for retailer in retailers:
    products = scrape(retailer, 'laptops under $1000')
    filter_by_price(products, 1000)

应用案例:价格比较工具、内容聚合器、自动化测试。

应用部署

支持快速部署AI生成的应用,并生成可分享链接:

# 部署天气应用示例
msb deploy weather-app --image node:18
# 生成访问链接:https://msbl.ink/w37x9f

特点:2.3秒快速部署,自动资源清理,适合教育平台、Demo演示。

microsandbox 技术架构

microsandbox 采用客户端-服务端-微虚拟机三层架构:

flowchart TB
    %% 客户端层
    subgraph 客户端进程
        业务逻辑 --> SDK调用
    end

    %% 服务端层
    subgraph 服务端进程
        SDK请求 --> 服务端处理
    end

    %% 微虚拟机层
    subgraph 微虚拟机集群
        服务端调度 --> python环境
        服务端调度 --> node环境
        服务端调度 --> ruby环境
    end

客户端:通过SDK发起代码执行请求

服务端:负责接收请求、管理微虚拟机实例

微虚拟机:每个环境独立运行,提供硬件级隔离