llm-sandbox

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 107 🐛 待处理 26 👀 关注 3
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1144
维护状态 活跃
是否开源 开源
定价模式 🏷️完全免费 开源 Python 库,MIT 许可证,完全免费,可自行部署使用。

项目预览

llm-sandbox 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队vndee
定价模式🏷️完全免费
价格说明开源 Python 库,MIT 许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型code-generation,code-interpreter,large-language-models,llm-sandbox
GitHub 星标★ 1144
上线时间2024-06-27 00:00:00
代码更新2026-11-06
仓库体积9.8 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数4

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1144

使用教程

难度:入门 约 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

关键配置

配置项必填说明示例
BACKEND是MCP 服务端使用的沙箱后端,可选 docker、podman、kubernetes。docker
DOCKER_HOST否Docker/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

上一篇:xllm

下一篇:xgrammar

同类项目推荐

SLA 开源

让视频生成模型推理更快,画质不掉线

SLA: Beyond Sparsity in Diffusion Transformers via Fine-Tunable Sparse–Linear Atten···

★ 553 2026-08-09
ZETIC_Melange_apps 开源

在手机上用NPU跑AI,又快又省电

NPU powered On-device AI Mobile applications using Melange

★ 69 2026-08-09
PowerInfer 开源

让普通电脑也能飞快跑大模型,省显存不减速

High-speed Large Language Model Serving for Local Deployment

★ 9874 2026-08-09
delta-Mem 开源

让大模型边聊边记,长对话不再爆显存

The official repo of the paper: $delta$-mem: Efficient Online Memory for Large Langu···

★ 269 2026-10-05
RuVector 开源

用 Rust 打造的实时自学习向量图数据库,让 AI 记忆更聪明。

RuVector provides High Performance, Real-Time decisions and agent memory , Self-Lear···

★ 4675 2026-08-10
ttsim 开源

无芯片也能跑 Tenstorrent 全系统仿真

A fast full-system simulator of Tenstorrent hardware

★ 28 2026-11-08
k8m 开源

给 K8s 配个 AI 助手,一句话搞定集群运维

一款轻量级、跨平台的 Mini Kubernetes AI Dashboard,支持大模型+智能体+MCP(支持设置操作···

★ 893 2026-08-09
hordelib 开源

把 ComfyUI 封装成简单接口,让 AI Horde 轻松调用生成图像。

A wrapper around ComfyUI to allow use by the AI Horde.

★ 72 2026-08-09