项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1144
使用教程
环境要求
- Python 环境,且 pip 可用(README 示例镜像为 python:3.9.19-bullseye)
- 使用 Docker 后端时需本机可用的 Docker 守护进程
- 使用 Podman 后端时需本机可用的 Podman(rootless 容器)
- 使用 Kubernetes 后端时需可访问的集群与 kubeconfig 文件
安装与启动步骤
-
1安装核心库
安装 llm-sandbox 基础包,这是所有用法(SandboxSession、Pool 等)的前提。
pip install llm-sandbox -
2安装 Docker 支持
Docker 是最常用的后端,需要额外安装 docker 可选依赖,否则无法创建容器沙箱。
pip install 'llm-sandbox[docker]' -
3运行首个沙箱
用 SandboxSession 创建 python 语言沙箱并执行代码;退出 with 块时自动清理沙箱资源。
from llm_sandbox import SandboxSession with SandboxSession(lang="python") as session: result = session.run("print('Hello, World!')") print(result) -
4安装 MCP 支持
若要给 Claude Desktop 等 MCP 客户端提供代码执行能力,安装带 mcp 与 docker 的依赖组合。
pip install 'llm-sandbox[mcp-docker]' -
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开发模式安装
如需参与开发或改源码,克隆仓库后用 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
同类项目推荐
SLA
开源
让视频生成模型推理更快,画质不掉线
SLA: Beyond Sparsity in Diffusion Transformers via Fine-Tunable Sparse–Linear Atten···
ZETIC_Melange_apps
开源
在手机上用NPU跑AI,又快又省电
NPU powered On-device AI Mobile applications using Melange
PowerInfer
开源
让普通电脑也能飞快跑大模型,省显存不减速
High-speed Large Language Model Serving for Local Deployment
delta-Mem
开源
让大模型边聊边记,长对话不再爆显存
The official repo of the paper: $delta$-mem: Efficient Online Memory for Large Langu···
RuVector
开源
用 Rust 打造的实时自学习向量图数据库,让 AI 记忆更聪明。
RuVector provides High Performance, Real-Time decisions and agent memory , Self-Lear···
azure-enterprise-scale-ml
开源
在Azure上快速搭建合规的企业级AI平台,省心又安全
Enterprise Scale Azure Factory (ESAF) - on Azure
ttsim
开源
无芯片也能跑 Tenstorrent 全系统仿真
A fast full-system simulator of Tenstorrent hardware
k8m
开源
给 K8s 配个 AI 助手,一句话搞定集群运维
一款轻量级、跨平台的 Mini Kubernetes AI Dashboard,支持大模型+智能体+MCP(支持设置操作···
hordelib
开源
把 ComfyUI 封装成简单接口,让 AI Horde 轻松调用生成图像。
A wrapper around ComfyUI to allow use by the AI Horde.
