article
README
🚀 ipybox
ipybox 是一个轻量级且安全的 Python 代码执行沙箱,它基于 IPython 和 Docker 构建。你可以在本地计算机上运行它,也可以在你选择的远程环境中运行。ipybox 专为需要安全执行代码的 AI 智能体而设计,例如用于数据分析用例,或者像在 freeact 智能体中执行代码操作。
🚀 快速开始
安装 ipybox Python 包
pip install ipybox
在 ipybox 容器中执行代码
import asyncio
from ipybox import ExecutionClient, ExecutionContainer
async def main():
async with ExecutionContainer(tag="ghcr.io/gradion-ai/ipybox") as container:
async with ExecutionClient(port=container.executor_port) as client:
result = await client.execute("print('Hello, world!')")
print(f"Output: {result.text}")
if __name__ == "__main__":
asyncio.run(main())
✨ 主要特性
- 在 Docker 容器内安全地执行代码
- 通过可配置的防火墙 限制网络访问
- 使用 IPython 内核进行有状态的代码执行
- 实时流式输出代码执行结果
- 在构建时或运行时安装 Python 包
- 返回使用可视化库生成的绘图
- 提供 MCP 服务器 接口,便于与 AI 智能体集成
- 通过生成的客户端代码 调用 MCP 服务器
- 支持灵活的部署选项,包括本地或远程部署
- 提供
asyncioAPI 来管理执行环境
📚 详细文档
📦 MCP 服务器
ipybox 可以作为 MCP 服务器 进行安装。
{
"mcpServers": {
"ipybox": {
"command": "uvx",
"args": ["ipybox", "mcp"]
}
}
}
💻 使用示例
基础用法
import asyncio
from ipybox import ExecutionClient, ExecutionContainer
async def main():
async with ExecutionContainer(tag="ghcr.io/gradion-ai/ipybox") as container:
async with ExecutionClient(port=container.executor_port) as client:
result = await client.execute("print('Hello, world!')")
print(f"Output: {result.text}")
if __name__ == "__main__":
asyncio.run(main())
高级用法
# 这里可以添加高级场景的说明,由于原文档未提供,暂不补充
import asyncio
from ipybox import ExecutionClient, ExecutionContainer
# 可以在这里编写高级用法的代码示例
Scan to join WeChat group