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.0.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.0-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: coreason_navigator-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 74c16572eac9706a6cbc78cb4a688b7039b6483b58bb70db5839e6673e5bed08
MD5 3d43c29222c3fc292272982b9587c1c4
BLAKE2b-256 e00913a6c8b430a92eda0fd6b63189442659a102eb05b9db246abb0d6afcdab4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for coreason_navigator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 227a4d951352eb88e8aeeee3ebcd52cf726634606690ac08330aec1ac99208e3
MD5 11da636cce8d6eb380784498b128a18c
BLAKE2b-256 14cc29e3715291d50de8b751005a7f3b875370e4b8f2655c196ac8734f7503db

See more details on using hashes here.

Provenance

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