news 2026/8/22 15:23:17

Open-Agent E2B Python 沙箱详解:让 AI 安全编写并执行代码、输出图表的实用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Open-Agent E2B Python 沙箱详解:让 AI 安全编写并执行代码、输出图表的实用教程

Open-Agent E2B Python 沙箱详解:让 AI 安全编写并执行代码、输出图表的实用教程

【免费下载链接】open-agentOpen-source alternative to Claude Agent SDK, ChatGPT Agents, and Manus.项目地址: https://gitcode.com/gh_mirrors/op/open-agent

Open-Agent是一个开源的 Agentic AI 系统,可作为 Claude Agent SDK、ChatGPT Agents 和 Manus 的替代方案。它的E2B Python 沙箱功能,允许 AI 在完全隔离的云端环境中安全地编写并执行 Python 代码,直接把数据分析结果、统计图表、PDF 报告"跑"出来展示给你——你只需配置一个 API Key,就能拥有会写代码、会画图、会交付成果的 AI 助手。

为什么需要 AI 代码沙箱?

让 AI 直接在你的电脑上跑代码,风险很大:恶意逻辑、无限循环、误删文件……而Python 代码沙箱解决的就是这个问题:

  • 🛡️安全隔离:代码运行在一次性云端虚拟机里,与你的服务器和本机完全隔离
  • 🧹无状态环境:每次调用都是全新环境,互不污染
  • 📊多格式输出:文字、Markdown、图表(PNG/JPEG/SVG)、PDF、JSON、LaTeX 一应俱全
  • 用完即焚:执行结束后沙箱立即销毁,不留任何痕迹

一句话理解:AI 负责"想"和"写",沙箱负责安全地"跑",Open-Agent 负责把结果漂亮地"展示"给你。

Open-Agent 是怎么实现的?

整个 E2B Python 沙箱能力分布在后端工具和前端渲染两部分:

模块文件路径职责
沙箱工具核心e2b-python-sandbox.ts创建沙箱、执行代码、保存二进制产物
工具注册tools/index.ts对外导出e2b_python_sandbox工具
工具装配provider.ts按配置决定是否挂载沙箱工具
全局配置config.ts定义copilot.e2b.key配置项
任务规划提示词prompts.ts引导 AI 在合适时机调用沙箱
前端结果渲染e2b-python-result.tsx在聊天界面展示图表、文本与 PDF 链接

执行流程 6 步走 🔄

  1. AI 分析任务,判断需要运行 Python(任务规划提示词中明确写了Consider: e2b_python_sandbox for testing/execution
  2. 工具通过 E2B API Key 创建沙箱:Sandbox.create({ apiKey: key })
  3. 在沙箱中执行sbx.runCode(code),并实时把stdout/stderr流式推送到前端
  4. 执行结果中的 PNG、JPEG、PDF、SVG 等 base64 数据,会被自动上传到用户存储,并替换为可访问的 URL
  5. 调用sbx.kill()销毁沙箱
  6. 前端用专属渲染器展示图片、Markdown 和 PDF 链接

其中"base64 转 URL"是个很贴心的设计——既避免了大体积数据塞进对话流,又让 AI 能直接用![](url)在回复中引用生成的图表。

三步快速配置 E2B Python 沙箱 🚀

第 1 步:部署 Open-Agent

按照 README.md 的说明,用 Docker Compose 启动项目即可:

docker compose up -d

第 2 步:填入 E2B API Key

在部署目录的config.json中,找到copilot配置段,填入你的 E2B Key(配置结构定义见 config.ts 中的copilot.e2b字段):

{ "copilot": { "enabled": true, "e2b": { "key": "你的 E2B API Key" } } }

第 3 步:启用工具

确认 Copilot 插件已启用且挂载了pythonSandbox工具(工具装配逻辑位于 provider.ts),重启服务后,AI 就可以安全跑代码了。

它能输出哪些内容?

沙箱执行结果是一个 JSON 对象,支持这些字段(定义见 e2b-python-sandbox.ts 中的ProcessedResult类型):

  • 📝text / markdown / html:文字结果、Markdown 报告、HTML 片段
  • 🖼️png / jpeg / svg:图表与图片,自动保存并返回 URL
  • 📄pdf:完整报告文件,前端会显示"View PDF"下载链接
  • 🧮latex / json / data:公式、结构化数据、DataFrame 数据
  • 📈chart:图表配置对象

前端渲染器 e2b-python-result.tsx 会自动识别这些字段:图片直接内联展示,Markdown 渲染排版,出错时则用红色提示框清晰显示错误信息与 traceback。

实用技巧:写出更好的图表结果 💡

源码中内置的工具体会(工具描述部分)总结了三条黄金规则:

  1. 一次调用 = 一个完整独立脚本:环境是无状态的,两次调用之间不保留变量和文件,所有上下文要写进同一个脚本里
  2. 要拿到图片 URL?只用plt.savefig:调用沙箱工具时不要同时plt.show,否则会出现重复输出
  3. 纯预览可以用plt.show:只看不存图时,plt.show更省事

典型用法示例:

"帮我用这份销售数据画一张月度趋势折线图,并输出为 PNG"

AI 会自动编写 Python 脚本 → 沙箱执行 → 图表以图片形式直接出现在聊天界面中。

常见问题 FAQ ❓

Q:每次执行都要重新装库吗?A:环境是全新创建的,常用科学计算库(如 matplotlib、pandas)已预装在 E2B 环境中,日常绘图分析无需额外操作。

Q:代码报错会怎样?A:沙箱会把错误类型、错误值和完整 traceback 实时流式推送,AI 可以据此自动修改代码重试,前端也会红字展示错误详情。

Q:生成的图片保存在哪里?A:自动上传到当前用户的 Copilot 存储空间,文件名基于内容哈希(如e2b-png-xxxx.png),同内容天然去重。

总结

Open-Agent 的 E2B Python 沙箱,用"配置一个 Key"的极简成本,给了 AI 一个安全可靠的代码执行环境:写代码、跑数据、出图表、生成 PDF 报告,全流程自动完成。无论你是想做一个数据分析助手,还是构建自己的专属 Agent,这套开源方案都值得一试 🌟

  • 核心工具源码:e2b-python-sandbox.ts
  • 前端渲染组件:e2b-python-result.tsx
  • 开发指南:dev.md

【免费下载链接】open-agentOpen-source alternative to Claude Agent SDK, ChatGPT Agents, and Manus.项目地址: https://gitcode.com/gh_mirrors/op/open-agent

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/22 15:21:21

vaststars科技树实现解析:techtree与laboratory研究队列系统全攻略

vaststars科技树实现解析:techtree与laboratory研究队列系统全攻略 【免费下载链接】vaststars A game demo for Ant engine 项目地址: https://gitcode.com/gh_mirrors/va/vaststars vaststars 是一款基于 Ant 引擎的火星工厂模拟游戏,其科技树系…

作者头像 李华