当前位置: 首页 > news >正文

index: 自动化浏览器智能体

GitHub:https://github.com/lmnr-ai/index

更多AI开源软件:https://www.aiinn.cn/

在做浏览器自动化脚本时,我们常常需要编写大量代码来处理复杂的网页交互,不仅耗时耗力,还难以调试和优化,要是出错更是难以精准定位问题所在。

主要功能

Index 是一款先进的开源浏览器代理,能够自主地在网络上执行复杂任务。

  • 它由 Claude 3.7 Sonnet 驱动,具有扩展性思维。未来将支持更多模型。
  • Index 还提供托管 API 服务。
  • 您还可以尝试通过托管 UI 或完全自托管 UI 来使用 Index。
  • 支持由 Laminar 提供的先进浏览器代理可观察性。

安装和使用

安装 Laminar
pip install lmnr
通过 API 使用 Index
from lmnr import Laminar, AsyncLaminarClient
# you can also set LMNR_PROJECT_API_KEY environment variable# Initialize tracing
Laminar.initialize(project_api_key="your_api_key")# Initialize the client
client = AsyncLaminarClient(api_key="your_api_key")async def main():# Run a taskresponse = await client.agent.run(prompt="Navigate to news.ycombinator.com, find a post about AI, and summarize it")# Print the resultprint(response.result)if __name__ == "__main__":asyncio.run(main())

当您通过 API 调用 Index 时,您会自动在 Laminar 平台上获得完整的浏览器代理可观察性。详细了解 Index 浏览器可观测性。

本地快速入门
安装依赖项
pip install lmnr-index# Install playwright
playwright install chromium
运行代理
import asyncio
from index import Agent, AnthropicProviderasync def main():# Initialize the LLM providerllm = AnthropicProvider(model="claude-3-7-sonnet-20250219",enable_thinking=True, thinking_token_budget=2048)# Create an agent with the LLMagent = Agent(llm=llm)# Run the agent with a taskoutput = await agent.run(prompt="Navigate to news.ycombinator.com, find a post about AI, and summarize it")# Print the resultprint(output.result)if __name__ == "__main__":asyncio.run(main())

实战演习

场景1:流式传输代理的输出
from index import Agent, AnthropicProvideragent = Agent(llm=AnthropicProvider(model="claude-3-7-sonnet-20250219"))  # Stream the agent's output
async for chunk in agent.run_stream(prompt="Navigate to news.ycombinator.com, find a post about AI, and summarize it"):print(chunk)
场景2:启用浏览器代理可观测性

要跟踪 Index 代理的作并记录浏览器会话,您只需在运行代理之前初始化 Laminar 跟踪。

from lmnr import LaminarLaminar.initialize(project_api_key="your_api_key")

然后,您将获得与 Laminar 平台中的浏览器会话同步的代理作的完全可观察性。

​​

场景3:使用远程 CDP URL 运行
import asyncio
from index import Agent, AnthropicProvider, BrowserConfigasync def main():# Configure browser to connect to an existing Chrome DevTools Protocol endpointbrowser_config = BrowserConfig(cdp_url="<cdp_url>")# Initialize the LLM providerllm = AnthropicProvider(model="claude-3-7-sonnet-20250219", enable_thinking=True, thinking_token_budget=2048)# Create an agent with the LLM and browseragent = Agent(llm=llm, browser_config=browser_config)# Run the agent with a taskoutput = await agent.run(prompt="Navigate to news.ycombinator.com and find the top story")# Print the resultprint(output.result)if __name__ == "__main__":asyncio.run(main())
场景4:自定义浏览器窗口大小
import asyncio
from index import Agent, AnthropicProvider, BrowserConfigasync def main():# Configure browser with custom viewport sizebrowser_config = BrowserConfig(viewport_size={"width": 1200, "height": 900})# Initialize the LLM providerllm = AnthropicProvider(model="claude-3-7-sonnet-20250219")# Create an agent with the LLM and browseragent = Agent(llm=llm, browser_config=browser_config)# Run the agent with a taskoutput = await agent.run("Navigate to a responsive website and capture how it looks in full HD resolution")# Print the resultprint(output.result)if __name__ == "__main__":asyncio.run(main())

相关文章:

  • React 中如何获取 DOM:用 useRef 操作非受控组件
  • 基于n8n的AI应用工作流原理与技术解析
  • 【LLMs篇】09:白话PPO训练
  • Day53 二叉树的层序遍历
  • 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件yolo.py解读
  • GN ninja 工程化构建例程
  • yarn的三大组件及各自的作用
  • 进阶篇|CAN FD 与性能优化
  • uboot下读取ubifs分区的方法
  • leetcode刷题日记——单词规律
  • webgl入门实例-11模型矩阵 (Model Matrix)基本概念
  • Unity粒子特效打包后不显示
  • FP16、FP32 及全系列浮点格式全解析:从半精度到四倍精度
  • IDEA 2025.1更新-AI助手试用和第三方模型集成方案
  • 2025年GitHub平台上的十大开源MCP服务器汇总分析
  • 【AI飞】AutoIT入门七(实战):python操控autoit解决csf视频批量转换(有点难,AI都不会)
  • 如何下载适用于Docker环境的Google Chrome浏览器【镜像使用方法】
  • RT-Thread RTThread studio 初使用
  • osgb和obj格式互转
  • 计算机视觉---相机标定
  • 透纳仍是英国最好的艺术家,浦东美术馆有他的画展
  • 荣膺劳伦斯大奖实至名归,杜普兰蒂斯的传奇没有极限
  • 陈杨梅:刷到“棉花糖爸爸”寻女视频,隐约觉得自己就是爸爸要找的孩子
  • 阿塞拜疆总统阿利耶夫将访华
  • 海港主场不敌蓉城遭遇联赛首败,好消息是武磊终于复出了
  • “棉花糖爸爸”陈生梨:女儿将落户到贵州纳雍