浏览器智能助手cerebellum

文摘   2024-11-06 09:13   湖北  

项目简介

一款浏览器智能助手:cerebellum,基于Claude 3.5 Sonnet、Selenium WebDriver构建,可以完成网页自动化任务,可以用来抓取数据、网站自动化测试等它能理解任务意图并根据当前网页状态和历史操作,决定下一步行动,用Sonnet分析网页内容和交互元素做出规划,如发生变化会调整策略 与浏览器原生集成,支持Chrome、Firefox、Safari、Edge等浏览器 能精确模拟用户行为,支持复杂的自动化场景


它是如何运作的

  1. Web 浏览被简化为导航有向图。

  2. 每个网页都是一个具有可见元素和数据的节点。

  3. 用户操作(例如单击或键入)是在节点之间移动的边。

  4. 小脑从网页开始,旨在到达体现已完成目标的目标节点。

  5. 它使用LLM通过分析页面内容和交互元素来查找新节点。

  6. LLM根据当前状态和过去的行动决定下一步的行动。

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

  8. 当LLM认为目标已达到或无法实现时,该过程结束。


目前,Claude 3.5 Sonnet 是唯一受支持的LLM


特征

  • 与任何支持 Selenium 的浏览器兼容。

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

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

  • TODO:从浏览会话创建训练数据集


设置

  1. 设置 Anthropic API 密钥并添加ANTHROPIC_API_KEY环境变量。

  2. 从 npm 安装Cerebellum和Selenium :

npm i cerebellum-ai selenium-webdriver

3. 为您想要自动化的浏览器设置 Selenium webdriver。

    • 请按照 Selenium 包上的说明进行操作:https://www.npmjs.com/package/selenium-webdriver

    • Chrome: brew install chromedriver

    • 火狐: brew install geckodriver

    • MacOS:  

    • Linux/Windows: 

    4. 创建一个 Selenium Webdriver 实例以在代码中使用。

    import { Builder, Browser } from 'selenium-webdriver';
    const browser = await new Builder().forBrowser(Browser.CHROME).build();


    5. 使用 Cerebellum 来实现网站上的目标。

    import { AnthropicPlanner, BrowserAgent} from 'cerebellum-ai';
    // Point the browser to a websiteawait browser.get('https://www.google.com');
    // Define your goalconst goal = 'Show me the wikipedia page of the creator of Bitcoin';
    // Set your Anthropic API keyconst anthropicApiKey = process.env.ANTHROPIC_API_KEY as string;
    // Initialize ActionPlanner with LLMconst planner = new AnthropicPlanner({ apiKey: anthropicApiKey });
    // Initialize BrowserAgent to tie together the browser, planner and goalconst agent = new BrowserAgent(browser, planner, goal);
    // Start the automated navigation processawait agent.start();
    /** * Goal has now been accomplish on 'browser', navigation state saved in 'agent' **/


    项目链接

    https://github.com/theredsix/cerebellum

    扫码加入技术交流群,备注开发语言-城市-昵称

    合作请注明


     

    关注「GitHubStore」公众号


    GitHubStore
    分享有意思的开源项目
     最新文章