Skip to content

feat: add browser_open and browser_get_text tools #50

@Rustam-Z

Description

@Rustam-Z

Summary

Add two new tools to the pyclaudir toolset:

  • browser_open — open a URL in a headless browser session
  • browser_get_text — extract visible text content from the current browser page

Motivation

These tools would enable the agent to interact with web pages that require JavaScript rendering, login flows, or dynamic content — beyond what WebFetch (static HTTP) can reach.

Proposed behavior

browser_open(url: str) → status

  • Opens the given URL in a headless Chromium instance (reuse existing render infra if available)
  • Returns load status (success / error / timeout)
  • Respects existing private-IP block rules (no localhost, RFC1918, etc.)

browser_get_text(selector?: str) → str

  • Returns visible text from the current page
  • Optional CSS selector to scope extraction to a specific element
  • Truncates at a reasonable limit (e.g. 10k chars) to avoid context overflow

Notes

  • Should respect the same internal-URL block rules as WebFetch/WebSearch
  • Consider whether to expose as a stateful session (open → interact → close) or stateless (open+get in one call)
  • Headless Chromium is already used for render_html — reuse that infra where possible

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions