gstack/browse
yinanli1917-cloud c90cfe7af0 feat(browse): support Chrome extensions via BROWSE_EXTENSIONS_DIR
When the BROWSE_EXTENSIONS_DIR environment variable is set to a path
containing an unpacked Chrome extension, browse launches Chromium in
headed mode with the window off-screen (simulating headless) and loads
the extension.

This enables use cases like ad blockers (reducing token waste from
ad-heavy pages), accessibility tools, and custom request header
management — all while maintaining the same CLI interface.

Implementation:
- Read BROWSE_EXTENSIONS_DIR env var in launch()
- When set: switch to headed mode with --window-position=-9999,-9999
  (extensions require headed Chromium)
- Pass --load-extension and --disable-extensions-except to Chromium
- When unset: behavior is identical to before (headless, no extensions)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 18:44:02 -07:00
..
bin feat: multi-agent support — gstack works on Codex, Gemini CLI, and Cursor (v0.9.0) (#226) 2026-03-19 18:20:50 -07:00
scripts fix: Windows support — Node.js server fallback for Playwright (#255) 2026-03-20 12:22:11 -07:00
src feat(browse): support Chrome extensions via BROWSE_EXTENSIONS_DIR 2026-03-22 18:44:02 -07:00
test fix: Windows support — Node.js server fallback for Playwright (#255) 2026-03-20 12:22:11 -07:00
SKILL.md feat: Search Before Building — builder ethos + skill integrations (v0.9.5.0) (#298) 2026-03-21 11:46:06 -07:00
SKILL.md.tmpl feat: browse handoff — headless-to-headed browser switching (v0.7.4) (#201) 2026-03-19 00:38:58 -05:00