Browse Now
Browser automation CLI for AI agents, powered by the Nowledge Mem app and Exchange extension
browse-now is the browser automation CLI bundled with the Nowledge Mem desktop app.
Use it when an agent needs your real browser, not a generic fetch: authenticated websites, dynamic pages, form filling, screenshots, or content that only appears after the page has fully rendered.
It works together with the Nowledge Mem Exchange browser extension. The extension provides the live browser bridge, and browse-now gives agents a CLI they can actually call.
If you use AI Now, there is also a built-in Browse Now skill toggle in AI Now → Plugins → Skills. Turn that on when you want AI Now itself to proactively use the browser bridge during a task.
What It Is For
Use browse-now when:
- the site depends on your login session or cookies
- the task needs clicking, typing, scrolling, or navigation
- the page is dynamic enough that plain web fetches miss the real state
- the agent needs a screenshot or rendered-page text
Do not use it for simple public pages that ordinary web search can answer faster.
Requirements
You need all of these:
- the Nowledge Mem desktop app installed
- the bundled
browse-nowCLI available on your machine - the Nowledge Mem Exchange extension installed in Chrome, Edge, Arc, or another supported Chromium browser
- at least one connected browser with the extension active
Local-only security boundary
browse-now is local-only. It must run on the same machine as the Nowledge Mem app and the connected browser extension. Access Anywhere does not expose the browser-bridge endpoints.
If the app is installed, browse-now is usually auto-installed for you. Check with:
browse-now status
browse-now --helpThe First Useful Flow
Start with one real page you already use:
- open the site with
browse-now open <url> - inspect the interactive elements with
browse-now snapshot -i - click or fill by ref
- confirm navigation with
browse-now get url - re-run
snapshot -iafter the page changes
That is the core loop.
browse-now open https://example.com
browse-now snapshot -i
browse-now click @e5
browse-now wait 2
browse-now get url
browse-now snapshot -iRefs First
The preferred interaction order is:
snapshot -iclick @eNorfill @eN ...get urlorget titlesnapshot -iagain after navigation or major DOM changes
If the page has weak accessibility data, fall back to:
browse-now find "query"browse-now click -T "visible text"browse-now screenshot /tmp/page.png
Key Commands
browse-now open https://example.com
browse-now snapshot -i
browse-now find "search button"
browse-now click @e12
browse-now fill @e3 "Nowledge Mem" --submit
browse-now get page-text --max-chars 4000
browse-now screenshot /tmp/page.pngReliability Notes
- Refs from
snapshot -iare the most reliable click targets. - Refs reset after navigation, so re-snapshot after page changes.
- A successful click does not bypass login walls, paywalls, or anti-bot behavior.
- Always verify where you landed before assuming the action failed.
Install The Agent Skill
There are two common ways to make an agent use browse-now:
- in AI Now, enable the built-in Browse Now skill toggle
- in external agents, install the reusable
npx skillspackage below
If you want supported agents to learn when and how to use browse-now, install the reusable skill package from community:
npx skills add nowledge-co/community/nowledge-mem-browse-now-npx-skillsThat package teaches the agent to:
- prefer
browse-nowfor authenticated or interactive browser work - use refs from
snapshot -ias the main interaction surface - re-snapshot after navigation
- verify results with
get urlandget title
How It Fits With Mem
browse-now is not a replacement for memory retrieval. It is the browser-control side of the system.
A strong combined setup looks like this:
- use
Nowledge Memskills or integrations to recall context - use
browse-nowwhen the task needs the user's real browser - save durable insights back into Mem when the browser task reveals something worth keeping
PyPI And Remote Use
browse-now is also published on PyPI. That is for cases where you want the CLI or Python API outside the desktop bundle.
It does not mean browser automation becomes a remote-access feature. Even with the PyPI package, the browser bridge still stays on the local machine for security reasons.