Flux 是一款基于 AI Agent 架构的智能浏览器助手,融合了 Monica 的全触达交互与 Manus 的端到端执行能力。
核心价值:
- 🧠 智能感知:自动理解网页内容、用户意图和浏览上下文
- 🤖 自主执行:从简单查询到复杂任务的全自动化闭环
- 🔄 动态调度:通过 LiteLLM 根据任务复杂度智能选择最优 AI 模型
- 👁️ 可视化反馈:实时流式展示 AI 操作过程,任务透明可控
技术定位:浏览器侧边栏 + 后台 Agent 引擎 + 多模型智能路由
像 Monica 一样理解你的浏览环境
-
无处不在的侧边栏 (Ubiquitous Sidebar)
- 基于 Plasmo 开发,常驻浏览器,快捷键一键唤起
- 响应式设计,适配各种屏幕尺寸
-
主动语境注入 (Active Context Injection)
- 自动捕获:网页 DOM 结构、选中文本、页面元数据
- 视觉理解:支持截图分析,无需用户手动描述背景
- 零摩擦交互:直接提问,AI 自动理解上下文
-
智能面板 (Smart Panel)
- 在特定网站(Google、GitHub、电商)自动触发
- 提供场景化服务:搜索摘要、代码解析、商品比价
像 Manus 一样完成复杂任务
-
自主任务闭环 (Autonomous Agent Loop)
- 用户输入目标 → AI 自动规划步骤 → 后台浏览器执行 → 结果反馈
- 示例:"在闲鱼找个评价好的 iPhone 15" → 自动搜索、筛选、对比
-
视觉导航 (Visual-Language Acting)
- 当网站无 API 时,通过 GPT-4o Vision 识别页面元素坐标
- 模拟真人操作:点击、输入、滚动、表单填写
-
影子浏览器直播 (Ghost Browser Stream)
- WebSocket 实时推送后台浏览器操作画面(15 FPS)
- 任务进度可视化,用户随时可介入或终止
| 层级 | 技术选型 | 核心优势 |
|---|---|---|
| 前端插件 | Plasmo (React + Tailwind) | 现代化扩展开发框架,支持热更新和跨浏览器兼容 |
| AI 中枢 | LiteLLM | 🔑 核心:统一多模型接口,支持智能路由和自动降级 |
| 后端服务 | FastAPI | 高性能异步框架,原生支持 WebSocket 和长时任务 |
| 自动化引擎 | Playwright | 真实浏览器模拟,支持多标签页协同和反爬虫对抗 |
| Agent 编排 | LangGraph | Plan-Act-Check 循环,比 LangChain 更稳定和可控 |
| 实时通信 | WebSocket | 毫秒级双向通信,支持流式响应和视频流传输 |
┌─────────────────────────────────────────────────────────┐
│ Browser Extension (Plasmo) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Sidebar UI │ │Content Script│ │ Background │ │
│ │ (React) │ │ (DOM Capture)│ │ Service │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
└─────────┼──────────────────┼──────────────────┼─────────┘
│ │ │
└──────────────────┴──────────────────┘
│ WebSocket
┌──────────────────┴──────────────────┐
│ Backend (FastAPI) │
│ ┌────────────────────────────────┐ │
│ │ LiteLLM Router │ │
│ │ ├─ DeepSeek (简单任务) │ │
│ │ ├─ Claude 3.5 (复杂推理) │ │
│ │ └─ GPT-4o (视觉解析) │ │
│ └────────────────────────────────┘ │
│ ┌────────────────────────────────┐ │
│ │ LangGraph Agent │ │
│ │ Plan → Act → Check → Loop │ │
│ └────────────────────────────────┘ │
│ ┌────────────────────────────────┐ │
│ │ Playwright Browser Pool │ │
│ │ (Headless + Screenshot) │ │
│ └────────────────────────────────┘ │
└─────────────────────────────────────┘
利用 LiteLLM Router 实现智能模型调度
- 📝 简单总结/翻译 → DeepSeek(成本优化)
- 🧠 复杂推理/规划 → Claude 3.5 Sonnet(质量优先)
- 👁️ 视觉解析/定位 → GPT-4o(视觉能力)
- 🔄 自动降级:主模型失败时切换备用模型
让 Flux 学习你的操作习惯
- 用户录制特定网站的操作流程(如"京东下单流程")
- AI 自动提取关键步骤,生成可复用的执行脚本
- 支持参数化:同一流程适配不同输入(商品名、价格区间)
安全的跨站点自动化
- 加密存储用户各平台的 Session/Cookie
- 支持免登录自动化操作(购物、预约、表单填写)
- 安全机制:本地加密 + 用户授权 + 定期刷新
从浏览器到桌面
- 通过 Electron 将 Flux 扩展到操作系统级别
- 支持桌面应用自动化(文件管理、邮件处理)
- 统一的 AI 助手体验:浏览器 + 桌面 + 移动端
步骤 1.1:LiteLLM 环境集成
- 内容:创建虚拟环境,安装 litellm 和 python-dotenv,配置 .env 文件存储 API keys
- 目的:建立统一的模型访问层,支持多模型热切换
- 验收方式:
- 自动化测试:运行
pytest tests/test_litellm_integration.py,测试 DeepSeek、OpenAI、Claude 等多个模型调用 - 手动验证:运行
python -m app.tests.litellm_demo.py,确认能获得各模型的标准化响应 - 性能测试:单次 API 调用延迟 < 2 秒
- 自动化测试:运行
步骤 1.2:FastAPI 对话接口封装
- 内容:实现 /chat WebSocket 接口,支持流式响应,集成错误处理中间件
- 目的:提供前后端实时通信通道
- 验收方式:
- 单元测试:
pytest tests/api/test_chat_endpoint.py,覆盖连接建立、消息收发、异常断开场景 - 集成测试:使用 wscat 或 Postman WebSocket 客户端发送测试消息,验证流式文本接收
- 压力测试:并发 100 个 WebSocket 连接,保持稳定 5 分钟
- 单元测试:
步骤 2.1:Plasmo 侧边栏原型
- 内容:初始化 Plasmo 项目,使用 Tailwind CSS 构建响应式侧边栏 UI,实现快捷键唤起功能
- 目的:创建用户友好的交互界面
- 验收方式:
- E2E 测试:使用 Playwright 测试插件安装、快捷键唤起(Cmd/Ctrl + Shift + F)、界面渲染
- 手动验证:Chrome/Edge/Firefox 三大浏览器均能正常加载和显示侧边栏
- UI 测试:侧边栏在不同屏幕尺寸下保持可用性(最小 320px 宽度)
步骤 2.2:跨域语境抓取
- 内容:开发 Content Scripts,实现 DOM 解析、选中文本捕获、页面元数据提取,通过消息传递到后端
- 目的:让 Flux "看到"用户当前浏览内容
- 验收方式:
- 单元测试:
npm run test content-script.test.ts,验证 HTML 解析、文本选择、元数据提取逻辑 - 手动验证:访问不同类型网站(GitHub、Google、电商网站),侧边栏显示正确的页面摘要
- 安全测试:确保无法读取敏感内容(密码框、iframe 跨域限制)
- 单元测试:
步骤 3.1:影子浏览器接口
- 内容:开发 /execute API,集成 Playwright Headless 模式,实现浏览器生命周期管理(启动、导航、截图、关闭)
- 目的:在后端创建可操控的浏览器实例
- 验收方式:
- 单元测试:
pytest tests/services/test_playwright.py,测试浏览器启动、页面导航、截图功能 - 集成测试:调用 API 访问 example.com,验证返回的 base64 截图能正常显示
- 资源测试:单次浏览任务内存占用 < 500MB,任务完成后自动释放
- 单元测试:
步骤 3.2:视觉坐标定位
- 内容:结合 GPT-4o Vision 解析页面截图,提取目标元素坐标,实现智能点击、输入、滚动操作
- 目的:实现基于视觉的网页操作能力
- 验收方式:
- 功能测试:给定常见网站(登录页、搜索页),AI 能正确定位并点击目标元素(准确率 > 85%)
- 回归测试:创建 50 个测试用例覆盖不同 UI 模式(按钮、输入框、链接、下拉菜单)
- 手动验证:在 3 个不同网站执行"搜索-点击"流程,成功率 100%
步骤 4.1:LangGraph 逻辑编排
- 内容:实现 Plan-Act-Check 循环,任务分解引擎,步骤依赖管理,失败重试机制
- 目的:让 Flux 具备自主规划和执行复杂任务的能力
- 验收方式:
- 单元测试:
pytest tests/agents/test_langgraph.py,测试任务拆解、状态机转换、错误恢复 - E2E 测试:给定任务"打开豆瓣-搜索《肖申克的救赎》-提取评分和影评数",验证自动执行
- 压力测试:同时执行 5 个并发任务,平均完成时间 < 30 秒
- 单元测试:
步骤 4.2:画面直播流
- 内容:建立 WebSocket 双向通道,实现 Playwright 截图实时推送(15 FPS),前端视频流渲染
- 目的:提供可视化的任务执行过程
- 验收方式:
- 性能测试:单路视频流延迟 < 200ms,视频码率控制在 1 Mbps 以内
- 手动验证:观看 AI 执行 3 步操作,画面流畅无卡顿
- 兼容性测试:在 Chrome、Safari、Edge 浏览器中均能正常播放直播流
挑战:GPT-4o Vision 识别元素坐标可能不精确,导致点击失败
解决方案:
- 多模态融合:结合 DOM 结构 + 视觉识别,优先使用 CSS Selector
- 容错机制:点击失败时自动重试,调整坐标偏移量
- 置信度评分:低置信度时提示用户手动介入
挑战:频繁调用 GPT-4o Vision 成本高昂
解决方案:
- 智能缓存:相似页面结构复用之前的识别结果
- 降级策略:简单页面优先使用 Playwright 原生定位
- 批量处理:一次截图识别多个元素,减少 API 调用
挑战:部分网站检测 Playwright 自动化特征
解决方案:
- Stealth 插件:隐藏 WebDriver 特征
- 真实浏览器模式:使用 Playwright 的
channel='chrome'连接真实浏览器 - 行为模拟:添加随机延迟、鼠标轨迹、滚动行为
挑战:多用户同时执行任务时浏览器资源占用过高
解决方案:
- 浏览器池:预创建 5 个浏览器实例,复用 Context
- 任务队列:超过并发限制时排队等待
- 资源监控:内存占用超过阈值时自动清理闲置浏览器
- ✅ API Keys 存储在
.env文件,永不提交到代码仓库 - ✅ 用户 Session 使用 AES-256 加密存储
- ✅ WebSocket 连接强制 WSS(TLS 加密)
- ✅ 敏感操作(支付、密码)需用户二次确认
- ✅ 页面内容仅在用户主动触发时发送到后端
- ✅ 不收集用户浏览历史和个人信息
- ✅ 支持本地部署模式(Self-hosted)
- ✅ 截图数据不持久化存储,任务完成后立即删除
- ✅ 浏览器扩展仅请求必要权限(activeTab, storage)
- ✅ 用户可随时撤销 Flux 的网站访问权限
- ✅ 敏感网站(银行、医疗)默认禁用自动化功能
# 1. 克隆项目
git clone https://github.com/your-org/flux.git
cd flux
# 2. 启动后端
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # 配置 API Keys
uvicorn main:app --reload --host 0.0.0.0 --port 8000
# 3. 启动前端(新终端)
cd frontend
npm install
npm run dev # 开发模式,支持热更新
# 4. 加载扩展到浏览器
# Chrome: 访问 chrome://extensions
# 开启"开发者模式" → "加载已解压的扩展程序" → 选择 frontend/build/chrome-mv3-dev# 后端部署(Docker)
docker build -t flux-backend ./backend
docker run -d -p 8000:8000 --env-file .env flux-backend
# 前端打包
cd frontend
npm run build # 生成 build/chrome-mv3-prod
# 发布到 Chrome Web Store
# 1. 压缩 build/chrome-mv3-prod 为 flux.zip
# 2. 上传到 Chrome Developer Dashboard
# 3. 填写商店信息并提交审核| 阶段 | 目标 | 预计时间 | 关键交付物 |
|---|---|---|---|
| MVP | 基础对话 + 简单自动化 | 4 周 | 侧边栏 + LiteLLM 集成 + Playwright 基础操作 |
| Alpha | 视觉导航 + 任务闭环 | 8 周 | GPT-4o Vision 定位 + LangGraph 编排 |
| Beta | 实时直播 + 多模型路由 | 12 周 | WebSocket 视频流 + 智能模型调度 |
| V1.0 | 技能库 + 身份托管 | 16 周 | 操作录制 + Session 加密存储 |
| V2.0 | 跨平台扩展 | 24 周 | Electron 桌面版 + 移动端适配 |
- Plasmo Framework - 浏览器扩展开发
- LiteLLM - 多模型统一接口
- FastAPI - 后端框架
- Playwright - 浏览器自动化
- LangGraph - Agent 编排
- Monica - AI 浏览器助手参考
- Manus - 端到端任务执行参考
- Adept ACT-1 - 通用 AI Agent 研究