
gbox

2025.04.22
20
Go沙箱环境MCP 集成AI 代理开发效率浏览器自动化
gbox 是一个开源项目,提供了一个可自托管的沙箱环境,用于 MCP 集成或其他 AI 代理用例。该沙箱可以作为代理的计算机使用,包含代理日常任务所需的所有必要工具,如终端、浏览器和文件编辑器。gbox 旨在为 MCP 客户端(如 Claude Desktop/Cursor)提供一种简单且安全的方式来在本地运行任务。
View on GitHub
Overview
基本能力
产品定位
gbox 是一个为 AI 代理提供沙箱环境的开源项目,支持 MCP 集成,使 AI 客户端能够在本地安全地执行任务。
核心功能
- 终端
- 执行任何 Linux 命令
- 直接执行 Python 脚本
- 跨调用共享会话(开发中)
- 文件管理
- 将主机文件夹挂载到沙箱中
- 通过 HTTP 链接访问沙箱文件
- 以多模态方式读取文件内容
- 写入/重写文件(开发中)
- 编辑文件(开发中)
- 搜索文件(开发中)
- 浏览器
- 打开任何 URL,以多模态方式返回内容
- 从任何 URL 下载(开发中)
- 通过指令操作浏览器(开发中)
- 人工接管(开发中)
- HTTP 服务器
- 按需在任何文件夹上启动 HTTP 服务(开发中)
- SDKs
- Python SDK:通过
pip install pygbox
安装 - Typescript SDK(开发中)
- MCP 支持
- 标准 MCP 支持
- 集成 Claude Desktop 和 Cursor
适用场景
- 生成图表:如生成特斯拉股票价格图表
- 生成 PDF:如生成最新 AI 新闻的 PDF
- 分析与计算:如分析并比较 Nvidia/Tesla 市值
- 处理本地文件:如在下载文件夹中查找图片并压缩为 zip
- 执行任意任务:如下载 YouTube 视频
工具列表
- gbox 命令行工具:用于管理沙箱容器,包括创建、启动、停止、删除容器等。
- Python SDK:通过
pip install pygbox
安装,提供与 gbox 交互的 Python 接口。 - Typescript SDK(开发中):提供与 gbox 交互的 Typescript 接口。
常见问题解答
- 如何运行开发环境的 gbox 而非系统安装的版本?
- 停止已安装的 gbox:
gbox cleanup
- 在项目根目录执行
make api-dev
- 执行
./gbox box list
- 如何将 MCP 客户端连接到开发环境的 MCP 服务器?
- 在项目根目录执行
make mcp-dev
- 执行
./gbox mcp export --merge-to claude
- 如何打开 MCP 检查器?
- 在项目根目录执行
make mcp-inspect
- 点击终端返回的链接
- 为什么 MCP 客户端仍然获取旧的 MCP 内容?
- 更改 MCP 配置后,执行
make build
更新dist/index.js
- 执行
./gbox mcp export --merge-to claude
使用教程
使用依赖
- 系统要求
- macOS 10.15 或更高版本
- Docker Desktop for Mac
- Homebrew
安装教程
# 通过 Homebrew 安装
brew tap babelcloud/gru && brew install gbox
# 初始化环境
gbox setup
# 导出 MCP 配置并合并到 Claude Desktop
gbox mcp export --merge-to claude
# 或 gbox mcp export --merge-to cursor
# 重启 Claude Desktop
更新步骤
# 更新 gbox 到最新版本
brew update && brew upgrade gbox
# 更新环境
gbox setup
# 导出并合并最新的 MCP 配置到 Claude Desktop
gbox mcp export --merge-to claude
# 或 gbox mcp export --merge-to cursor
# 重启 Claude Desktop
调试方式
# 集群管理
gbox cluster setup # 设置集群环境
gbox cluster cleanup # 清理集群环境
# 容器管理
gbox box create --image python:3.9 --env "DEBUG=true" -w /app -v /host/path:/app # 创建容器
gbox box list # 列出容器
gbox box start <box-id> # 启动容器
gbox box stop <box-id> # 停止容器
gbox box delete <box-id> # 删除容器
gbox box exec <box-id> -- python -c "print('Hello')" # 执行命令
gbox box inspect <box-id> # 检查容器
# MCP 配置
gbox mcp export # 导出 MCP 配置
gbox mcp export --merge-to claude # 导出并合并到 Claude Desktop 配置
gbox mcp export --dry-run # 预览合并结果而不应用更改