Skip to content
yangzhyoPublic

About

选中英文,原地浮出语境化中文解释 — Chrome 插件 + macOS 菜单栏工具,Gemini 驱动,查询零记录

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

Repository files navigation

Readmate 图标:一只像素鹦鹉

Readmate — 阅读即时理解

选中看不懂的词句、术语或缩写,点一下浮现的鹦鹉图标,语境化中文解释原地浮出——关掉立刻回到阅读。

Chrome MV3 macOS 13+ TypeScript Swift Gemini License: MIT

为中文母语读者打造的阅读伴侣,文章不限语言。设计原则只有一条:打断最小、回到阅读最快——它不是词典,不是翻译软件,不是百科,也不是语言学习系统。

选中后,光标旁浮出鹦鹉图标:

选中文章里的 MoE,光标旁浮出像素鹦鹉图标

点一下,解释卡在选区旁浮出。这里原文没给 MoE 的全称,卡片注明「推断」,再用几句话说清它是什么:

解释卡:Mixture of Experts(推断),混合专家模型,下面是概念说明,右上角是发音喇叭

它给什么

不是词典义项的罗列,而是选中内容在当前上下文里的意思:

选中 解释卡内容
外文单词 IPA 音标(仅英文)+ 它在这句话里的意思(加粗)+ 必要的本义补充;习语会点明
外文短语 语境含义 + 本义补充
术语、缩写 语境含义 + 概念说明:缩写先给全称(原文没给时注明是推断),再用一两句说清它是什么、在本文指什么
外文句子 整句中文翻译 + 一两句难点拆解(习语、语法、指代、术语)
中文 只解释不翻译:词语给语境含义,句子拆解难点

属于哪种情况由引擎判断,读者的操作始终一样。

单个英文单词的卡片上有喇叭,点一下听美式发音。声音由系统语音在本机合成,不经引擎。

解释由 Gemini Flash 实时流式生成,各载体客户端直连、无自建后端,查询不留任何记录。

实拍

缩写的例子见开头。下面是另外几种情况,都是在插件里实际操作后截的图。

外文单词:bill 在这句话里是「开销」,不是常见的「账单」;单词带音标和发音喇叭。

选中 bill,卡片给出音标 /bɪl/、语境义「开销、代价」和本义「账单」

外文句子:先给整句翻译,再拆解句型和习语。

选中一整句英文,卡片给出中文翻译,并拆解 It's not that…, it's that… 句型和 all along

中文术语:选区是中文时不翻译,只讲清「护城河」在投资语境里指什么。

在中文文章里选中「护城河」,卡片解释它是企业抵御竞争的持久优势

其他语言:日文等外文同样给中文翻译和难点拆解。

选中一句日文,卡片给出中文翻译,并解释「推論コスト」和句尾句型

两个载体

同一产品覆盖两类阅读环境,共享同一套领域语言(CONTEXT.md)与设计决策(docs/adr/):

载体 覆盖场景 触发
extension/ — Chrome 插件 网页阅读 选中后点击浮现的划词图标
macos/ — 菜单栏常驻工具 终端(Claude Code 等)与任意桌面应用 选中后点击浮现的划词图标(Chrome 前台不浮现,由插件负责);菜单栏「解释当前选中」兜底

两个载体都不提供快捷键(Esc 关卡除外),原因见 ADR-0002。

快速开始

两个载体都需要一个 Google AI Studio 的 Gemini API key(免费额度即可)。key 各自保存在本机(插件存 chrome.storage.local,macOS 端存钥匙串),互不同步、不上传。

Chrome 插件

cd extension
pnpm install
pnpm build        # 产物在 .output/chrome-mv3/

Chrome 打开 chrome://extensions → 开启「开发者模式」→「加载已解压的扩展程序」→ 选 .output/chrome-mv3/,然后点击工具栏插件图标填入 API key。详见 extension/README.md。

macOS

cd macos
./make-app.sh     # swift build + 组装 Readmate.app
mv Readmate.app /Applications/
open /Applications/Readmate.app

首次运行按引导授予辅助功能权限(取词与手势检测依赖它),再从菜单栏的鹦鹉图标 →「设置…」填入 API key。详见 macos/README.md。

工作原理

选中文字 ──▶ 划词图标 ──▶ 捕获选区 + 提取上下文 ──▶ Gemini Flash(流式) ──▶ 解释卡(Esc / 点外关闭)
  • 上下文提取:解释质量的关键。插件取选区所在段落及前后各一段(上限 3000 字符);macOS 端尽力而为——焦点元素通过 Accessibility 暴露全文时附带选区两侧窗口,读不到(多数终端)只发选区本身,由提示词内建降级规则兜底(ADR-0001)。
  • macOS 取词:优先走 Accessibility(无副作用);不支持的应用退回「模拟 ⌘C → 读剪贴板 → 恢复原内容」;连 ⌘C 都拿不到时(如选中即复制的 TUI)以 15 秒内的剪贴板变化兜底,解释卡顶部会显示实际取到的选区便于核对。
  • 模型可换:默认 gemini-3.8-flash(推理强度 low,首字约 1 秒),两端设置里都可改;flash-lite 系列更省,但对提示词规则遵循得差一些。

隐私

  • 触发时,仅选中文字及可获得的上下文发送到 Google Gemini API,除此之外不发送任何数据
  • 查询不留任何记录,用完即弃;无自建后端,无遥测
  • 发音由系统语音在本机合成,不发送任何数据
  • API key 只存本机,不同步、不上传

仓库结构

extension/   Chrome 插件(WXT + TypeScript,Manifest V3)
macos/       macOS 菜单栏工具(Swift Package,AppKit,macOS 13+)
docs/adr/    架构决策记录
CONTEXT.md   领域语言:载体、选区、上下文、解释卡、触发、引擎……

许可

MIT

About

选中英文,原地浮出语境化中文解释 — Chrome 插件 + macOS 菜单栏工具,Gemini 驱动,查询零记录

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages