翻译接口与本机密钥管理
默认只读英文,点击后才翻译。本地 Chrome / Ollama 不发送原文到云端;Gemini 是可选云端 API,通过本机阅读器调用,需要你自己的密钥。项目不向 GitHub 上传译文,浏览器缓存只在当前页面内存中。
域名版:跨设备翻译
在 https://headline.infinitas.top/ 部署并完成权限配置后,可从手机或电脑打开同一页面。点击“登录翻译”,使用获准的 Google 账号登录,再选择 Gemini。密钥由 Cloudflare Worker Secret 保存,浏览器不接触密钥。Google 登录仅验证身份;本站不申请 Gmail、网盘权限,不使用需要绑卡的 Cloudflare Access。登录有效期约一小时,可在登录页退出。输入和译文会经过 Cloudflare 与 Google;本项目不保存它们,也不会同步到其他设备。Cloudflare 管理员仍有能力修改程序,因此账号安全同样重要。
域名版默认北京时间每日最多 100 段、每分钟最多 10 段;Gemini 返回额度限制后当天暂停。仅使用未关联计费的免费项目。域名版尚未配置时不允许调用,不会自动切换到其他服务。
Gemini API:本机接口,Google 云端推理
原文会发送到 Google。密钥只由本机后端管理,并作为认证请求头发送给 Google;网页不接触密钥,GitHub 不保存密钥或译文。免费档可能按 Google 条款使用输入及输出改进服务,因此不能保证服务商不留存译文。Google 数据使用条款 ↗
- 在 Google AI Studio创建或选择 Free Tier 且未关联计费账户的项目,取得 API Key。不要启用计费、充值或将付费项目密钥用于本接口。
- 在 Headline 项目目录运行:
python3 -m scripts.local_reader --provider gemini --allow-google-upload --free-tier-confirmed
这两个开关分别表示接受将原文发送 Google,以及你已核实免费项目。程序无法仅凭 API Key 独立核实项目账单状态。 - 按终端提示输入 API Key,输入不回显。密钥仅保存在当前本机进程内存;不要发到聊天、写入源码或提交仓库。不需要安装 Ollama。
- 打开 http://127.0.0.1:8765/,在“翻译设置”选择 Gemini API · 原文发送 Google,再点击报道旁的“翻译”、当前屏幕或所选报道。
默认使用官方列有免费档的 gemini-2.5-flash-lite。每次启动最多 20 个请求,不含密钥配置或状态检查;只翻译已展示的文字,相同文字共用本页缓存。全文每段约 1,800 字符。429 额度或速率限制后,本次启动暂停后续请求,不自动重试、不切换模型、不升级付费。模型、地区、免费额度不可用时停止并显示原因。
长全文可能需要更多请求,可自行设置会话上限(1–100),但 Google 免费额度仍以项目实际配额为准:
python3 -m scripts.local_reader --provider gemini --allow-google-upload --free-tier-confirmed --max-gemini-requests 40
关闭终端会清空本机进程持有的密钥;刷新页面清除浏览器译文缓存。公开 GitHub Pages 不能保存你的密钥,因此 Gemini 选项必须通过本机阅读器使用。免费模型与价格 ↗ · 核查计费状态 ↗
方式一:桌面 Chrome 内置翻译
- 在支持 Translator API 的新版桌面 Chrome 中打开新闻网页。
- 在“本地翻译”设置里保留“浏览器内置”,点击报道的“翻译”,或右下角“译 · 当前屏幕”。
- 首次使用可能下载语言包。翻译计算在设备上完成;不支持的浏览器或设备会显示说明,不会改用云端。
这是网页调用的浏览器本地 Translator API,与浏览器菜单中可能使用云服务的“翻译此页”不是同一个功能。当前官方文档说明此 API 面向桌面设备,不支持手机。Chrome 官方说明 ↗
方式二:本地阅读器 + Ollama
适合浏览器不支持内置翻译,或希望使用自己的本地语言模型。
- 从 Ollama 官网安装 Ollama。
- 在终端下载本机模型。默认 qwen3:4b,下载约 2.5 GB;模型文件下载不包含你的新闻或译文。内存较少可尝试 qwen3:1.7b,质量需自行核对。
ollama pull qwen3:4b
- 进入 Headline 项目文件夹并启动本地阅读器(只使用 Python 标准库,不需安装网页开发工具):
cd /你的路径/Headline python3 -m scripts.local_reader
本机现有项目在桌面 Headline 文件夹。首次取得源码可从 GitHub 仓库下载 ZIP 并解压。 - 打开终端显示的 http://127.0.0.1:8765/,在页面“本地翻译”设置选择“Ollama · 本地阅读器”。点击报道旁的“翻译”。
阅读器会启动独立的 Ollama 实例,使用 OLLAMA_NO_CLOUD=1 关闭云功能,仅监听本机 127.0.0.1:11435。它拒绝 cloud 模型、远程模型、跨站请求及代理转发,不复用不明的已有模型服务。当前公开网页不会直接连接你的本机模型;请通过本地阅读器使用 Ollama。Ollama 官方本地模式说明 ↗
更换小模型(先下载对应模型):
ollama pull qwen3:1.7b python3 -m scripts.local_reader --model qwen3:1.7b
若端口被占用,可以换端口;关闭阅读器时在终端按 Ctrl+C,它同时关闭自己启动的模型实例。
python3 -m scripts.local_reader --port 8766 --ollama-port 11436
怎样减少计算量?
- 单条“翻译”:只翻译该条已展示的标题和摘要。后列没有展示摘要,便不会翻译隐藏摘要。
- “译 · 当前屏幕”:只翻译点击时进入屏幕的新闻文字。滚动后不会自动继续。
- 勾选报道后“翻译所选报道”:只翻译所选的已展示文字;榜中榜与来源卡片里的相同文字共用内存缓存。
- “清除译文”清空缓存与全文输入。没有后台批量生成,没有译文上传或浏览器持久存储。
感兴趣的报道:本地全文翻译
点击报道旁的“全文”,打开原文,复制你能正常访问的正文,粘贴或导入 .txt,再点击“在本机翻译全文”。最长 60,000 字符,按段处理并显示进度,可停止后续段落。全文翻译使用你选定的引擎;选择 Gemini 时正文分段发送 Google。
RSS 不包含完整正文,公开网页也通常不能跨站读取文章,因此这里不声称一键自动抓取全文。不会绕过付费墙、登录或访问限制。只需要翻译一部分时,粘贴那一部分即可。
哪些数据会联网?
英文新闻从公开 GitHub Pages 下载;本地阅读器会尝试获取最新公开英文数据,失败时使用项目中已有快照。模型或语言包首次安装需要下载。点击原文与词典链接后会访问对应网站。
本地引擎不会发送原文给云端;选择 Gemini 后,待翻译文字由本机后端发送 Google,服务商可按其条款处理输入与输出。本项目不写入正文、译文或密钥文件,不上传 GitHub。本地处理不自动解决所有媒体的使用条款问题;这里用于你的私人辅助阅读,不能据此宣称获得公开传播译文的许可。模型也可能误译,请对照原文核实。