链接cerebellum是一个轻量级浏览器代理,通过键盘和鼠标操作在网页上实现用户定义的目标。

cerebellum 的特点

兼容所有支持 Selenium 的浏览器。

使用用户提供的 JSON 数据填写表单。

接受运行时指令以动态调整浏览策略和操作。

Cerebellum 是如何工作的

网页浏览被简化为导航一个有向图。

每个网页是一个包含可见元素和数据的节点。

用户的操作,例如点击或输入,是在节点之间移动的边。

Cerebellum 从一个网页开始,目标是到达一个体现完成目标的目标节点。

它使用大型语言模型(LLM)通过分析页面内容和交互元素来找到新的节点。

LLM 根据当前状态和过去的操作决定下一个动作。

Cerebellum 执行 LLM 计划的动作,并将新的状态反馈给 LLM 以进行下一步。

该过程在 LLM 决定目标已达到或无法实现时结束。

cerebellum 安装使用

目前 cerebellum 支持 TypeScript 和 Python 两个版本。好吧!我知道大家应该只关心Python版本。

首先,通过 pip 安装

pip install cerebellum

然后,设置你的 Anthropic API key, 即 claude3 的API key。

export ANTHROPIC_API_KEY= 'your-api-key'

这一步是设置系统环境变量,cerebellum 代码中会读取电脑的这个环境变量。

最后,编写 cerebellum 脚本

在这里插入图片描述

cerebellum 分析

很遗憾~!,我花费了半天时间没弄到 AnthropicAPI key, 官方支付需要绑定信用卡,我国内的信用卡用不了。国内的一些代理的API,无法直接使用,因为 cerebellum 比较深度的依赖 anthropic-sdk-python。

我看了一下源码,可以替换 openai API 或 国内的一些模型的 API,估计要花费写时间重写。

https://github.com/anthropics/anthropic-sdk-python

抛去 anthropic 部分的依赖,cerebellum 并没有太多的自己的东西了,主要依赖如下:

seleniumbase = "^4.32.9"
anthropic = "^0.39.0"
pillow = "^11.0.0"

通过示例可以看到使用 seleniumbase 获取浏览器驱动和打开浏览器页面。seleniumbase 又依赖于selenium 和 pytest,自动化操作的核心还是我们传统的技术。

pillow

pillow 是Python的图像处理库,我的理解应该是将页面截图并进行处理。

anthropic

anthropic 识别用于识别自动化意图。

goal = "Show me the wikipedia page of the creator of Bitcoin"

首先,通过 “creator of Bitcoin” 获取到比特币的创造者是:“Satoshi Nakamoto”, 再从提取“wikipedia” 关键信息,最后组成搜索关键字:“Satoshi Nakamoto wikipedia” 。

接下来,页面截图分析,识别google搜索框,并输入关键字搜索,最后,在结果中获得维基百科的链接并打开。

在这里插入图片描述

总结

我们之前曾介绍过 AppAgent 工具,cerebellum 的思路类似,核心基于LLM模型本身的能力。

再次,表示遗憾,没弄到 AnthropicAPI key 导致上面的例子我没真正的跑一下,这偏文章写的不那么踏实了。

感兴趣评论区留言,我打算花点时间把 cerebellum 替换为其他可用的模型,claude3 虽然优势明显,倒也不至于非他不可。

最后作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