Documentation IndexFetch the complete documentation index at: /docs/llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /docs/llms.txt
Use this file to discover all available pages before exploring further.
deepseek/deepseek-v4-flash-vision-exp 将于 2026 年 11 月 29 日下线,tencent/hy4-preview 将于 2026 年 12 月 6 日下线 查看下架公告
查阅 Browser-use 接入 PPIO Agent 沙箱的归档指南,了解该版本浏览器工作流的配置方式,为维护现有集成提供参考。
browser-chromium
export E2B_DOMAIN=sandbox.ppio.cn export E2B_API_KEY=<您的 PPIO API 密钥> export PPIO_API_KEY=<您的 PPIO API 密钥> export LLM_BASE_URL=https://api.ppio.com/openai export LLM_MODEL=<您选用的大语言模型>
pip install browser-use pip install ppio-sandbox
import asyncio import os import time import base64 from browser_use import Agent, BrowserSession from browser_use.llm import ChatOpenAI from ppio_sandbox.code_interpreter import Sandbox async def screenshot(agent: Agent): # 截图功能 print("开始截图...") page = await agent.browser_session.get_current_page() screenshot_base64 = await page.screenshot(format='png') # screenshot 方法返回图像的 base64 字符串,将其转换为二进制数据并保存为 PNG 文件 screenshot_bytes = base64.b64decode(screenshot_base64) screenshots_dir = os.path.join(".", "screenshots") os.makedirs(screenshots_dir, exist_ok=True) screenshot_path = os.path.join(screenshots_dir, f"{time.time()}.png") with open(screenshot_path, "wb") as f: f.write(screenshot_bytes) print(f"截图已保存至 {screenshot_path}") async def main(): # 创建沙箱实例 sandbox = Sandbox.create( timeout=600, # 超时时间(秒) template="browser-chromium", # 该模板包含 chromium 浏览器,且暴露 9223 端口用于远程连接 ) try: # 获取沙箱的 Chrome 调试端口地址 host = sandbox.get_host(9223) # 获取沙箱 9223 端口的地址 cdp_url = f"https://{host}" print(f"Chrome 调试协议地址: {cdp_url}") # 创建 Browser-use 会话 browser_session = BrowserSession(cdp_url=cdp_url) # 使用 cdp 协议连接远程沙箱中的浏览器 await browser_session.start() print("Browser-use 会话创建成功") # 创建 AI Agent agent = Agent( task="去百度搜索 Browser-use 的相关信息,并总结出 3 个使用场景", llm=ChatOpenAI( api_key=os.getenv("PPIO_API_KEY"), base_url=os.getenv("LLM_BASE_URL"), model=os.getenv("LLM_MODEL"), temperature=1 ), browser_session=browser_session, ) # 运行 Agent 任务 print("开始执行 Agent 任务...") await agent.run( on_step_end=screenshot, # 在每个步骤结束时调用 screenshot 截图 ) # 关闭浏览器会话 await browser_session.stop() print("任务执行完成") finally: # 清理沙箱资源 sandbox.kill() print("沙箱资源已清理") if __name__ == "__main__": asyncio.run(main())