返回目录
开源项目本地模型类新手

Bytebot:开源自托管 AI 桌面智能体(自带 Ubuntu 虚拟桌面)

Bytebot 是一个自托管的 AI 桌面智能体,运行在容器化的 Ubuntu Linux 虚拟桌面中,通过自然语言命令操作真实应用程序、文件系统和浏览器来完成任务。项目采用 Apache 2.0 许可证,内置虚拟桌面、AI Agent(NestJS)、任务界面(Next.js)与 REST API 四大组件,支持 Claude、GPT、Gemini,并可通过 LiteLLM 接入 Azure OpenAI、AWS Bedrock、Ollama 本地模型等 100+ 提供商,提供 Railway、Docker Compose 与 Kubernetes/Helm 三种部署方式。

0 次阅读2026/09/15 发布
Bytebot:开源自托管 AI 桌面智能体(自带 Ubuntu 虚拟桌面) 来源图片

社区作者 · zZz

它解决什么问题

项目概览

Bytebot 是「拥有自己电脑的 AI」——一个自托管(self-hosted)的 AI 桌面智能体。与仅能操作浏览器的 agent 或传统 RPA 工具不同,Bytebot 自带一套完整的虚拟桌面,可以像人类一样看屏幕、移动鼠标、敲键盘,从而完成跨应用的复杂多步工作流。

配图 1 为项目 Logo。官网、文档、Discord、X(Twitter)等入口见仓库说明。

它为什么需要一台「自己的电脑」

一个桌面智能体意味着 AI 拥有完整虚拟桌面,可以:

  • 使用任意应用(浏览器、邮件客户端、办公工具、IDE)
  • 下载并用自带文件系统整理文件
  • 通过密码管理器登录网站和应用
  • 读取与处理文档、PDF、电子表格
  • 跨不同程序完成复杂的多步工作流

四大组件架构

  • **虚拟桌面**:完整的 Ubuntu Linux 环境,预装常用应用;技术栈为 Ubuntu 22.04 + XFCE、Firefox、VS Code 等工具
  • **AI Agent**:NestJS 服务,负责理解任务并协调 AI 与桌面动作
  • **任务界面**:Next.js 应用,用于创建任务并实时观看 Bytebot 工作
  • **APIs**:REST 端点,用于以编程方式创建任务与控制桌面

核心特性

  • **自然语言任务**:直接描述你要完成的事
  • **文件上传**:把文件拖到任务里交给 Bytebot 处理
  • **实时桌面视图**:实时观看 Bytebot 操作
  • **接管模式(Takeover Mode)**:需要人工协助或配置时可接管桌面
  • **密码管理器支持**:可安装 1Password、Bitwarden 等实现自动认证(含 2FA)
  • **持久化环境**:安装的程序会保留,供后续任务继续使用

能力示例

完整任务自主性

给出「从我们的供应商门户下载全部发票并整理到一个文件夹」这类任务时,Bytebot 会:打开浏览器 → 逐个访问门户 → 处理认证(含通过密码管理器完成 2FA)→ 把文件下载到本地文件系统 → 整理进文件夹。

文档处理

把文件上传到 Bytebot 桌面后,它可以:将整份 PDF 读入上下文、从复杂文档中抽取数据、跨多个文件交叉比对信息、基于分析创建新文档、处理 API 无法访问的格式。

使用真实应用

Bytebot 不局限于 Web 界面,还可以使用文本编辑器、VS Code、邮件客户端等桌面应用,运行脚本和命令行工具,按需安装新软件,并为特定工作流配置应用。

示例任务(原文示例)

基础类:

  • "Go to Wikipedia and create a summary of quantum computing"
  • "Research flights from NYC to London and create a comparison document"
  • "Take screenshots of the top 5 news websites"

文档处理类:

  • "Read the uploaded contracts.pdf and extract all payment terms and deadlines"
  • "Process these 5 invoice PDFs and create a summary report"
  • "Download and analyze the latest financial report and answer: What were the key risks mentioned?"

多应用工作流类:

  • "Download last month's bank statements from our three banks and consolidate them"
  • "Check all our vendor portals for new invoices and create a summary report"
  • "Log into our CRM, export the customer list, and update records in the ERP system"

编程控制

通过任务 API 创建任务(Python 示例,端口 9991):

python
import requests

# Simple task
response = requests.post('http://localhost:9991/tasks', json={
    'description': 'Download the latest sales report and create a summary'
})

# Task with file upload
files = {'files': open('contracts.pdf', 'rb')}
response = requests.post('http://localhost:9991/tasks',
    data={'description': 'Review these contracts for important dates'},
    files=files
)

直接控制桌面(computer-use API,端口 9990):

bash
# Take a screenshot
curl -X POST http://localhost:9990/computer-use \
  -H "Content-Type: application/json" \
  -d '{"action": "screenshot"}'

# Click at specific coordinates
curl -X POST http://localhost:9990/computer-use \
  -H "Content-Type: application/json" \
  -d '{"action": "click_mouse", "coordinate": [500, 300]}'

