Repolode
pydantic

pydantic/monty

用 Rust 编写的安全 Python 沙箱,用于运行 AI 生成的代码,无需容器。

Star
8,730
Fork
465
未关闭 Issue
169
最近提交
15小时前

这是什么?

Monty 是一个用于执行 LLM 生成代码的 Python 沙箱。它希望避开基于容器的沙箱在延迟、复杂度和成本上的负担。项目给出的数据显示,从运行中的资源池创建一个新沙箱耗时不到 1ms。

沙箱内部没有文件系统、环境变量和网络访问,代码只能通过宿主程序显式传入的函数和挂载点与外部交互。例如,宿主端的查询函数返回数据,沙箱内代码只能看到返回值。

开源版 Monty 采用 MIT 许可,提供 Python(pydantic-monty)、JavaScript/TypeScript(@pydantic/monty)和 Rust(monty)三种安装方式。商业版 Full Monty 则以 WebSocket 服务形式运行同一沙箱。

核心功能

  • 01默认情况下沙箱内没有文件系统、环境变量和网络访问。
  • 02宿主程序通过显式传入的函数和挂载点向代码开放外部资源。
  • 03提供 Python、JavaScript/TypeScript 和 Rust 的绑定。
  • 04支持资源限制和执行快照。
  • 05通过复用沙箱资源池降低启动延迟。

适用场景

  • 在不为每次运行启动容器的情况下执行 LLM 智能体编写的代码。
  • 让 AI 智能体通过受控的函数接口调用宿主端工具。
  • 为 Python、JavaScript 或 Rust 应用增加安全的代码执行环节。

快速上手

  1. 1

    安装 Python 包

    uv add pydantic-monty
  2. 2

    创建沙箱池和会话并运行代码

使用前须知

  • 沙箱仅支持 Python 3.14,且为语言的一个子集(详见文档)。
  • 沙箱内无法访问文件系统、环境变量和网络;宿主访问仅通过你传入的函数和挂载实现。
  • 商业服务器版 Full Monty 与本 MIT 许可的开源版本是分开的。

标签

常见问题

monty 是什么?
用 Rust 编写的安全 Python 沙箱,用于运行 AI 生成的代码,无需容器。 Monty 是一个用于执行 LLM 生成代码的 Python 沙箱。它希望避开基于容器的沙箱在延迟、复杂度和成本上的负担。项目给出的数据显示,从运行中的资源池创建一个新沙箱耗时不到 1ms。
monty 可以免费使用吗?用的什么许可证?
monty 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
monty 还在维护吗?
活跃维护中。monty 最近一次提交是在 2026年10月19日。
monty 适合用来做什么?
在不为每次运行启动容器的情况下执行 LLM 智能体编写的代码。 让 AI 智能体通过受控的函数接口调用宿主端工具。 为 Python、JavaScript 或 Rust 应用增加安全的代码执行环节。
monty 怎么安装和运行?
安装 Python 包: uv add pydantic-monty 创建沙箱池和会话并运行代码
在哪里获取 monty?
源代码和安装说明在 GitHub 上:https://github.com/pydantic/monty

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目