基于 WebAssembly 与 V8 的轻量沙箱,为 AI 智能体提供带文件、进程、Shell 和网络的类 Linux 环境。
capsulerun/runtime
面向 AI Agent 的安全运行时,在隔离的 WebAssembly 沙箱中执行不可信代码,并可按任务限制 CPU、内存和超时。
- Star
- 303
- Fork
- 22
- 未关闭 Issue
- 0
- 最近提交
- 26天前
这是什么?
Capsule 是一个用于在隔离环境中执行不可信代码的运行时。每个任务都运行在独立的 WebAssembly 沙箱中,与宿主系统隔离。开发者只需用 task 装饰器标注 Python 或 TypeScript/JavaScript 函数,运行时便会将文件编译为 WebAssembly 模块并执行。
每个任务可单独设置计算等级、内存上限、超时时间和重试次数。CPU 用量通过 WebAssembly 的 fuel 机制计量控制;文件访问仅限于显式授权的目录,并可设为只读或读写;出站网络请求只能访问白名单中的域名;环境变量需显式声明后才可读取。每次运行都会返回包含结果、错误信息以及耗时、fuel 消耗、峰值内存等执行指标的 JSON 结构。
项目提供 CLI(capsule run、capsule build)以及 Python 和 npm SDK,其中 run() 函数可在宿主代码中调用沙箱任务。依赖 C 扩展的 Python 包需要提供 wasm32-wasi 编译版本才能在沙箱内运行。
核心功能
- 01每个任务运行在独立的 WebAssembly 沙箱中,与宿主系统隔离。
- 02通过 fuel 计量限制 CPU,并可为每个任务设置内存和超时。
- 03文件访问仅限指定目录,支持只读或读写模式。
- 04出站 HTTP 请求仅允许访问白名单域名。
- 05支持 Python 和 TypeScript/JavaScript 任务,并可自动重试。
- 06返回包含耗时、fuel 和内存指标的结构化 JSON 结果。
适用场景
- 在代码解释器中执行大模型生成的代码,同时保护宿主机器。
- 为 AI Agent 的工具调用设置文件、网络域名和环境变量的严格限制。
- 打包需要可预测资源上限的小型无服务器风格函数。
- 通过 run() 从宿主应用中调用沙箱内的 Python 或 TypeScript 代码。
快速上手
- 1
安装 Python 包
pip install capsule-run - 2
创建包含返回问候语 main 任务的 hello.py
- 3
使用 Capsule CLI 运行该文件
capsule run hello.py
使用前须知
- README 仅展示 Python 和 TypeScript 示例,不涵盖其他语言。
- 除非使用 capsule build 预编译,否则源文件首次运行会有数秒的编译延迟。
收录于专题
标签
常见问题
- runtime 是什么?
- 面向 AI Agent 的安全运行时,在隔离的 WebAssembly 沙箱中执行不可信代码,并可按任务限制 CPU、内存和超时。 Capsule 是一个用于在隔离环境中执行不可信代码的运行时。每个任务都运行在独立的 WebAssembly 沙箱中,与宿主系统隔离。开发者只需用 task 装饰器标注 Python 或 TypeScript/JavaScript 函数,运行时便会将文件编译为 WebAssembly 模块并执行。
- runtime 可以免费使用吗?用的什么许可证?
- runtime 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- runtime 还在维护吗?
- 活跃维护中。runtime 最近一次提交是在 2026年10月12日。
- runtime 适合用来做什么?
- 在代码解释器中执行大模型生成的代码,同时保护宿主机器。 为 AI Agent 的工具调用设置文件、网络域名和环境变量的严格限制。 打包需要可预测资源上限的小型无服务器风格函数。 通过 run() 从宿主应用中调用沙箱内的 Python 或 TypeScript 代码。
- runtime 怎么安装和运行?
- 安装 Python 包: pip install capsule-run 创建包含返回问候语 main 任务的 hello.py 使用 Capsule CLI 运行该文件: capsule run hello.py
- 在哪里获取 runtime?
- 源代码和安装说明在 GitHub 上:https://github.com/capsulerun/runtime
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 WebAssembly 的沙箱运行时,可在浏览器、Node 或 MCP 服务中运行多种语言的代码。
一个 Python 库,通过统一 API 在 Docker、Kubernetes、Podman 及本地 Linux、Windows 沙箱中安全运行 LLM 生成的代码。
基于 WebAssembly 的运行时与 CLI,用于在轻量、安全的沙箱中运行应用和 AI 智能体代码。
开源基础设施,用于在云端隔离沙箱中运行 AI 生成的代码,提供 JavaScript 和 Python SDK。
用于在隔离云沙箱中运行 AI 生成代码并获取输出的 Python 与 JS/TS SDK。