Bytebot 是一个开源的自托管 AI 桌面代理,运行在容器化的 Linux 环境中,通过自然语言指令自动化完成电脑任务。它模拟人类操作电脑的方式,使用键盘、鼠标和屏幕,执行网页浏览、数据处理、文件管理等任务。Bytebot 强调隐私和可定制性,数据不离开用户的基础设施,支持用户使用自己的 AI 模型 API 密钥,如 Claude、OpenAI 或 Gemini。它的核心设计基于简单性和通用性,适合开发者构建自动化工作流程。项目托管在 GitHub 上,易于部署和扩展,适合个人和企业使用。
功能列表
- 自然语言任务处理:用户通过自然语言描述任务,如“搜索下个月纽约到伦敦的航班”或“填写网页表单”,Bytebot 自动执行。
- 桌面自动化:模拟键盘输入、鼠标点击和屏幕读取,操作浏览器、办公软件等。
- 容器化 Linux 环境:基于 Ubuntu 和 Xfce4 的轻量级桌面环境,运行在 Docker 容器中,确保隔离和安全。
- 多模型支持:支持 Claude、OpenAI 和 Gemini 等多种大型语言模型,用户可根据需求选择。
- 实时桌面监控:通过 VNC 查看器,实时查看 AI 代理的操作过程。
- API 集成:提供 REST 和 MCP API,用于精确控制鼠标、键盘和屏幕截图。
- 可定制环境:用户可安装自定义软件或配置桌面环境,满足特定需求。
- 隐私保护:所有任务和数据在本地运行,不依赖云服务。
使用帮助
安装流程
Bytebot 的安装简单,基于 Docker 和 Railway 部署。以下是详细步骤:
- 克隆代码库
打开终端,运行以下命令克隆 Bytebot 仓库:git clone https://github.com/bytebot-ai/bytebot.git cd bytebot
- 配置 API 密钥
Bytebot 支持 Anthropic、OpenAI 或 Google 的 API 密钥。选择一个模型并配置密钥:echo "ANTHROPIC_API_KEY=your_api_key_here" > docker/.env # 用于 Claude # 或 echo "OPENAI_API_KEY=your_api_key_here" > docker/.env # 用于 OpenAI # 或 echo "GOOGLE_API_KEY=your_api_key_here" > docker/.env # 用于 Gemini
确保密钥有效,存储在
docker/.env
文件中,避免泄露。 - 部署服务
使用 Docker Compose 启动服务:docker-compose -f docker/docker-compose.yml up -d
首次启动可能需要 2-3 分钟下载镜像,后续启动更快。服务启动后,Bytebot 的 UI 界面可在
http://localhost:9992
访问。 - 验证安装
检查服务日志,确保运行正常:docker-compose -f docker/docker-compose.yml logs -f bytebot-agent
- Railway 部署(可选)
如果使用 Railway 平台部署:- 访问 Bytebot 的 Railway 模板页面。
- 输入你的 API 密钥(如
ANTHROPIC_API_KEY
)。 - 点击“Deploy Now”,Railway 会在几分钟内完成部署,并提供公共 URL。
使用主要功能
Bytebot 提供了一个直观的 Next.js 界面,结合 VNC 查看器和任务管理功能。以下是主要功能操作流程:
- 创建任务
打开http://localhost:9992
,进入 Bytebot UI。在任务输入框中输入自然语言指令,例如:搜索下个月纽约到伦敦的航班
点击提交,Bytebot 将启动浏览器并执行任务。你可以通过 VNC 查看器实时监控操作。
- API 控制
开发者可通过 REST API 精确控制任务。例如,创建一个任务:curl -X POST http://localhost:9991/tasks \ -H "Content-Type: application/json" \ -d '{"description": "搜索下个月纽约到伦敦的航班", "type": "browser_task"}'
检查任务状态:
curl http://localhost:9991/tasks/{task_id}
控制键盘或鼠标:
curl -X POST http://localhost:9990/api/computer \ -H "Content-Type: application/json" \ -d '{"action": "type_text", "text": "Hello, Bytebot!"}'
- 实时监控
在 UI 界面的 VNC 查看器中,观察 Bytebot 如何操作浏览器或桌面应用。查看器显示实时屏幕内容,适合调试或验证任务。 - 自定义桌面环境
修改docker/desktop/Dockerfile.custom
文件,安装额外软件。例如,添加 LibreOffice 和 GIMP:FROM bytebot/desktop:latest RUN apt-get update && apt-get install -y libreoffice gimp COPY configs/.config /home/user/.config
重新构建镜像并启动容器:
docker-compose -f docker/docker-compose.yml up --build
特色功能操作
- 网页自动化
Bytebot 擅长处理网页任务。例如,提取网页数据:import { BytebotClient, Table, Column, Text } from "@bytebot/sdk"; const bytebot = new BytebotClient({ apiKey: "YOUR_API_KEY" }); async function run() { const session = await bytebot.browser.startSession("https://www.example.com"); await bytebot.browser.act({ sessionId: session.sessionId, prompt: "点击搜索按钮" }); await bytebot.browser.endSession(session.sessionId); } run();
这段代码启动一个浏览器会话,执行点击操作,并结束会话。
- 文件处理
Bytebot 可处理本地文件。例如,指令“从 CSV 文件填充网页表单”会自动读取文件并填写表单。确保 CSV 文件路径正确,并在 UI 中输入指令。 - 多模型切换
在docker/.env
中更改 API 密钥,切换不同模型。例如,替换为 OpenAI 密钥后重启服务:docker-compose -f docker/docker-compose.yml restart
注意事项
- 安全性:更改默认 VNC 密码,避免生产环境中使用默认设置。
- 更新:定期更新容器镜像以获取安全补丁:
docker-compose -f docker/docker-compose.yml pull
应用场景
- 网页数据提取
Bytebot 可自动从网站提取数据,如抓取产品价格或新闻内容,生成结构化表格,适合市场调研或数据分析。 - 自动化表单填写
对于需要重复填写网页表单的任务,如注册账户或提交申请,Bytebot 可从 CSV 文件读取数据并自动完成。 - 办公软件操作
Bytebot 可操作 LibreOffice 或 VSCode,处理文档编辑、代码调试等任务,适合需要批量处理文件的场景。 - 企业工作流自动化
企业可使用 Bytebot 自动更新 SaaS 工具的用户权限或生成周报,提升内部效率。
QA
- Bytebot 支持哪些 AI 模型?
支持 Claude、OpenAI 和 Gemini,用户可在docker/.env
文件中配置对应 API 密钥。 - 如何确保数据隐私?
Bytebot 运行在本地容器中,数据不离开用户基础设施,适合对隐私要求高的场景。 - 是否需要编程技能?
普通用户可通过 UI 输入自然语言指令,无需编程。开发者可通过 API 实现更复杂的功能。 - 部署需要多长时间?
首次部署约 2-3 分钟,后续启动只需几秒。Railway 部署通常在几分钟内完成。