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.1.0.tar.gz (19.6 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.1.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coreason_navigator-0.1.0.tar.gz
  • Upload date:
  • Size: 19.6 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.1.0.tar.gz
Algorithm Hash digest
SHA256 7af251a014d6fb5ec874342bf3e4f7bcff7c37b351b7815035cfaef942a58895
MD5 f600f931d711e25d034060da15538ecb
BLAKE2b-256 9c2df4f03061cce017fbf71399243cc1ab852063ece5f6521ba68ec2d4a1c15d

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_navigator-0.1.0.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.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for coreason_navigator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db2e9c5e48cdae116e7c8045db0cf44d3910678fca5be7c48d67524006b39aa2
MD5 55e833184a1cffd0e656d9ec7afaeecc
BLAKE2b-256 ca01cff659a436532a337567e6d6a997bf390c94080079e366743017b4899e68

See more details on using hashes here.

Provenance

The following attestation bundles were made for coreason_navigator-0.1.0-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