1. 项目背景与核心需求
在企业级自动化场景中,我们经常需要面对多个业务系统并存的情况。以销售系统和OA系统为例,虽然它们都基于浏览器操作,但各自有着完全不同的业务逻辑和操作流程。传统的一刀切式自动化方案往往面临两个困境:
- 公共动作与定制动作的冲突:基础操作(如点击、输入)可以通用,但登录、数据查询等业务操作需要差异化实现
- 知识库的隔离与共享:各系统有专属的业务规则文档,同时又需要遵守统一的自动化规范
我在实际项目中采用的解决方案是通过分层架构实现"公共底座+业务扩展"的模式。具体来说:
- 底层保留所有系统的公共操作(点击、导航等)
- 中间层通过继承机制实现业务定制(销售登录、OA审批等)
- 上层通过知识库动态加载实现业务规则的灵活配置
这种架构带来的直接收益是:当新增第三个业务系统(如HR系统)时,只需新增一个hr_custom_service.py并配置对应的知识库文件,无需修改任何底层代码。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 架构设计与核心组件
2.1 整体架构分层
code复制browser_use/
├── agent/
│ ├── service.py # 核心Agent类(改造后支持动态加载)
│ ├── knowledge_base.py # 新增知识库服务
│ └── prompts.py # 改造后的提示词生成器
├── controller/
│ ├── service.py # 公共Controller基类
│ └── custom/ # 各业务系统定制Controller
│ ├── sale_custom_service.py
│ └── oa_custom_service.py
└── knowledge_base/ # 各系统知识库文档
├── sale_system_kb.md
├── oa_system_kb.md
└── common_rules.md # 公共规则文档
2.2 关键组件职责
- KnowledgeBaseService
实现知识库的按需加载和组合,核心方法:pyt复制
