© 2026FindAgent  · @simprr
返回列表
l

lmnr-ai/index

The SOTA Open-Source Browser Agent for autonomously performing complex tasks on the web

aiai-agentbrowser-agentclaude-3-7-sonnetgemini-prollmsota
⭐

2.3k

Stars

🔱

123

Forks

👁

19

Watchers

📋

6

Issues

PythonApache-2.0创建于 2024/11/30更新于 今天
在 GitHub 上查看
README
由 Gemini 翻译整理

GitHub stars Static Badge X (formerly Twitter) Follow Static Badge

Index

Index 是一款处于行业领先水平的开源浏览器 Agent,能够自主执行复杂的网页任务。它能将任何网站转化为可访问的 API,只需几行代码即可无缝集成。

  • 由具备视觉能力的推理 LLM 驱动。
    • Gemini 2.5 Pro(速度极快且准确)
    • Claude 3.7 Sonnet(具备扩展思维能力,可靠且准确)
    • OpenAI o4-mini(根据推理深度不同,在速度、成本和准确性之间提供良好平衡)
    • Gemini 2.5 Flash(速度极快、成本低廉,非常适合处理简单任务)
  • 支持通过 pip install lmnr-index 在项目中使用。
  • 通过 index run 即可在交互式 CLI 中运行 Agent。
  • 支持通过 Pydantic 模型进行结构化输出,确保数据提取的可靠性。
  • Index 同时提供 Serverless API。
  • 您也可以通过 Chat UI 体验 Index。
  • 支持由开源平台 Laminar 驱动的高级 浏览器 Agent 可观测性。

提示词:go to ycombinator.com. summarize first 3 companies in the W25 batch and make new spreadsheet in google sheets.

https://github.com/user-attachments/assets/2b46ee20-81b6-4188-92fb-4d97fe0b3d6a

文档

点击此处查看完整文档。

快速开始

安装依赖

pip install lmnr-index 'lmnr[all]'

# 安装 playwright
playwright install chromium

设置模型 API Key

在项目根目录下的 .env 文件中设置您的模型 API Key:

GEMINI_API_KEY=
ANTHROPIC_API_KEY=
OPENAI_API_KEY=
# 可选:用于追踪 Agent 动作并记录浏览器会话
LMNR_PROJECT_API_KEY=

通过代码运行 Index

import asyncio
from index import Agent, GeminiProvider
from pydantic import BaseModel
from lmnr import Laminar
import os

# 用于追踪 Agent 动作并记录浏览器会话
Laminar.initialize()

# 定义用于结构化输出的 Pydantic 模型
class NewsSummary(BaseModel):
    title: str
    summary: str

async def main():

    llm = GeminiProvider(model="gemini-2.5-pro-preview-05-06")
    agent = Agent(llm=llm)

    # 获取结构化输出的示例
    output = await agent.run(
        prompt="Navigate to news.ycombinator.com, find a post about AI, extract its title and provide a concise summary.",
        output_model=NewsSummary
    )
    
    summary = NewsSummary.model_validate(output.result.content)
    print(f"Title: {summary.title}")
    print(f"Summary: {summary.summary}")
    
if __name__ == "__main__":
    asyncio.run(main())

通过 CLI 运行 Index

Index CLI 特性:

  • 会话间浏览器状态持久化
  • 支持“人工介入控制”功能的后续对话
  • 实时流式更新
  • 使用 Textual 构建的精美终端 UI

您可以使用以下命令运行 Index CLI:

index run

输出界面如下:

Loaded existing browser state
╭───────────────────── Interactive Mode ─────────────────────╮
│ Index Browser Agent Interactive Mode                       │
│ Type your message and press Enter. The agent will respond. │
│ Press Ctrl+C to exit.                                      │
╰────────────────────────────────────────────────────────────╯

Choose an LLM model:
1. Gemini 2.5 Flash
2. Claude 3.7 Sonnet
3. OpenAI o4-mini
Select model [1/2] (1): 3
Using OpenAI model: o4-mini
Loaded existing browser state

Your message: go to lmnr.ai, summarize pricing page

Agent is working...
Step 1: Opening lmnr.ai
Step 2: Opening Pricing page
Step 3: Scrolling for more pricing details
Step 4: Scrolling back up to view pricing tiers
Step 5: Provided concise summary of the three pricing tiers

使用个人 Chrome 实例运行 CLI

您可以使用个人的 Chrome 浏览器实例代替启动新的浏览器。其主要优势在于,您可以直接使用所有已登录的会话。

# 使用默认 Chrome 路径的基本用法
index run --local-chrome

通过 API 使用 Index

在生产环境中使用 Index 最简单的方法是使用 Serverless API。Index API 可以管理远程浏览器会话、Agent 基础设施以及 浏览器可观测性。要开始使用,请在 Laminar 中创建一个项目 API Key。

安装 Laminar

pip install lmnr

通过 API 使用 Index

from lmnr import Laminar, LaminarClient
# 您也可以设置 LMNR_PROJECT_API_KEY 环境变量
贡献者
sdKs
项目信息
默认分支main
LicenseApache License 2.0
创建时间2024/11/30
最近更新今天
GAI 中文摘要

Index 是一个先进的开源浏览器智能体,旨在自主执行复杂的网页自动化任务。它能够将任意网站转化为可调用的 API,从而简化网页交互流程并无缝集成到开发者的项目中。

支持多种具备视觉能力的推理型大模型,包括 Claude 3.7 Sonnet、Gemini 2.5 Pro/Flash 以及 OpenAI o4-mini。 提供结构化输出功能,支持通过 Pydantic 定义模型以实现高可靠性的网页数据抓取。 具备浏览器状态持久化功能,允许用户连接个人 Chrome 实例以保持登录状态。 内置深度观测与追踪系统,支持通过命令行交互或 Serverless API 两种方式灵活部署。 提供实时流式响应和人性化的交互式终端界面,并支持人工干预控制。

该项目适用于需要进行大规模网页数据提取、自动化工作流构建或复杂在线任务处理的开发者。它能够帮助用户在无需编写复杂爬虫脚本的情况下,通过自然语言指令快速实现网页操作的自动化。