Metadata-Version: 2.4
Name: browse-now
Version: 2.10.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Rust
Classifier: Topic :: Internet :: WWW/HTTP :: Browsers
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Summary: Browser automation CLI for AI agents - reliable element targeting through accessibility tree refs
Keywords: browser,automation,ai,agent,cli,web-scraping,accessibility,chrome-extension,llm
Author-email: Nowledge Labs <support@nowledge.co>
License: Proprietary
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Bug Tracker, https://github.com/nowledge-co/nowledge-mem/issues
Project-URL: Chrome Extension, https://chromewebstore.google.com/detail/nowledge-memory-exchange/kjgpkgodplgakbeanoifnlpkphemcbmh
Project-URL: Documentation, https://mem.nowledge.co/docs/
Project-URL: Homepage, https://mem.nowledge.co

# 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](https://mem.nowledge.co)** - 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

```bash
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](https://chromewebstore.google.com/detail/nowledge-memory-exchange/kjgpkgodplgakbeanoifnlpkphemcbmh)** Chrome extension installed and active
2. **[Nowledge Mem](https://mem.nowledge.co)** app running on the same machine (provides the local browser bridge)

## Quick Start

```bash
# 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](https://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

- [Full Documentation](https://mem.nowledge.co/docs/)
- [Nowledge Mem](https://mem.nowledge.co) - Personal memory for AI agents
- [Chrome Extension](https://chromewebstore.google.com/detail/nowledge-memory-exchange/kjgpkgodplgakbeanoifnlpkphemcbmh)

## License

Proprietary - see [Nowledge Terms of Service](https://nowledge.co/terms)

