{"name":"Index: The SOTA Open-Source Browser Agent for Autonomous Web Tasks","description":"Index is a cutting-edge open-source browser agent designed to autonomously execute complex tasks on the web. It transforms any website into an accessible API, enabling seamless integration and automation. Leveraging powerful reasoning LLMs with vision capabilities, Index simplifies web interactions and data extraction for developers.","github":"https://github.com/lmnr-ai/flow","url":"https://osrepos.com/repo/lmnr-ai-flow","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/lmnr-ai-flow","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/lmnr-ai-flow.md","json":"https://osrepos.com/repo/lmnr-ai-flow.json","topics":["ai","ai-agent","browser-agent","llm","python","web-automation","open-source","sota"],"keywords":["ai","ai-agent","browser-agent","llm","python","web-automation","open-source","sota"],"stars":null,"summary":"Index is a cutting-edge open-source browser agent designed to autonomously execute complex tasks on the web. It transforms any website into an accessible API, enabling seamless integration and automation. Leveraging powerful reasoning LLMs with vision capabilities, Index simplifies web interactions and data extraction for developers.","content":"## Introduction\n\nIndex, developed by lmnr-ai, is a state-of-the-art open-source browser agent that empowers users to autonomously perform complex tasks on the web. It effectively turns any website into an accessible API, allowing for seamless integration into your projects with just a few lines of code. Index leverages powerful reasoning Large Language Models (LLMs) with vision capabilities, supporting models like Gemini 2.5 Pro, Claude 3.7 Sonnet, and OpenAI o4-mini, to navigate, interact with, and extract information from web pages intelligently.\n\n## Installation\n\nGetting started with Index is straightforward. You can install it using pip and set up the necessary browser dependencies.\n\nbash\npip install lmnr-index 'lmnr[all]'\n\n# Install playwright\nplaywright install chromium\n\n\nAfter installation, remember to set up your model API keys (GEMINI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY) in a `.env` file in your project root. For advanced observability, you can also include your LMNR_PROJECT_API_KEY.\n\n## Examples\n\nIndex offers flexible ways to interact with the agent, whether through code, an interactive CLI, or a serverless API.\n\n### Run Index with Code\n\nYou can integrate Index directly into your Python applications to perform tasks and extract structured data using Pydantic schemas.\n\npython\nimport asyncio\nfrom index import Agent, GeminiProvider\nfrom pydantic import BaseModel\nfrom lmnr import Laminar\nimport os\n\n# to trace the agent's actions and record browser session\nLaminar.initialize()\n\n# Define Pydantic schema for structured output\nclass NewsSummary(BaseModel):\n    title: str\n    summary: str\n\nasync def main():\n    llm = GeminiProvider(model=\"gemini-2.5-pro-preview-05-06\")\n    agent = Agent(llm=llm)\n\n    # Example of getting structured output\n    output = await agent.run(\n        prompt=\"Navigate to news.ycombinator.com, find a post about AI, extract its title and provide a concise summary.\",\n        output_model=NewsSummary\n    )\n    \n    summary = NewsSummary.model_validate(output.result.content)\n    print(f\"Title: {summary.title}\")\n    print(f\"Summary: {summary.summary}\")\n    \nif __name__ == \"__main__\":\n    asyncio.run(main())\n\n\n### Run Index with CLI\n\nFor interactive use and quick tasks, Index provides a powerful command-line interface with features like browser state persistence, follow-up messages, and real-time streaming updates.\n\nbash\nindex run\n\n\nYou can also run the CLI with your personal Chrome instance to leverage existing logged-in sessions:\n\nbash\nindex run --local-chrome\n\n\n### Use Index via API\n\nFor production environments, Index is available as a serverless API, managing remote browser sessions, agent infrastructure, and browser observability.\n\npython\nfrom lmnr import Laminar, LaminarClient\n\n# Initialize tracing (optional, but recommended for observability)\nLaminar.initialize(project_api_key=\"your_api_key\")\n\n# Initialize the client\nclient = LaminarClient(project_api_key=\"your_api_key\")\n\nfor chunk in client.agent.run(\n    stream=True,\n    model_provider=\"gemini\",\n    model=\"gemini-2.5-pro-preview-05-06\",\n    prompt=\"Navigate to news.ycombinator.com, find a post about AI, and summarize it\"\n):\n    print(chunk)\n\n\n## Why Use Index?\n\nIndex stands out as a robust solution for web automation due to several key advantages:\n\n*   **State-of-the-Art Performance**: It's built to be a leading open-source browser agent, capable of handling complex web tasks autonomously.\n*   **Flexible LLM Integration**: Supports multiple powerful LLMs, including Gemini, Claude, and OpenAI models, allowing you to choose the best fit for your needs in terms of speed, cost, and accuracy.\n*   **Structured Output**: Enables reliable data extraction by supporting Pydantic schemas, ensuring your extracted data is clean and usable.\n*   **Advanced Observability**: Integrates with Laminar for comprehensive tracing of agent actions and browser sessions, providing deep insights into its operations.\n*   **Ease of Use**: With simple `pip install` and intuitive CLI and API options, Index is designed for quick deployment and integration.\n\n## Links\n\n*   **GitHub Repository**: [https://github.com/lmnr-ai/index](https://github.com/lmnr-ai/index){:target=\"_blank\"}\n*   **Documentation**: [https://docs.lmnr.ai/index-agent/getting-started](https://docs.lmnr.ai/index-agent/getting-started){:target=\"_blank\"}\n*   **Chat UI**: [https://lmnr.ai/chat](https://lmnr.ai/chat){:target=\"_blank\"}\n*   **Serverless API**: [https://docs.lmnr.ai/index-agent/api/getting-started](https://docs.lmnr.ai/index-agent/api/getting-started){:target=\"_blank\"}\n*   **Join Discord**: [https://discord.gg/nNFUUDAKub](https://discord.gg/nNFUUDAKub){:target=\"_blank\"}\n*   **Follow on X (Twitter)**: [https://x.com/lmnrai](https://x.com/lmnrai){:target=\"_blank\"}","metrics":{"detailViews":1,"githubClicks":3},"dates":{"published":null,"modified":"2026-04-27T00:01:27.000Z"}}