热门产品

ColibotAI

ColibotAI

ColibotAI 是一款 Chrome 扩展,支持用户选择本地或云端 AI 模型来翻译、总结和解释文本,注重隐私保护和灵活性。

热门评论

PH 用户
Hi Product Hunt 👋 我是 Edoardo,来自 WebWakeUp。

ColibotAI 一开始只是个简单的“划词翻译”扩展。大家挺喜欢的——但表象之下,它已经膨胀成了我都不太放心发布的东西。所以在 0.8 版本我们没打补丁,而是从头重写了一遍。下面说说为什么实诚地讲。

旧版有什么问题

🔑 API key 存在 chrome.storage.sync 里——也就是同步到你的 Google 账号。虽然也有“加密”模块,但那只是死代码(而且在 service worker 里也是坏的)。

🐛 一个正则表达式“清理器”会直接作用在 AI prompt 上,悄悄破坏它们。

🐦 一个小蜂鸟图标通过 mousemove 监听器跟随你的光标,在每个页面上都跑。

📦 大约 15 个 content script + 3 个 stylesheet 被注入到每一个 HTTPS 页面,即使扩展是关闭的——而且切换开关会重新加载你所有的标签页。

🧱 没有类型,没有打包工具,没有测试,硬编码的模型和 500‑token 上限。

它确实能用,但脆弱、泄露风险大、迭代慢。

我们做了什么替代方案
我们用现代技术栈和隐私优先的架构重写了 ColibotAI:

WXT + TypeScript + Vite (Manifest V3)。WXT 提供了基于文件的入口点、自动生成的 MV3 清单、类型化的消息传递/存储,以及最关键的一点——页面内 UI 现在运行在独立的 Shadow DOM(createShadowRootUi)里,不会和页面 CSS 冲突。UI 按需注入(activeTab),而不是每个页面。

混合 AI 引擎。优先使用设备端(Chrome 内置的 Gemini Nano——免费且私密),如果不可用则自动回退到你自己的 key,支持 OpenAI、Anthropic、Google 和 OpenRouter——另外还有新的自定义/本地选项,可将 ColibotAI 指向任何兼容 OpenAI 的服务器(Ollama、LM Studio、llama.cpp 或你自己的网关),这样你就可以完全在本地免费运行开源模型。没有后端——你的文本直接从浏览器到达你选择的提供商、你自己的机器,或者设备端根本不出去。

安全与隐私作为默认设置。key 只存在于 chrome.storage.local(不同步),还有一个可选的仅会话模式;一次性迁移将任何遗留的同步 key 移到 local 并从 sync 中删除。AI 输出使用 marked + DOMPurify 渲染(不再有正则清理器的 XSS 风险)。权限最小化;提供商主机是可选的,仅在你添加 key 时才请求。

细节累积起来:端到端类型化消息、EN/IT 本地化、亮色/暗色模式、ESLint + Prettier + Vitest、带搜索和 JSON 导入/导出的笔记侧面板、保存时验证 API key(零 token 检测,让你立即知道 key 是否可用)、调试模式,以及智能缓存,对几乎相同的选词复用已保存的回答,避免重复花 token。

同样的理念,更好的工具。免费、符合 GDPR、瑞士制造。期待你的反馈——尤其是在设备端和自带 key 之间的取舍上。🙏
PH 用户
设备端/BYOK 是解决浏览器文本工具信任问题的一个好答案。翻译/总结/解释选中文本这个领域很拥挤,但隐私加上笔记功能可以形成差异化。你们有计划做按站点规则或针对重复工作流的快捷操作吗?
PH 用户
我非常欣赏这篇帖子的坦诚。停下来承认哪里不行,然后重新正确地构建而不是继续打补丁,这需要很大勇气。

最突出的是隐私优先的做法。给用户选择本地运行或自带 key 的权利,同时保留对数据的控制,这是一个巨大的优势。

我也很喜欢你们在后台注重性能和简洁性。这些改进用户可能不会立刻看到,但它们对整个体验影响很大。
PH 用户
隐私优先的重构很扎实,但说实话,设备端 Gemini Nano 的质量天花板是真实存在的——成语和技术性语言往往表现不佳。感觉自带 key 才是大多数重度用户的最终选择,这使得“你的数据绝不离开电脑”这个说法对典型使用场景来说有点误导。值得坦诚地说明这一点。
热门产品Edoardo Guzzi2026-06-15原文

相关内容