ChatPilot代码解释器深度解析AI如何运行Python代码并生成图表E2B沙箱原理【免费下载链接】ChatPilotChatPilot: Chat Agent Web UI实现Chat对话前端支持Google搜索、文件网址对话RAG、代码解释器功能复现了Kimi Chat(文件拖进来网址发出来)。项目地址: https://gitcode.com/gh_mirrors/ch/ChatPilotChatPilot 是一个开源的 Chat Agent Web UI其代码解释器是核心亮点之一AI 能够自动编写 Python 代码将其发送到E2B 云沙箱中安全执行并把计算结果、折线图、饼图等图表直接渲染回对话窗口——完整复现了 Kimi Chat 中文件拖进来、网址发出去的交互体验。本文面向新手用最通俗的方式拆解这套 AI 代码解释器背后的运行机制。代码解释器让 AI 从会说变成会算普通大语言模型只能说代码却无法真正运行代码。而 ChatPilot 的代码解释器打通了这条链路理解意图你问帮我算 38023×40334并画个销售趋势图生成代码AI 自动写出一段完整的 Python 脚本沙箱执行脚本被发送到隔离环境中运行不触碰你的本机结果回传数字结果、matplotlib生成的图表图片直接显示在对话中项目 README 中对其能力的一句话概括是Python 代码解释器支持 E2B 虚拟环境和本地 Python 编译器环境运行代码见 README.md。AI 何时决定运行代码ReAct 智能体机制ChatPilot 的智能体核心封装在 chatpilot/agentica_agent.py 中。它的思路来自ReActReasoning Acting框架AI 不是一口气回答而是循环执行思考 → 选择工具 → 观察结果 → 再思考直到得出最终答案。关键一步是工具注册。ChatPilot 把运行 Python 代码注册为一个可调用的工具# 当开关打开时把代码执行工具加入智能体工具列表 if enable_run_python_code_tool: self.tools.append(RunPythonCodeTool())相关实现在 chatpilot/agentica_agent.py工具本体由依赖库agentica提供声明于 requirements.txt。AI 每次思考时看到的是一份工具清单只有当判断这个问题需要精确计算或画图时才会调用RunPythonCodeTool。工具的行为规范写在 chatpilot/config.py 的RUN_PYTHON_CODE_TOOL_DESC中里面有几条对新手很有启发的提示词工程细节环境是长驻的沙箱跨多次执行持续存在变量可以保留必须完整重发脚本每次都要发送整个脚本并主动打印输出代码必须是纯 Python不能用 Markdown 代码块包裹预装科学计算全家桶numpy、pandas、matplotlib、scipy、requests均可用并用plt.show()生成图表E2B 沙箱原理代码为什么敢直接跑把 AI 生成的代码丢到服务器上直接执行是非常危险的可能读走文件、拖垮服务。ChatPilot 的解决方案是E2B 云沙箱沙箱Sandbox 一次性、隔离的微型云端运行环境。代码在其中执行与宿主系统完全隔离用完即销毁AI 的任何越界行为都被关在笼子里。其工作原理可以拆成四步步骤发生了什么① 启动沙箱服务端拿着 API Key 向 E2B 平台请求一个全新的云沙箱实例② 注入代码AI 生成的 Python 脚本通过 API 送入沙箱③ 隔离执行代码在沙箱内运行可访问预装的 matplotlib 等库但无法触达你的服务器文件④ 回收结果stdout 文本和plt.show()生成的图片被捕获并回传沙箱销毁或保留供下一轮使用在 ChatPilot 中只需一个环境变量即可接入 E2B# 在 .env 文件中配置 E2B_API_KEY你的E2B密钥对应读取逻辑位于 chatpilot/config.py。配置了 Key 就走 E2B 云沙箱如果没有配置项目也允许回退到本地 Python 环境执行方便离线体验——这也解释了为什么 README 强调支持 E2B 虚拟环境和本地 Python 编译器环境。图表是如何画出来又回到对话框的很多新手疑惑沙箱里的图片为什么能出现在网页聊天框里答案是一条清晰的图片回流链路AI 在脚本末尾调用plt.show()让 matplotlib 渲染图表沙箱执行器捕获生成的 PNG 图片而非丢弃到显示器图片作为工具执行结果Observation被打包连同标准输出一起回传给 AI前端 web/src/lib/components/chat/Messages/ResponseMessage.svelte 在渲染消息时识别图片内容并展示也就是说图片是作为数据在 AI 与沙箱之间流动的最终才落到你的浏览器里。三步开启最快配置代码解释器✅第 1 步准备 E2B 密钥在项目的.env文件中加入E2B_API_KEY参考 chatpilot/config.py 的读取逻辑不配置则使用本地执行模式。✅第 2 步确认工具开关环境变量ENABLE_RUN_PYTHON_CODE_TOOL默认为True无需额外设置如需关闭可显式设为False见 chatpilot/config.py。✅第 3 步发起对话在 ChatPilot 界面直接提问例如计算 38023×40334或用 Python 画一张 2024 年各季度销售柱状图——系统自带的提示建议里就内置了执行代码解释器的示例入口见 chatpilot/config.py。常见问题 FAQQ1没有 E2B 密钥能用吗可以。不配置E2B_API_KEY时会回退到本地 Python 环境执行适合尝鲜但不建议在生产环境使用。Q2沙箱里能用哪些第三方库预装了requests、matplotlib、scipy、numpy、pandas等常用科学计算与网络库工具描述见 chatpilot/config.py。Q3连续提问上一轮定义的变量还在吗在。工具描述中明确说明环境是长驻的跨多次执行存在因此你可以分多轮逐步搭建一个数据分析流程。Q4AI 什么时候不会调用代码解释器常识问答、写代码讲解类问题AI 会直接用内置知识回答只有涉及精确计算、数据处理、可视化时才会触发该工具。写在最后ChatPilot 的代码解释器用ReAct 智能体 工具注册 E2B 云沙箱 图片回流四块拼图实现了 Kimi Chat 同款体验你只需用自然语言提需求AI 就会写代码、跑代码、出图表。如果你想亲手体验配置好E2B_API_KEY后向它要一张图表是了解 AI Agent 工作机制最快的一条路径 。【免费下载链接】ChatPilotChatPilot: Chat Agent Web UI实现Chat对话前端支持Google搜索、文件网址对话RAG、代码解释器功能复现了Kimi Chat(文件拖进来网址发出来)。项目地址: https://gitcode.com/gh_mirrors/ch/ChatPilot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考