| name | gobbler-browser |
| description | Controls browser via Gobbler extension for navigation, JavaScript execution, and content extraction. Includes NotebookLM, Claude.ai, ChatGPT, Gemini integrations. Triggers on browser extract, grab from tab, control browser, or AI chat service queries. |
| metadata | {"openclaw":{"emoji":"🔌","requires":{"bins":["gobbler"]},"install":[{"id":"gobbler","kind":"script","label":"Install Gobbler (git clone + uv)","script":"git clone https://github.com/Enablement-Engineering/gobbler.git ~/Projects/gobbler\ncd ~/Projects/gobbler && uv sync && uv tool install .\necho \"Load browser extension from ~/Projects/gobbler/browser-extension in Chrome\"\n"}],"homepage":"https://github.com/Enablement-Engineering/gobbler"}} |
Gobbler Browser
Control the browser via the Gobbler CLI and browser extension. Includes integrations for AI chat services.
Requires:
- Gobbler browser extension installed
- Target tabs in the specific extension-managed group ID
- Local relay; most browser operations auto-start it, but
browser status does not
Note: AI chat integrations (NotebookLM, Claude, ChatGPT, Gemini) use DOM automation and may break when sites update their UI.
Quick Start
gobbler relay start
gobbler browser status
gobbler browser list
gobbler browser inject
gobbler browser extract -o page.md
Core Browser Commands
Check Status
gobbler browser status
Shows relay status and number of connected extensions.
List Tabs
gobbler browser list
gobbler browser list --filter notebooklm
gobbler browser list --filter claude
gobbler browser list --filter chatgpt
gobbler browser list --filter gemini
gobbler browser list --json
Inject APIs
Inject page-specific APIs into matching tabs in the Gobbler group. The extension normally injects on matching grouped tabs and navigation; use this command after browser/extension reload or when automatic injection did not occur.
gobbler browser inject
Open URLs
gobbler browser open "https://example.com"
gobbler browser open "https://example.com" "https://google.com"
gobbler browser open -f urls.txt
Navigate Current Tab
gobbler browser navigate "https://example.com"
Extract Page Content
gobbler browser extract
gobbler browser extract -o page.md
gobbler browser extract --selector "article.content"
gobbler browser extract --tab 1234567890
Execute JavaScript
gobbler browser exec "document.title"
gobbler browser exec "document.title" --tab 1234567890
gobbler browser exec "fetch('/api').then(r => r.json())" --timeout 30
AI Chat Integrations
These integrations use browser DOM automation to interact with AI chat services. They share common patterns and prerequisites.
Fragility Warning: These integrations depend on CSS selectors and DOM structure that may change when sites update. If commands stop working, check for extension/skill updates.
Common Prerequisites
- Browser extension installed - Load
browser-extension/ folder in Chrome
- Tab authorized by extension - Open the popup and click Allow & Add or Add Tab
- Relay available - Start it before
browser status; other operations normally auto-start it
- APIs injected - Usually automatic; run
gobbler browser inject as recovery
CRITICAL: One Query at a Time
Send only ONE query at a time to each conversation, then WAIT for the response.
Why? The query command waits for the "last message" in the chat. If you send multiple queries in parallel:
- All questions get submitted
- The first query's script may return the WRONG answer (from a later question)
- You get mismatched question/answer pairs
gobbler notebooklm query "Question 1" --timeout 120
gobbler notebooklm query "Question 2" --timeout 120
gobbler notebooklm query "Question 1" &
gobbler notebooklm query "Question 2" &
Common Workflow
All AI chat integrations follow this pattern:
gobbler browser inject
gobbler <service> list
gobbler <service> query "Your question here" --timeout 120
gobbler <service> last
NotebookLM Integration
Query Google NotebookLM notebooks through browser automation.
Commands
gobbler notebooklm list
gobbler notebooklm query "What are the main themes?" --timeout 120
gobbler notebooklm query "Summarize" --tab 1700453262
gobbler notebooklm last
gobbler notebooklm history
gobbler notebooklm history -n 10
gobbler notebooklm history --all
gobbler notebooklm info
Options
--timeout SECONDS - Max wait time (default: 150)
-t/--tab TAB_ID - Target specific tab
Tips
- Be specific: "What does source X say about Y?" works better than vague questions
- Ask for citations: Add "with citations" to get source references
- One topic per query: Break complex questions into focused queries
Claude.ai Integration
Send messages to Claude.ai conversations through browser automation.
Commands
gobbler claude list
gobbler claude query "Explain quantum computing" --timeout 150
gobbler claude query "Continue our discussion" -t 1234567
gobbler claude last
gobbler claude history
gobbler claude history -n 20
gobbler claude history --all
gobbler claude info
Options
--timeout SECONDS - Max wait time (default: 150)
-t/--tab TAB_ID - Target specific tab
-n/--count NUMBER - Number of messages for history
ChatGPT Integration
Send messages to ChatGPT conversations through browser automation.
Commands
gobbler chatgpt list
gobbler chatgpt query "Explain machine learning" --timeout 150
gobbler chatgpt query "Continue" -t 1234567
gobbler chatgpt last
gobbler chatgpt history
gobbler chatgpt history -n 20
gobbler chatgpt history --all
gobbler chatgpt info
gobbler chatgpt download -o ./images
Options
--timeout SECONDS - Max wait time (default: 150)
-t/--tab TAB_ID - Target specific tab
-n/--count NUMBER - Number of messages for history
-o/--output DIR - Output directory for image downloads
Gemini Integration
Send messages to Google Gemini conversations through browser automation.
Commands
gobbler gemini list
gobbler gemini query "Explain neural networks" --timeout 150
gobbler gemini query "Continue" -t 1234567
gobbler gemini last
gobbler gemini history
gobbler gemini history -n 20
gobbler gemini history --all
gobbler gemini info
gobbler gemini download -o ./images
Options
--timeout SECONDS - Max wait time (default: 150)
-t/--tab TAB_ID - Target specific tab
-n/--count NUMBER - Number of messages for history
-o/--output DIR - Output directory for image downloads
Notes
- Gemini requires a Google account
- Check regional availability if you get errors
Troubleshooting
"Relay not running"
gobbler relay start
gobbler relay status
"No browser extension connected"
- Ensure Gobbler extension is installed in Chrome/Edge
- Check extension popup shows "Connected"
- Verify target tabs are in the "Gobbler" tab group
"No tabs found"
- Open the page you want to control
- Use Allow & Add or Add Tab in the extension popup
- Run
gobbler browser list again
"API not injected" / Commands not working
- Run
gobbler browser inject
- If still failing, reload the extension in chrome://extensions
- Refresh the target page
- Run
gobbler browser inject again
Timeout errors
Increase the timeout for complex responses:
gobbler <service> query "Complex question" --timeout 300
Truncated responses
Use the last command to get the full response:
gobbler <service> last
Garbled/wrong responses
You probably sent parallel queries. STOP. Wait for each query to complete before sending the next.
Troubleshooting Checklist
| Issue | Check | Fix |
|---|
| No tabs found | Tab added through the extension? | Use Allow & Add or Add Tab in the popup |
| API not injected | Extension reloaded? | Reload extension, refresh page, gobbler browser inject |
| Not connected | Extension loaded? | chrome://extensions → Load unpacked |
| Relay error | Relay running? | gobbler relay start |
| Timeout | Response too long? | Increase --timeout |
| Truncated | Terminal limit | Run gobbler <service> last |
| Garbled response | Parallel queries? | Query ONE at a time, wait for response |
Prerequisites
- Browser extension installed (load
browser-extension/ folder)
- Target tabs in the extension-managed group; use the popup for first-time origin permission
- Relay server running; start with
gobbler relay start if needed