Skip to main content

Browser automation CLI for AI agents - reliable element targeting through accessibility tree refs

Project description

browse-now

Browser automation CLI for AI agents. Control your real browser from the command line with reliable element targeting through accessibility tree refs.

Part of Nowledge Mem - Personal memory for AI agents.

Now a compiled binary. browse-now ships the Rust-built browse-now binary instead of a Python module. pip install browse-now downloads a platform wheel that contains the compiled CLI and puts browse-now on your PATH. No Python runtime requirement beyond pip, and no Python dependencies. It drives your browser through the Nowledge Mem Exchange extension over the local WebSocket bridge the Nowledge Mem app already serves. The command surface is unchanged.

Why browse-now?

  • Low overhead: No tool definitions loaded into LLM context (unlike MCP)
  • Reliable targeting: Uses accessibility tree refs (@e1, @e2) for high click reliability
  • AI-agent optimized: Designed for the snapshot → click → repeat workflow
  • Multi-browser support: Works with Chrome, Arc, Edge, and other Chromium browsers

Installation

pip install browse-now

The wheel bundles the compiled browse-now binary for your platform (macOS arm64/x86_64, Linux x86_64/aarch64, Windows x64). It must still run on the same machine as the Nowledge Mem app and the connected browser extension.

Prerequisites

  1. Nowledge Memory Exchange Chrome extension installed and active
  2. Nowledge Mem app running on the same machine (provides the local browser bridge)

Quick Start

# Navigate to a page
browse-now open https://example.com

# Get interactive elements with refs
browse-now snapshot -i
#   textbox "Search" [e1]
#   button "Submit" [e2]

# Click by ref
browse-now click @e2

# Fill input
browse-now fill @e1 "AI agents" --submit

# Show version
browse-now --version

Core Workflow

1. browse-now open <url>           # Open page (isolated agent tab)
2. browse-now snapshot -i          # Get refs [e1], [e2]...
3. browse-now click @e5            # Click by ref
4. browse-now fill @e3 "text"      # Fill by ref
5. (If page changed) → snapshot -i again

For the full command reference (navigation, interactions, screenshots, tabs, multi-browser, JSON output) see mem.nowledge.co/docs.

Local-only security model

browse-now talks to the browser bridge endpoints exposed by the Nowledge Mem app. Those endpoints are intentionally local-only: they are not exposed through Access Anywhere, Cloudflare tunnels, or other remote-access paths.

  • browse-now must run on the same machine as the Nowledge Mem app
  • the controlled browser must also be on that same machine with the Exchange extension active
  • publishing to PyPI makes the CLI easier to install, but does not turn browser automation into a remote-access surface

Documentation

License

Proprietary - see Nowledge Terms of Service

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

browse_now-2.10.0.tar.gz (86.0 kB view details)

Uploaded Source

Built Distributions

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

browse_now-2.10.0-py3-none-win_amd64.whl (2.8 MB view details)

Uploaded Python 3Windows x86-64

browse_now-2.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

browse_now-2.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

browse_now-2.10.0-py3-none-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

browse_now-2.10.0-py3-none-macosx_10_12_x86_64.whl (3.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file browse_now-2.10.0.tar.gz.

File metadata

  • Download URL: browse_now-2.10.0.tar.gz
  • Upload date:
  • Size: 86.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for browse_now-2.10.0.tar.gz
Algorithm Hash digest
SHA256 8e3ea50ed4ee6cc81c9b133bac638253a1da1d925b9c15b4233904a59740843c
MD5 42bafccd92e3c77646ad32da40196857
BLAKE2b-256 273603a2c6f8095150ddf903591fd2ef46b94c5be4c895c702001b64448407da

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0.tar.gz:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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

File details

Details for the file browse_now-2.10.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: browse_now-2.10.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for browse_now-2.10.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 6f9ea77e3cd665c111d8bf87203ee771de961d94ff6ed66bece8bc99466cfd30
MD5 959c10e97b8ea8e738f4a388315e5fb4
BLAKE2b-256 af96b265cc49540160727e8291b1a53fca114c340f1a4f6eab0b1b18f11fe88b

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0-py3-none-win_amd64.whl:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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

File details

Details for the file browse_now-2.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for browse_now-2.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9833da28c082ce15ffec47269fc06d9e46fb72b029a16281157e6796cf53a2c
MD5 db2a2573b2323eec2767f594e2ba0887
BLAKE2b-256 35a1b12437e2fdfd599222a7c09a931fc6e0d884f2809400f6d34f155457bb58

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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

File details

Details for the file browse_now-2.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for browse_now-2.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c4421c1b4debb25dc8174a1614e39820de0d49eb95d41bf86e12539feed631d
MD5 fe782caffec6453907900b747391796d
BLAKE2b-256 4dcaf42dfafff5486a60247de73b26237811cb45a28b31431e96a12d2d32c041

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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

File details

Details for the file browse_now-2.10.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for browse_now-2.10.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 29016916728b715d925ad2696bdfa787b322346dfa89ab7a5642b3d139accda7
MD5 24d3c456224ee6e0a13fde2239ced151
BLAKE2b-256 f7aed12fb0d20859032ee6de170f481b7a249c843344444b53b6c5883ac3cc68

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0-py3-none-macosx_11_0_arm64.whl:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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

File details

Details for the file browse_now-2.10.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for browse_now-2.10.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 53f28d0b1c394c2982ebbf83f7bc01f5a454028acea5beec3fcc51d711bfbbc3
MD5 fd04320a665f4e9fec814beebce592aa
BLAKE2b-256 fdd50fe498d86cc6634a426c3d7b9d3ab33e73599ef31c9f9edea824214c9881

See more details on using hashes here.

Provenance

The following attestation bundles were made for browse_now-2.10.0-py3-none-macosx_10_12_x86_64.whl:

Publisher: release-pypi-clis.yml on nowledge-co/mem

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