mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
fix(browser): honor pre-set AGENT_BROWSER_ARGS and document the bypass
Follow-up to the sandbox-bypass env-var fix: - Update the opt-out gate so a user-provided AGENT_BROWSER_ARGS is also respected, not just the legacy AGENT_BROWSER_CHROME_FLAGS. Previously the gate only checked the broken legacy var, so a user who pre-set AGENT_BROWSER_ARGS would still get clobbered by Hermes's auto-injection. - Document AGENT_BROWSER_ARGS in .env.example, the browser feature page, and the env var reference, with notes about the auto-injection on AppArmor-restricted systems (Ubuntu 23.10+, DGX Spark, containers). - Add Anadi Jaggia to AUTHOR_MAP.
This commit is contained in:
parent
8ed2ef6f46
commit
4695d2716f
5 changed files with 23 additions and 1 deletions
|
|
@ -281,6 +281,13 @@ BROWSER_SESSION_TIMEOUT=300
|
||||||
# Browser sessions are automatically closed after this period of no activity
|
# Browser sessions are automatically closed after this period of no activity
|
||||||
BROWSER_INACTIVITY_TIMEOUT=120
|
BROWSER_INACTIVITY_TIMEOUT=120
|
||||||
|
|
||||||
|
# Extra Chromium launch flags passed to agent-browser, comma- or newline-separated.
|
||||||
|
# Hermes auto-injects "--no-sandbox,--disable-dev-shm-usage" when it detects root
|
||||||
|
# or AppArmor-restricted unprivileged user namespaces (Ubuntu 23.10+, DGX Spark,
|
||||||
|
# many container images), so leave this unset unless you need extra flags.
|
||||||
|
# Setting this disables the auto-injection.
|
||||||
|
# AGENT_BROWSER_ARGS=--no-sandbox
|
||||||
|
|
||||||
# Camofox local anti-detection browser (Camoufox-based Firefox).
|
# Camofox local anti-detection browser (Camoufox-based Firefox).
|
||||||
# Set CAMOFOX_URL to route the browser tools through a local Camofox server
|
# Set CAMOFOX_URL to route the browser tools through a local Camofox server
|
||||||
# instead of agent-browser/Browserbase. See docs/user-guide/features/browser.md.
|
# instead of agent-browser/Browserbase. See docs/user-guide/features/browser.md.
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ AUTHOR_MAP = {
|
||||||
"teknium1@gmail.com": "teknium1",
|
"teknium1@gmail.com": "teknium1",
|
||||||
"30366221+WorldWriter@users.noreply.github.com": "WorldWriter",
|
"30366221+WorldWriter@users.noreply.github.com": "WorldWriter",
|
||||||
"dafeng@DafengdeMacBook-Pro.local": "WorldWriter",
|
"dafeng@DafengdeMacBook-Pro.local": "WorldWriter",
|
||||||
|
"anadi.jaggia@gmail.com": "Jaggia",
|
||||||
"32201324+simpolism@users.noreply.github.com": "simpolism",
|
"32201324+simpolism@users.noreply.github.com": "simpolism",
|
||||||
"simpolism@gmail.com": "simpolism",
|
"simpolism@gmail.com": "simpolism",
|
||||||
"jake@nousresearch.com": "simpolism",
|
"jake@nousresearch.com": "simpolism",
|
||||||
|
|
|
||||||
|
|
@ -1873,7 +1873,13 @@ def _run_browser_command(
|
||||||
# - Ubuntu 23.10+ / AppArmor systems: unprivileged user namespaces
|
# - Ubuntu 23.10+ / AppArmor systems: unprivileged user namespaces
|
||||||
# are restricted, causing Chromium to exit with "No usable sandbox"
|
# are restricted, causing Chromium to exit with "No usable sandbox"
|
||||||
# even for non-root users running under systemd or containers.
|
# even for non-root users running under systemd or containers.
|
||||||
if "AGENT_BROWSER_CHROME_FLAGS" not in browser_env:
|
# Honour either the legacy AGENT_BROWSER_CHROME_FLAGS (never consumed by
|
||||||
|
# agent-browser itself, but documented in older notes) or the real
|
||||||
|
# AGENT_BROWSER_ARGS — if the user pre-sets either, don't overwrite it.
|
||||||
|
if (
|
||||||
|
"AGENT_BROWSER_ARGS" not in browser_env
|
||||||
|
and "AGENT_BROWSER_CHROME_FLAGS" not in browser_env
|
||||||
|
):
|
||||||
_needs_sandbox_bypass = False
|
_needs_sandbox_bypass = False
|
||||||
if hasattr(os, "geteuid") and os.geteuid() == 0:
|
if hasattr(os, "geteuid") and os.geteuid() == 0:
|
||||||
_needs_sandbox_bypass = True
|
_needs_sandbox_bypass = True
|
||||||
|
|
|
||||||
|
|
@ -135,6 +135,7 @@ For native Anthropic auth, Hermes prefers Claude Code's own credential files whe
|
||||||
| `CAMOFOX_SESSION_KEY` | Optional Camofox session key used when creating tabs for `CAMOFOX_USER_ID` |
|
| `CAMOFOX_SESSION_KEY` | Optional Camofox session key used when creating tabs for `CAMOFOX_USER_ID` |
|
||||||
| `CAMOFOX_ADOPT_EXISTING_TAB` | Set to `true` to reuse an existing Camofox tab before creating a new one |
|
| `CAMOFOX_ADOPT_EXISTING_TAB` | Set to `true` to reuse an existing Camofox tab before creating a new one |
|
||||||
| `BROWSER_INACTIVITY_TIMEOUT` | Browser session inactivity timeout in seconds |
|
| `BROWSER_INACTIVITY_TIMEOUT` | Browser session inactivity timeout in seconds |
|
||||||
|
| `AGENT_BROWSER_ARGS` | Extra Chromium launch flags (comma- or newline-separated). Hermes auto-injects `--no-sandbox,--disable-dev-shm-usage` when running as root or on AppArmor-restricted unprivileged user namespaces (Ubuntu 23.10+, DGX Spark, many container images); set this manually only to override or add other flags. |
|
||||||
| `FAL_KEY` | Image generation ([fal.ai](https://fal.ai/)) |
|
| `FAL_KEY` | Image generation ([fal.ai](https://fal.ai/)) |
|
||||||
| `GROQ_API_KEY` | Groq Whisper STT API key ([groq.com](https://groq.com/)) |
|
| `GROQ_API_KEY` | Groq Whisper STT API key ([groq.com](https://groq.com/)) |
|
||||||
| `ELEVENLABS_API_KEY` | ElevenLabs premium TTS voices ([elevenlabs.io](https://elevenlabs.io/)) |
|
| `ELEVENLABS_API_KEY` | ElevenLabs premium TTS voices ([elevenlabs.io](https://elevenlabs.io/)) |
|
||||||
|
|
|
||||||
|
|
@ -368,6 +368,13 @@ BROWSERBASE_SESSION_TIMEOUT=600000
|
||||||
|
|
||||||
# Inactivity timeout before auto-cleanup in seconds (default: 120)
|
# Inactivity timeout before auto-cleanup in seconds (default: 120)
|
||||||
BROWSER_INACTIVITY_TIMEOUT=120
|
BROWSER_INACTIVITY_TIMEOUT=120
|
||||||
|
|
||||||
|
# Extra Chromium launch flags (comma- or newline-separated). Hermes auto-injects
|
||||||
|
# `--no-sandbox,--disable-dev-shm-usage` when it detects root or AppArmor-restricted
|
||||||
|
# unprivileged user namespaces (Ubuntu 23.10+, DGX Spark, many container images),
|
||||||
|
# so most users don't need to set this. Set it manually only if you need a flag
|
||||||
|
# Hermes doesn't add automatically; setting it disables the auto-injection.
|
||||||
|
AGENT_BROWSER_ARGS=--no-sandbox
|
||||||
```
|
```
|
||||||
|
|
||||||
### Install agent-browser CLI
|
### Install agent-browser CLI
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue