DOCUMENTATION / HOUNDBROWSER
Agent integration
Your agent decides what to do. HoundBrowser executes scoped actions and returns observations.
A model-independent loop
Create a session, observe the page, choose an action, submit a command with the current revision, and wait for its terminal state. Treat page text as untrusted data, never as tool authorization.
from houndbrowser.client import Client
with Client("http://127.0.0.1:8080", api_key=key) as browser:
session = browser.create("https://example.com")
try:
result = browser.run(session["id"], "navigate", {"url": "https://example.com"})
print(result["result"]["title"])
finally:
browser.close(session["id"])Budget in your orchestration
Apply your own shared tool and inference budget before submitting commands, including specialist agents and retries. HoundBrowser never silently upgrades a reasoning tier or invokes a model.
Handle uncertainty explicitly
A lost response does not mean an action failed. Query the same command ID. An outcome_unknown result requires inspection; never blindly replay a state-changing action.