配置你的桌面智能体(三步)

  1. **部署 Bytebot**:使用下述任一部署方式把 Bytebot 跑起来。
  1. **配置桌面**:在 UI 的 Desktop 标签中安装所需程序、设置用于认证的密码管理器、按偏好配置应用、登录希望 Bytebot 访问的网站。
  1. **开始派发任务**:用自然语言创建任务,观看 Bytebot 在配置好的桌面上完成它们。

为什么选择自托管

  • **数据隐私**:一切运行在你自己的基础设施上
  • **完全控制**:按需定制桌面环境
  • **没有限制**:使用自己的 AI API Key,不受平台限制
  • **灵活**:可安装任意软件、访问任意系统

高级能力

**多 AI 提供商**:通过 LiteLLM 集成接入任意提供商,包括 Azure OpenAI、AWS Bedrock、Ollama 本地模型以及 100+ 其他提供商。

**企业部署**:支持在 Kubernetes 上用 Helm 部署。

社区与贡献

可通过 Discord 获取帮助与讨论,文档位于 docs.bytebot.ai,Bug 与功能请求走 GitHub Issues。项目欢迎 Bug 修复、新功能、文档改进与多语言翻译等贡献;建议先查看已有 issue、就重大改动开 issue 讨论、提交描述清晰的 PR。

许可证

Bytebot 以 Apache 2.0 许可证开源,由 Tantl Labs 与开源社区构建。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

准备工作

  • 一台可运行 Docker 的机器(Docker Compose 部署方式),或 Railway 账号,或 Kubernetes 集群 + Helm(企业部署方式)。
  • 一个 AI 提供商 API Key,三选一:Anthropic(ANTHROPIC_API_KEY)、OpenAI(OPENAI_API_KEY)、Google Gemini(GEMINI_API_KEY)。
  • 自行确认可用端口:UI 9992、任务 API 9991、桌面控制 API 9990。

方式一:Railway(最简单,约 2 分钟)

  1. 点击仓库中的 Railway 部署按钮(配图 2)。
  1. 部署过程中填入你的 AI provider API key 即可。

方式二:Docker Compose

bash
# 1. 克隆仓库
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot

# 2. 写入 AI provider key(三选一;注意原文档等号两侧带空格)
echo " ANTHROPIC_API_KEY=sk-ant-... " > docker/.env
# 或者: echo "OPENAI_API_KEY=sk-..." > docker/.env
# 或者: echo "GEMINI_API_KEY=..." > docker/.env

# 3. 启动容器(后台运行)
docker-compose -f docker/docker-compose.yml up -d

# 4. 打开界面
# http://localhost:9992

完整部署指南见仓库链接的官方部署文档。

方式三:Kubernetes + Helm(企业部署)

bash
# Clone the repository
git clone https://github.com/bytebot-ai/bytebot.git
cd bytebot

# Install with Helm
helm install bytebot ./helm \
  --set agent.env.ANTHROPIC_API_KEY=sk-ant-...

更多细节见企业部署指南。

首次运行与初始化(必须按顺序)

  1. 部署完成后打开 http://localhost:9992 进入 Web UI。
  1. 在 UI 的 **Desktop 标签**中配置桌面环境:安装你需要的额外程序、设置密码管理器以完成自动认证、按偏好配置应用、登录希望 Bytebot 访问的网站。
  1. 在 UI 中创建自然语言任务并执行;需要人工介入时可使用接管模式(Takeover Mode)临时接管桌面。
  1. 首次运行后安装的程序会保留在持久化环境中,后续任务仍可用(可在「配置桌面」阶段一次性装好常用工具)。

编程调用入口

  • 创建任务:POST http://localhost:9991/tasks(JSON 字段 description;可同时上传 files
  • 桌面控制:POST http://localhost:9990/computer-use,例如 {"action": "screenshot"}{"action": "click_mouse", "coordinate": [500, 300]}

常见问题

  • **换 AI 提供商**:除内置的 Anthropic Claude、OpenAI GPT、Google Gemini 外,可通过 LiteLLM 集成接入 Azure OpenAI、AWS Bedrock、Ollama 本地模型以及 100+ 其他提供商。
  • **登录需要 2FA 的网站**:在桌面中安装并配置 1Password、Bitwarden 等密码管理器,让 Bytebot 自动完成认证。
  • **演示与效果**:仓库提供两段演示视频(bytebot_github_login.mp4、bytebot_uc_2.mp4)展示登录与用例流程;页面未给出对应的视频提示词。
  • **最小硬件配置、GPU 要求、具体镜像体积等信息**:来源未明确,待核验。

来源教程配图

Bytebot Logo
配图 1 · Bytebot Logo查看原图
Deploy on Railway
配图 2 · Deploy on Railway查看原图

适用场景

跨应用业务流程自动化:从多个供应商门户下载发票并整理归档
多系统数据同步(如从 CRM 导出客户列表并更新到 ERP)
银行对账单等多来源文件下载与合并汇总
合同
发票等 PDF 批量抽取与汇总报告生成
多网站竞品与市场调研信息采集
文档分析与摘要
自动化 UI 测试与跨浏览器兼容性检查
带截图的文档生成与代码部署验证
通过 API 以编程方式创建桌面自动化任务