请问HN:开源AI浏览器扩展与保持闭源以实现完整的Chromium分支,哪个更好?

1作者: denis4inet4 天前原帖
独立创始人正在构建 *Vibe* — 三层 AI 副驾驶系统: 1. *Chrome 扩展*(当前 MVP — API 密钥,页面命令) 2. *Chromium 分支*(完整浏览器,内置 AI 副驾驶) 3. *Playwright 代理*(无头,完整的 DOM + 可访问性树访问) *关键见解:* - 扩展 = 有限(没有可访问性树,上下文较弱) - 浏览器 + Playwright = 全力(HTML 树,实时 DOM,自动化) 我 *原本* 打算将扩展开源(MIT 许可),以获得关注和贡献者。 但现在:*未来 90% 的价值在于浏览器 + 代理*,而不是扩展。 *两难境地:* - 开源扩展 → 社区增长外壳,但我失去对 *真正* 产品的控制 - 保持完全封闭 → 反馈较慢,验证更困难 *选项:* 1. *源代码可用的扩展*(公开代码,不允许分叉/商业使用) 2. *仅开源扩展 SDK*(用于接入 Vibe 浏览器的 API) 3. *保持完全封闭*,先发布浏览器测试版 LangFuse:MIT 核心 + 收费 EE Raycast:封闭核心,开放扩展 *HN:* - 我应该将 *弱* 部分(扩展)开源以建立影响力吗? - 还是在浏览器 MVP 发布之前保持一切封闭? - 如何在不泄露护城河的情况下获取早期用户? 旧金山,2 个月的资金储备。 代码库(即将上线):https://github.com/VibeTechnologies/VibeWebAgent 推介:pitch.vibebrowser.app 你会怎么做?
查看原文
Solo founder building *Vibe* — 3-tier AI copilot system: 1. *Chrome extension* (current MVP — API key, page commands) 2. *Chromium fork* (full browser with native AI copilot) 3. *Playwright agent* (headless, full DOM + accessibility tree access)<p>*Key insight:* - Extension = limited (no accessibility tree, weaker context) - Browser + Playwright = full power (HTML tree, real-time DOM, automation)<p>I <i>was</i> going to open-source the extension (MIT) to get traction&#x2F;contributors. But now: *90% of future value is in the browser + agent*, not the extension.<p>*Dilemma:* - OSS extension → community grows shell, but I lose control of the <i>real</i> product - Keep all closed → slower feedback, harder to validate<p>*Options:* 1. *Source-available extension* (public code, no forks&#x2F;commercial use) 2. *OSS only the extension SDK* (API to plug into Vibe Browser) 3. *Stay fully closed*, launch browser beta first<p>LangFuse: MIT core + paid EE Raycast: closed core, open extensions<p>*HN:* - Should I OSS the <i>weak</i> part (extension) to build mindshare? - Or keep everything closed until browser MVP ships? - How to get early users without giving away the moat?<p>SF, 2 months runway. Repo (coming): https:&#x2F;&#x2F;github.com&#x2F;VibeTechnologies&#x2F;VibeWebAgent Pitch: pitch.vibebrowser.app<p>What would you do?