Skip to main content

coreason-navigator

Project description

coreason-navigator

License CI Code Style: Ruff Documentation

coreason-navigator is the "Eyes and Hands" of the CoReason platform for the World Wide Web. It bridges the gap between modern AI agents and legacy web interfaces using State-of-the-Art (SOTA) "Computer Use" techniques.

Features

  • Visual Navigation: Agents use a headless browser (Playwright) to "see" and interact with webpages just like a human, bypassing the need for fragile API integrations.
  • Vision-Language Model (VLM) Integration: Uses screenshots and Accessibility Trees (AX Tree) to ground LLM intent into precise screen coordinates.
  • Robust Orchestration: Handles dynamic content, session persistence, and stealth techniques (e.g., User-Agent rotation) to avoid detection.
  • Set-of-Marks (SoM): Overlays numeric tags on interactive elements to improve VLM accuracy.
  • Content Extraction: Converts noisy webpages into clean Markdown for LLM consumption.
  • Safety First: Includes rate limiting, domain allowlisting, and PII input protection.

Installation

pip install coreason-navigator

Or install from source:

git clone https://github.com/CoReason-AI/coreason_navigator.git
cd coreason_navigator
pip install .

You will also need to install Playwright browsers:

playwright install chromium

Usage

Here is a simple example of how to use the PlaywrightNavigator:

import asyncio
from coreason_navigator.driver import PlaywrightNavigator
from coreason_navigator.types import GotoAction, ClickAction

async def main():
    # Initialize the navigator (headless by default)
    navigator = PlaywrightNavigator(headless=True)

    try:
        # Launch the browser
        await navigator.launch()

        # Navigate to a URL
        print("Navigating to example.com...")
        state = await navigator.navigate("https://example.com")
        print(f"Title: {state.title}")

        # Take a screenshot (base64 encoded)
        # print(state.screenshot_base64[:50] + "...")

        # Extract content
        content = await navigator.extract_content(format="markdown")
        print("Page Content Summary:")
        print(content[:200])

    finally:
        # Always close resources
        await navigator.close()

if __name__ == "__main__":
    asyncio.run(main())

Architecture

  1. Observe: Captures screenshot and Accessibility Tree.
  2. Orient: Maps user intent to screen coordinates using VLM.
  3. Decide: Formulates browser actions (Click, Type, Scroll).
  4. Act: Executes actions via Playwright.

License

This software is proprietary and dual-licensed. Licensed under the Prosperity Public License 3.0. Commercial use beyond a 30-day trial requires a separate license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coreason_navigator-0.2.1.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coreason_navigator-0.2.1-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file coreason_navigator-0.2.1.tar.gz.

File metadata

  • Download URL: coreason_navigator-0.2.1.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for coreason_navigator-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5e7097e5243d603cac037affdba499bc8e3a7e41c8e199427ae6998ca152e8a0
MD5 16c30029f4b3468314d4ef4e8020aec5
BLAKE2b-256 eccd01b240856169cbcaa974cfc96dd83af3a6b79540a3cb65f31ea8c40df92f

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_navigator-0.2.1.tar.gz:

Publisher: publish.yml on CoReason-AI/coreason-navigator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file coreason_navigator-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for coreason_navigator-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 98325ca57edf835032e72f62de3831af2733c70091b92bc49e8145c521f1f1d2
MD5 49a70c6c3e9b5378f41a157cde569b82
BLAKE2b-256 a68ba08e3ea8f983a17ba593acd9c3bb63f76553a672b11ceaea3d85651c9a17

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_navigator-0.2.1-py3-none-any.whl:

Publisher: publish.yml on CoReason-AI/coreason-navigator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page