Skip to main content

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.

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.

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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