[integrations] Chrome extension for browser capture and search#41
[integrations] Chrome extension for browser capture and search#41konepone wants to merge 1 commit intoNateBJones-Projects:mainfrom
Conversation
Add a Chrome extension that connects to Open Brain via a Supabase Edge Function REST API. Features: save thoughts with page context, semantic search, right-click context menu, omnibox integration, keyboard shortcuts, task completion, and source filtering. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Nice work — this is a solid contribution with a useful feature set. The extension architecture is clean, manifest permissions are well-scoped, and the Edge Function uses parameterized queries properly. metadata.json passes schema validation, and the embedding model/dimensions match the canonical setup so there's full interop. A few things to address before we can merge: Blocking
Medium
Everything else looks good — permissions, XSS handling, |
justfinethanku
left a comment
There was a problem hiding this comment.
PR Review: Chrome Extension for Browser Capture & Search
What's Good
Strong contribution. This is a well-executed browser extension that adds genuine value to Open Brain:
- Clean architecture: Chrome extension + Supabase Edge Function REST API backend
- Proper security: API key authentication, no hardcoded credentials, environment variables correctly used
- Complete feature set: save, search, context menu, omnibox, keyboard shortcuts, stats, task completion
- Excellent documentation: README has all required sections (Prerequisites, Step-by-Step Setup, Expected Outcome, Troubleshooting)
- Metadata validation: All required fields present and valid
- Follows remote MCP pattern: Uses Supabase Edge Functions as intended
- Binary size compliance: Icon files are small (largest is 1107 bytes)
- No SQL safety issues: All queries use Supabase client methods, no raw SQL
Required Changes
Language consistency issue: The extension UI contains German strings instead of English. This needs to be fixed for consistency with the rest of the Open Brain ecosystem.
Examples from the code:
- "Einstellungen speichern" → "Save Settings"
- "Gedanke gespeichert!" → "Thought saved!"
- "Im Brain speichern" → "Save to Brain"
- "Im Brain suchen" → "Search in Brain"
- "Erledigt" → "Done"
- "Suche laeuft..." → "Searching..."
These appear in:
popup.js(UI messages and notifications)background.js(context menu items)- The README references them in Expected Outcome section (which is correct for documentation, but the code should be English)
Action needed: Replace all German UI strings with English equivalents in the extension code.
Nice-to-Haves (Optional)
-
Edge Function naming: The function is called
brain-apiin deployment commands but the folder issupabase-function/. Consider renaming the folder tosupabase-function-brain-api/for clarity, or updating the README to note that users can name it whatever they want. -
Metadata field example: The Edge Function extracts
typemetadata (observation, task, idea, reference, person_note) but the README doesn't show users how this categorization works or how they could use it. A brief mention in Features or Tech Stack would help. -
Error handling clarity: The troubleshooting section is good, but could benefit from one more common case: "What if the extension can't reach my Edge Function?" (firewall, wrong URL, project paused, etc.)
Compliance Checklist
✅ Folder structure correct (integrations/chrome-extension/)
✅ Required files present (README.md, metadata.json)
✅ metadata.json valid and complete
✅ No credentials, API keys, or secrets
✅ No SQL safety violations
✅ No binary blobs over 1MB
✅ PR title format correct: [integrations] Chrome extension for browser capture and search
✅ README has Prerequisites, Steps, Expected Outcome, Troubleshooting
✅ Remote MCP pattern (Edge Function, not local server)
❌ UI language should be English, not German
Verdict: Minor fixes needed
This is a high-quality contribution that's 95% ready to merge. The only blocking issue is the German language strings in the UI. Once those are translated to English, this is good to go.
Great work @konepone!
|
@claude review this PR |
|
I'll analyze this and get back to you. |
matthallett1
left a comment
There was a problem hiding this comment.
Additional Review — Chrome Extension
Building on Nate's review (which covered architecture, security, feature completeness, and the German language issue):
Nate's review is thorough. The only blocking issue is the German UI strings, which he already flagged with specific examples. I don't have additional code issues to add.
Scope check
12 files including a companion Edge Function (brain-api). This is on the edge of scope for OB1, but the extension directly interacts with the thoughts table via the Edge Function, uses the same auth pattern (x-brain-key), and follows OB1 conventions. It's not growing into its own project. Scope is fine.
Overlapping Edge Function
The brain-api Edge Function in this PR overlaps with #45 (REST API gateway) and #129 (open-brain-rest). All three implement similar CRUD+search REST endpoints for thoughts. Worth consolidating when these PRs are being finalized, so we don't end up with 3 slightly different REST APIs in the repo.
Requesting changes only because of Nate's German language blocker, which is still outstanding.

Summary
Features
brain <query>in the address bar for instant search suggestionsRequirements
Testing
Tested on my own Open Brain instance with: