hermes-agent/website/docs/user-guide/features
Teknium 42c076d349
feat(browser): auto-spawn local Chromium for LAN/localhost URLs in cloud mode (#16136)
When a cloud browser provider (Browserbase / Browser-Use / Firecrawl) is
configured, browser_navigate now transparently spawns a local Chromium
sidecar for URLs whose host resolves to a private/loopback/LAN address
(localhost, 127.0.0.1, 192.168.x.x, 10.x.x.x, *.local, *.lan, *.internal,
::1, 169.254.x.x). Public URLs continue to use the cloud provider in the
same conversation.

Previously, setting BROWSERBASE_API_KEY / cloud_provider: browserbase
pinned the whole tool to cloud for the process — localhost URLs were
either SSRF-blocked (default) or sent to Browserbase (where they 404'd
because the cloud can't reach your LAN). Users who wanted 'cloud for
public, local for localhost' had no way to express it short of toggling
providers mid-session.

Implementation uses a composite session key scheme: the bare task_id
serves the cloud session, and a '{task_id}::local' sidecar serves the
local Chromium. _last_active_session_key[task_id] tracks which of the
two served the most recent nav so snapshot/click/fill/etc. hit the
correct one. cleanup_browser(bare_task_id) reaps both.

Feature is on by default. Opt out via:
  browser:
    auto_local_for_private_urls: false

The cloud provider never sees private URLs. Post-redirect SSRF guard
is preserved: redirects from public onto private addresses still block.
2026-04-26 09:57:58 -07:00
..
_category_.json
acp.md
api-server.md
batch-processing.md
browser.md feat(browser): auto-spawn local Chromium for LAN/localhost URLs in cloud mode (#16136) 2026-04-26 09:57:58 -07:00
built-in-plugins.md feat(plugins): make all plugins opt-in by default 2026-04-20 04:46:45 -07:00
code-execution.md
context-files.md
context-references.md
credential-pools.md
cron.md feat(cron): per-job workdir for project-aware cron runs (#15110) 2026-04-24 05:07:01 -07:00
delegation.md docs: document delegation width + depth knobs (#13745) 2026-04-21 17:54:39 -07:00
extending-the-dashboard.md docs(dashboard): document page-scoped plugin slots (#15662) 2026-04-25 06:59:24 -07:00
fallback-providers.md refactor(memory): remove flush_memories entirely (#15696) 2026-04-25 08:21:14 -07:00
honcho.md
hooks.md feat(hooks): add duration_ms to post_tool_call + transform_tool_result (#15429) 2026-04-25 22:13:12 -07:00
image-generation.md feat(image-gen): add GPT Image 2 to FAL catalog (#13677) 2026-04-21 13:35:31 -07:00
mcp.md
memory-providers.md feat(hindsight): richer session-scoped retain metadata 2026-04-22 05:27:10 -07:00
memory.md
overview.md feat(delegate): orchestrator role and configurable spawn depth (default flat) 2026-04-21 14:23:45 -07:00
personality.md
plugins.md docs(plugins): correct pre_gateway_dispatch doc text and add hooks.md section 2026-04-24 03:02:03 -07:00
provider-routing.md
rl-training.md fix(docs): Add links to Atropos and wandb in user guide 2026-04-23 03:07:06 -07:00
skills.md refactor(commands): drop /provider, /plan handler, and clean up slash registry (#15047) 2026-04-24 03:10:52 -07:00
skins.md
spotify.md feat(spotify): wire setup wizard into 'hermes tools' + document cron usage (#15180) 2026-04-24 07:24:28 -07:00
tool-gateway.md
tools.md
tts.md feat(tts): complete KittenTTS integration (tools/setup/docs/tests) 2026-04-21 01:28:32 -07:00
vision.md fix(tui): improve macOS paste and shortcut parity 2026-04-21 08:00:00 -07:00
voice-mode.md feat(voice): add cli beep toggle 2026-04-21 00:29:29 -07:00
web-dashboard.md docs(dashboard): document page-scoped plugin slots (#15662) 2026-04-25 06:59:24 -07:00