• 简体中文
  • 沙盒信息

    概述

    沙盒 API 提供了一个综合的环境,用于在隔离的容器环境中执行代码、管理文件以及与各种开发工具进行交互。该 API 旨在支持多种编程语言、文件操作、浏览器自动化和终端交互。

    控制面板

    沙盒控制面板提供了一个统一的 Web 界面,可通过 /index.html 访问,通过多个集成视图与所有沙盒功能进行交互。

    控制面板视图

    控制面板界面包含四个主要选项卡,用于不同的开发工作流程:

    代码选项卡

    代码选项卡提供了集成的代码编辑器环境:

    • 文件浏览器:导航和管理沙盒中的项目文件
    • 代码编辑器:具有语法高亮和自动完成功能的文件编辑
    • 多文件支持:同时打开和编辑多个文件
    • 文件操作:创建、重命名、删除文件和目录
    • 集成终端:直接从代码视图执行命令

    浏览器选项卡

    浏览器选项卡支持 Web 开发和测试:

    • 无头浏览器:用于 Web 自动化的 Chrome/Chromium 实例
    • 实时预览:Web 应用程序的实时预览
    • 开发者工具:检查元素、控制台、网络活动
    • 浏览器自动化:支持自动化测试和爬虫
    • 视口控制:调整屏幕大小和设备模拟
    • 截图捕获:对渲染页面进行截图

    终端选项卡

    终端选项卡提供完整的 shell 访问:

    • 交互式 Shell:具有完整命令行访问权限的 Bash 终端
    • 多会话支持:创建和管理多个终端会话
    • 命令历史:浏览之前执行的命令
    • 文件系统访问:完全访问沙盒文件系统
    • 包管理:安装和管理 Python/Node.js 包
    • 进程管理:运行和监控后台进程

    Jupyter 选项卡

    Jupyter 选项卡提供基于笔记本的开发:

    • Jupyter 笔记本:创建和编辑 .ipynb 笔记本文件
    • Python 内核:交互式执行 Python 代码单元
    • 丰富输出:显示图表、图像和格式化数据
    • Markdown 支持:将代码与文档混合
    • 变量浏览器:检查变量和数据结构
    • 会话持久性:跨执行维护内核状态

    访问控制面板

    本地访问
    远程访问
    # 控制面板可通过以下地址访问
    http://localhost:8080/index.html

    控制面板功能

    集成开发环境

    • 在代码、浏览器、终端和 Jupyter 视图之间无缝切换
    • 所有选项卡共享文件系统
    • 持久会话状态
    • 实时更新和同步

    项目管理

    • 通过拖放上传文件和项目
    • 下载文件和项目归档
    • Git 集成用于版本控制
    • 项目模板和快速启动

    资源监控

    • CPU 和内存使用指示器
    • 磁盘空间利用率
    • 网络活动监控
    • 进程和服务状态

    沙盒上下文

    /llms.txt

    llms.txt 是智能体的使用手册。通过这个手册,智能体可以更好地使用沙盒。

    获取沙盒上下文

    Python
    Curl
    ctx = client.sandbox.get_context()
    print(ctx)

    检索沙盒环境信息,包括系统配置和可用资源。

    响应: SandboxResponse

    • success: 指示操作成功的布尔值
    • message: 操作结果消息
    • data: 沙盒环境数据
    • home_dir: 沙盒中的主目录路径

    示例 data:

    System Environment (v1.0.0.93):
    - Linux 6.10.14-linuxkit (x86_64), with internet access
    - User: e3f8da5a6253, with sudo privileges
    - Home directory: /home/gem
    - Timezone: Asia/Shanghai
    - Occupied Ports: 8080,8079,8088,8091,8100,8101,8102,8200,8888,9222
    
    Development Environment:
    - Python 3.12.11 (commands: python3, pip3)
    - Node.js v22.19.0 (commands: node, npm)
    - Git git version 2.34.1 (command: git)
    - GitHub CLI (command: gh)
    - UV uv 0.8.9 (command: uv)
    
    Available Tools:
    - Text editors: vim, nano
    - File operations: wget, curl, tar, zip, unzip, tree
    - Network tools: ping, telnet, netcat, nmap
    - Text processing: grep, sed, awk, jq
    - System monitoring: htop, procps
    - Image processing: imagemagick
    - Audio/Video Downloader: yt-dlp

    包管理

    Python 包

    列出沙盒环境中所有已安装的 Python 包。

    Python
    Curl
    python_packages = client.sandbox.python_packages()
    print(python_packages.data) # [{ "name": "requests", "version": "2.32.5" }]

    响应: Response

    • 返回已安装 Python 包及其版本的列表

    Node.js 包

    列出沙盒环境中所有已安装的 Node.js 包。

    Python
    Curl
    nodejs_packages = client.sandbox.nodejs_packages()
    print(nodejs_packages.data)

    响应: Response

    • 返回已安装 npm 包及其版本的列表