index: 自动化浏览器智能体

GitHubhttps://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 task
    response = await client.agent.run(
        prompt="Navigate to news.ycombinator.com, find a post about AI, and summarize it"
    )

    # Print the result
    print(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, AnthropicProvider

async def main():
    # Initialize the LLM provider
    llm = AnthropicProvider(
            model="claude-3-7-sonnet-20250219",
            enable_thinking=True, 
            thinking_token_budget=2048)
  
    # Create an agent with the LLM
    agent = Agent(llm=llm)
  
    # Run the agent with a task
    output = await agent.run(
        prompt="Navigate to news.ycombinator.com, find a post about AI, and summarize it"
    )
  
    # Print the result
    print(output.result)
  
if __name__ == "__main__":
    asyncio.run(main())

实战演习

场景1:流式传输代理的输出
复制代码
from index import Agent, AnthropicProvider

agent = 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 Laminar

Laminar.initialize(project_api_key="your_api_key")

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

​​

场景3:使用远程 CDP URL 运行
复制代码
import asyncio
from index import Agent, AnthropicProvider, BrowserConfig

async def main():
    # Configure browser to connect to an existing Chrome DevTools Protocol endpoint
    browser_config = BrowserConfig(
        cdp_url="<cdp_url>"
    )
  
    # Initialize the LLM provider
    llm = AnthropicProvider(model="claude-3-7-sonnet-20250219", enable_thinking=True, thinking_token_budget=2048)
  
    # Create an agent with the LLM and browser
    agent = Agent(llm=llm, browser_config=browser_config)
  
    # Run the agent with a task
    output = await agent.run(
        prompt="Navigate to news.ycombinator.com and find the top story"
    )
  
    # Print the result
    print(output.result)
  
if __name__ == "__main__":
    asyncio.run(main())
场景4:自定义浏览器窗口大小
复制代码
import asyncio
from index import Agent, AnthropicProvider, BrowserConfig

async def main():
    # Configure browser with custom viewport size
    browser_config = BrowserConfig(
        viewport_size={"width": 1200, "height": 900}
    )
  
    # Initialize the LLM provider
    llm = AnthropicProvider(model="claude-3-7-sonnet-20250219")
  
    # Create an agent with the LLM and browser
    agent = Agent(llm=llm, browser_config=browser_config)
  
    # Run the agent with a task
    output = await agent.run(
        "Navigate to a responsive website and capture how it looks in full HD resolution"
    )
  
    # Print the result
    print(output.result)
  
if __name__ == "__main__":
    asyncio.run(main())
相关推荐
工藤学编程2 小时前
零基础学AI大模型之LangChain智能体之initialize_agent开发实战
人工智能·langchain
king王一帅3 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
泰迪智能科技5 小时前
分享|职业技术培训|数字技术应用工程师快问快答
人工智能
Dxy12393102167 小时前
如何给AI提问:让机器高效理解你的需求
人工智能
少林码僧7 小时前
2.31 机器学习神器项目实战:如何在真实项目中应用XGBoost等算法
人工智能·python·算法·机器学习·ai·数据挖掘
钱彬 (Qian Bin)7 小时前
项目实践15—全球证件智能识别系统(切换为Qwen3-VL-8B-Instruct图文多模态大模型)
人工智能·算法·机器学习·多模态·全球证件识别
没学上了8 小时前
CNNMNIST
人工智能·深度学习
宝贝儿好8 小时前
【强化学习】第六章:无模型控制:在轨MC控制、在轨时序差分学习(Sarsa)、离轨学习(Q-learning)
人工智能·python·深度学习·学习·机器学习·机器人
智驱力人工智能8 小时前
守护流动的规则 基于视觉分析的穿越导流线区检测技术工程实践 交通路口导流区穿越实时预警技术 智慧交通部署指南
人工智能·opencv·安全·目标检测·计算机视觉·cnn·边缘计算
AI产品备案8 小时前
生成式人工智能大模型备案制度与发展要求
人工智能·深度学习·大模型备案·算法备案·大模型登记