llm-sandbox

给 LLM 一个安全的代码沙箱,跑 AI 生成的代码不翻车

llm-sandbox 是一个轻量级、可移植的 LLM 沙箱运行时(代码解释器)Python 库。它解决了在大语言模型应用中安全执行 AI 生成代码的问题,为模型提供隔离的代码运行环境,防止恶意或错误代码对宿主系统造成损害。核心能力包括:支持多种沙箱后端(如 Docker、Firecracker 等),提供统一的 Python API 接口,方便集成到现有 LLM 工作流中;自动管理沙箱生命周期,简化资源清理;支持文件系统隔离、网络限制和资源配额控制,确保执行安全。该项目设计简洁,依赖少,易于部署,适合作为 AI Agent 或聊天机器人的代码执行组件。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1124
维护状态 活跃
是否开源
定价模式 free

项目数据

分类开源模型
开发团队vndee
所属国家
定价模式free
价格说明开源 Python 库,MIT 许可证,完全免费,可自行部署使用。
访问状态
是否开源
开源协议MIT
主要语言Python
技术栈/模型code-generation,code-interpreter,large-language-models,llm-sandbox
GitHub 星标★ 1124
30天Star增速
HF 下载量
上线时间2024-06-27 00:00:00
最近更新2026-09-21 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 环境,且 pip 可用(README 示例镜像为 python:3.9.19-bullseye)
  • 使用 Docker 后端时需本机可用的 Docker 守护进程
  • 使用 Podman 后端时需本机可用的 Podman(rootless 容器)
  • 使用 Kubernetes 后端时需可访问的集群与 kubeconfig 文件

安装与启动步骤

  1. 1安装核心库

    安装 llm-sandbox 基础包,这是所有用法(SandboxSession、Pool 等)的前提。

    pip install llm-sandbox
  2. 2安装 Docker 支持

    Docker 是最常用的后端,需要额外安装 docker 可选依赖,否则无法创建容器沙箱。

    pip install 'llm-sandbox[docker]'
  3. 3运行首个沙箱

    用 SandboxSession 创建 python 语言沙箱并执行代码;退出 with 块时自动清理沙箱资源。

    from llm_sandbox import SandboxSession
    
    with SandboxSession(lang="python") as session:
        result = session.run("print('Hello, World!')")
        print(result)
  4. 4安装 MCP 支持

    若要给 Claude Desktop 等 MCP 客户端提供代码执行能力,安装带 mcp 与 docker 的依赖组合。

    pip install 'llm-sandbox[mcp-docker]'
  5. 5配置 MCP 客户端

    在 MCP 客户端配置文件中注册 llm-sandbox 服务端,通过环境变量指定后端与 Docker 主机。

    {
      "mcpServers": {
        "llm-sandbox": {
          "command": "python3",
          "args": ["-m", "llm_sandbox.mcp_server.server"],
          "env": {
            "BACKEND": "docker",
            "DOCKER_HOST": "unix:///var/run/docker.sock"
          }
        }
      }
    }
  6. 6开发模式安装

    如需参与开发或改源码,克隆仓库后用 make install(uv sync + pre-commit install)安装开发依赖。

    git clone https://github.com/vndee/llm-sandbox.git
    cd llm-sandbox
    make install

关键配置

配置项必填说明示例
BACKENDMCP 服务端使用的沙箱后端,可选 docker、podman、kubernetes。docker
DOCKER_HOSTDocker/Podman 守护进程地址,未自动识别时需手动指定。unix:///var/run/docker.sock
KUBECONFIG使用 Kubernetes 后端时指向 kubeconfig 文件路径。/path/to/kubeconfig
SANDBOX_NETWORK_MODE沙箱网络模式,设为 none 可关闭容器网络访问。none
SANDBOX_READ_ONLY将沙箱文件系统设置为只读,限制写入行为。true

如何确认成功

按示例运行 SandboxSession(lang="python") 并 print 结果,能输出 'Hello, World!' 即表示沙箱启动成功。

常见问题

Q:运行时报错提示没有可用的容器后端怎么办?

A:说明只装了基础包,请补装对应后端依赖,例如 Docker 场景执行 pip install 'llm-sandbox[docker]'。

Q:沙箱里怎么使用 numpy、requests 等第三方库?

A:可在 create_pool_manager 时用 libraries=["requests","numpy"] 预装,或在 session.run 的代码中自行安装依赖。

Q:连不上本机 Docker,提示 socket 找不到?

A:在 MCP 配置的 env 中设置 DOCKER_HOST,例如 unix:///var/run/docker.sock,Podman 则为 unix:///var/run/podman/podman.sock。

Q:如何禁止沙箱代码访问网络?

A:在 MCP 的 env 中设置 SANDBOX_NETWORK_MODE=none,即可把运行时网络模式设为禁用。

Q:MCP 客户端启动服务失败怎么办?

A:确认 command 的 python3 就是安装 llm-sandbox 的解释器,且执行 python3 -m llm_sandbox.mcp_server.server 不报模块缺失。

注意事项

  • README 未给出 Python 最低版本要求,示例镜像使用 python:3.9.19-bullseye,建议对齐该版本。
  • MCP 配置中的 DOCKER_HOST、KUBECONFIG 需替换为你自己环境的真实值。
  • 开发模式安装依赖 uv 与 make,普通使用只需 pip 安装即可。
  • 沙箱代码运行在隔离容器内,请先确保所选后端(Docker/Podman/Kubernetes)已就绪。

核心亮点

  • 轻量级设计,依赖少,安装即用,适合快速集成到 LLM 应用
  • 支持 Docker 和 Firecracker 等多种隔离后端,灵活适配不同安全需求
  • 提供简洁的 Python API,自动管理沙箱生命周期,降低使用门槛

不足之处

  • 文档和社区生态尚在早期,可参考的实践案例有限
  • 沙箱启动和销毁有一定开销,高频调用场景性能可能成为瓶颈

适用场景

  • 在 AI 聊天机器人中安全执行用户请求生成的 Python 代码
  • 作为 AI Agent 的工具,运行模型产出的数据分析或自动化脚本
  • 在开发测试环境中隔离运行不可信代码,防止环境污染

替代项目

E2B、Pyodide、Docker sandbox

项目介绍

llm-sandbox 是基础设施领域的开源项目,由 vndee 开发,2024 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,124)位列前 30%,在基础设施分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,104 增加到 1,124,净增 20。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-21。开源 Python 库,MIT 许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:在AI聊天机器人中安全执行用户请求生成的Python代码。同类可对比的替代方案包括 E2B、Pyodide、Docker sandbox。

上一篇:xllm

下一篇:xgrammar

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09