Tampermonkey 集成 Kagi Translate 及 Docker Sandbox 使用 OpenCode 和 DeepSeek
编辑点评 · AI 连续创业者视角(以下内容由 AI 提炼,观点归原作者;读完可不看原文)
本文介绍了如何通过 Tampermonkey 插件将 Kagi Translate 集成到浏览器中,以及使用 Docker Sandbox 运行 OpenCode 和 DeepSeek 的方法。Kagi Translate 是一款浏览器插件,提供网页全文翻译、选择内容翻译和字典定义等功能。作者发现 Kagi Translate 插件存在稳定性问题,因此通过 Tampermonkey 将 Kagi Translate 网页版集成到一个弹窗中,并通过快捷键调用。此外,作者还分享了如何使用 Docker Sandbox 运行和配置 OpenCode 和 DeepSeek 的细节。
- 通过 Tampermonkey 集成 Kagi Translate 网页版
- 使用 Docker Sandbox 运行 OpenCode 和 DeepSeek
- 提高外文阅读效率
- 优化编程工作流程
- 解决 Kagi Translate 插件稳定性问题
一、这是什么机会
针对 Kagi Translate 官方浏览器插件长期未更新导致的稳定性痛点(吞字、缓存失效),提供基于 Tampermonkey 的“网页版集成”解决方案。核心价值在于利用 Kagi 网页版的最新功能和更稳定的接口,通过侧边弹窗形式在本地工作流中无缝调用。该方案同时涉及使用 Docker Sandbox 运行 OpenCode 和 DeepSeek 以辅助代码生成的配套环境。
二、独立判断
值得尝试。虽然 Kagi 是付费订阅服务,但针对“重度外文阅读者”和“使用 Anki 记忆单词”的细分人群,现有插件的失效是真实痛点。编辑视角认为,将“不稳定的插件”替换为“稳定的网页接口 + 本地脚本”是典型的工具链优化思路。关键前提是用户已订阅 Kagi,且愿意投入少量时间配置 Tampermonkey 脚本,而非追求开箱即用的完美插件。
三、冷启动路径
第一步:订阅 Kagi 并获取 Kagi Translate 网页版访问权限。第二步:安装 Tampermonkey 及 OpenStyles,部署作者提供的 kagi-translate.user.js 脚本及覆盖样式。第三步:配置快捷键,测试“选中单词查字典”和“选中段落翻译”功能,确认侧边弹窗显示正常。成本仅为 Kagi 订阅费,周期约 1-2 小时即可完成调试。
四、最大风险与避坑
1. **跨域与安全限制**:严禁使用 iframe 嵌入 Kagi 网页,必须使用 window.open() 打开新窗口,否则浏览器会拦截。2. **缩放比例Bug**:脚本计算弹窗宽度时需除以 window.devicePixelRatio,否则在大字号阅读模式下弹窗会遮挡正文。3. **功能缺陷**:Kagi Summarizer 目前无法以弹窗形式呈现,仅能新标签页打开;带 Query 参数的 URL 全文翻译可能失效。应对:仅使用无参数 URL 进行全文翻译,或接受其局限性。
五、案例复盘(别人怎么做的)
- 工具选型:放弃官方插件,改用 Kagi 网页版接口,因为网页版更新频繁且功能更全(支持 Anki 同步)。
- 实现逻辑:通过 Tampermonkey 捕获选中事件,调用
window.open()创建带popup特性的窗口,通过固定target名称实现单实例复用,避免弹窗堆积。 - UI 优化:使用 OpenStyles 编写 CSS,覆盖 Kagi 弹窗内部样式,隐藏无关信息(如 Preview),强制“Send to Anki”按钮显示在可视区域,无需滚动。
- AI 辅助开发:使用 Docker Sandbox 运行 OpenCode + DeepSeek Pro 生成原型代码,解决手写 DOM 交互繁琐的问题,并让 AI 排查弹窗定位逻辑。
- 数据验证:作者测试两周,通过该工作流在 Anki 中新增上百个生词,这些生词来自实际阅读语境,比预设词表更有效。
六、双轨可执行性
跨境:可行。Kagi 服务对全球开放,且 Tampermonkey 脚本无地域限制,可直接复用代码。国内:不可行。Kagi 订阅及网页服务在大陆访问受限,且 DeepSeek 虽可用,但核心依赖的 Kagi Translate 无法连通。
原文 · Taxodium:阅读原文 →
相关工具推荐(推广):TinyFish给AI提供网页内容搜索能力
