Skip to content
rockythinkPublic

About

English-first reading support with minimal contextual hints. Local-first browser extension.

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Repository files navigation

RelyLess Logo

RelyLess

少一点依赖,多一点直接读懂。

RelyLess 是一个面向英语阅读的 Chrome / Edge 扩展。它保留网页上的真实英文,只在需要时给出稀疏的简明英文提示、局部中文说明和可选的阅读解构。

它的默认目标不是把整页替换成中文:自动辅助只面向能可靠识别的主要阅读区域,普通页面导航、控件和无关内容不会被自动翻译。导航链接可通过查词键单击或右键菜单单独请求译文。本页双语翻译需要单独确认,只随阅读位置处理附近正文,保留英文并原位插入译文;结果仍取决于所选模型,可能超时、失败或不完整。

当前版本:v0.8.6。通过 GitHub Releases 提供,尚未发布到 Chrome Web Store 或 Microsoft Edge Add-ons。

产品理念

读英文时,我们常常需要一点帮助,但不一定需要另一篇中文文章。RelyLess 希望帮助你继续读原文,而不是让译文接管阅读。

RelyLess,意味着更少依赖。 我们想做的是阅读中的临时支撑:卡住时托一把,读得下去时少打扰。目标不是让你看更多提示,而是让你逐渐不再需要那么多提示。

  • 英文是主体,提示是配角。 保留原文和阅读节奏,优先用简明英文解释当前语境中的难点,不把默认体验变成满屏注释或中英对照。
  • 中文是退路,不是禁区。 英文解释仍不够时,可以主动请求局部中文说明。先读懂眼前的内容,比坚持某种“正确”的学习方式更重要;本页双语翻译仍需单独确认。
  • 少打扰,也保留选择。 支持可以是提示、仅标记或安静不展示,也可以由你主动求助。不把每次阅读变成背词、打卡或掌握度考试。
  • 帮助有边界,数据也一样。 本地优先不等于完全离线;模型请求的数据去向应当说清楚,阅读记录、摘要与远程个性化分析由你明确开启。具体范围见数据与隐私。

我们更看重:你是否读完了真正想读的内容,以及下一次能否少求助一点。这是产品的设计方向,不是对学习效果的保证。

安装后可在 设置 → 使用说明 按阅读场景查看指南:词义不确定时用注释,长句读不顺时用阅读解构,提示太多时调整帮助,需要大意时请求局部翻译。标记与词注、渐退与恢复、模型请求及数据隐私的说明融入对应场景;查词按键会跟随当前设置。

网页中的查词卡片、阅读解构卡片和翻译操作条带有 RelyLess 来源标识;原文标记、顶部词注和结构下划线不添加 Logo。普通网页不显示全局任务圈或状态条,也不新增常驻悬浮入口。 弹窗、设置、帮助卡、专注阅读工具栏和 PDF 操作界面统一使用浅深色实色表面,不采用半透明或毛玻璃。查词预览与 PDF 文本块悬停使用描边,保留原文可读性;禁用按钮用颜色区分,不把整个控件淡化。

后台准备和阅读解构状态可在扩展弹窗的「当前任务」查看;真实任务失败时,工具栏图标显示 !,优先于网站提示的 +。主动查词和选段翻译的加载、失败及重试留在对应卡片或译文旁;专注阅读与 PDF 使用自己的工具栏。任务解决、关闭对应卡片、译文或撤销提示、暂停本页或切换页面后清除旧状态;临时操作提示按明确期限消失,重复触发时重新计时,真实模型失败保留到重试、关闭或清理。部分段落翻译失败同样显示错误,已完成译文保留,可只重试失败部分。 并发选段翻译中,任一仍打开的失败面板都会保留错误提醒,另一段成功不会覆盖它;关闭失败面板只撤下该面板的错误。“我已认识”错误按求助卡、内联按钮和撤销提示分别持有;另一词保存或重试成功不覆盖仍可见的失败,关闭对应表面只清理自己的错误。暂停本页会立即移除撤销提示。 宿主网页移除失败译文或词注按钮时,会同步清理失效的任务和徽标;导航文字翻译失败在链接旁提供可收起、可重试的恢复卡片,不向链接内嵌入交互按钮。

主要能力

  • 保留英文原文,在词、短语和句子附近提供有限提示;已确认显示的词注不会因滚动或迟到的被动准备结果自行消失,需要时可主动请求局部中文说明并继续追问。
  • 阅读解构标出主谓宾和修饰结构;选段翻译、本页双语翻译与干净原文复制分别按需触发。句子结构单独开关,开启本页阅读或「此网站以后自动开启」不会一并打开它。
  • 内容脚本已经在页面中时,按住查词键、划词翻译和右键「帮助理解选中内容」不要求先开启本页阅读,也不会因此开始自动标记或句子扫描。导航、侧栏和按钮仍用解释卡;正文中的普通链接跟随查词显示方式。关掉本页阅读会撤下单词标记,已确认的全文翻译保留。内容脚本在开启本页阅读、站点自动开始阅读,或使用右键解释、复制、导航翻译时注入;打开弹窗,或网站仅仅已有权限,都不会注入。换到另一个地址会取消该标签的手动暂停,同一地址刷新不会。
  • 专注阅读:在弹窗主动进入当前正文快照,临时隔离网页干扰而保留原文;无需配置模型,也不会仅因进入而请求模型。即使本页辅助未开启,仍可按住 D 单击正文英文词主动求助;自动提示不会因此开启。顶部可单独确认「翻译本页」,仅按阅读位置翻译快照正文;退出恢复原网页。原页已有双语译文时会暂停后保留,退出可继续处理。原页和视图共用词档案与会话帮助缓存;同词同语境的已有结果可复用,语境或解释语言变化时会重新确认,进入视图不会把旧释义自动贴满正文。正文无法可靠识别时拒绝进入。 专注阅读保留有文字的页内脚注跳转;键盘激活只在快照内滚动并聚焦对应位置,不改变原页网址。原站点仅靠 CSS 伪内容或被过滤隐藏节点呈现的无名称链接不会成为空白的键盘停留点,空表头保留为普通单元格。
  • 「我已认识」会撤下现有提示;到期词可在当前阅读页面用轻量复习面板快速回顾。
  • 可配置提示密度、查词方式、显示样式、领域识别、固定术语和网站规则。
  • 阅读记录、摘要与远程个性化分析需明确开启;本地求助词档案默认开启,可关闭、导出或清理。“仅在需要时”不扫描或记录被动阅读活动;即使本页已开启阅读解构,也不自动扫描句子。选中完整单句后点“解构所选”、主动查词与“减少提示”仍可用。
  • 设置中的模型用量优先显示服务商上报的 token;≈ 是粗略估计,不是服务模型的精确分词或账单。估计可使用已预热的本机 MiniLM 分词器,较长内容改按完整载荷字符数计算;不保存请求正文。
  • 模型服务可选择自备 API,或通过本机连接器使用订阅权益:ChatGPT 走官方 Sign in with ChatGPT(SIWC)开源 OAuth 与直接 Responses API;Grok 走用户接受的兼容 device code OAuth 与订阅代理直连,不需要 Grok CLI,也不代表官方第三方支持;Google(Antigravity)保留现有 CLI 通道与配置,使用前应阅读下方官方限制警告。
  • 设置中的“模型用量”按服务与模型显示本机聚合的请求、错误和 token 计数;缺失的 token 数单独显示估算值,不等同于服务商账单。可单独清空,清空失败会提示重试;无痕请求不计入本机统计。详见 隐私政策。
  • 每个 API 服务可保存最多 8 个密钥,按权重轮询并在认证、限流或临时故障时自动切换;可逐项检查密钥。
  • 可选的模型路由判定(Requesty 或 SiliconFlow System One)只判断明确开启的高价值请求;判卷或升级服务不可用时回落当前服务。
  • 内置本地领域识别模型,随扩展提供,不需要首次运行时另行下载。设置页的“领域测试”可在识别不确定时显示候选领域;网站规则仍由你手动设置。
  • 「文档类网站提示」:打开弹窗时,当前网站域名片段命中关键词会提示可为此网站开启自动辅助(本机比较,不需权限);可选的图标提示默认关闭,开启后扩展在本机检查每次打开网页的域名并在图标上提示,不保存、不发送网址。授权仍逐站点进行。
  • 简短查词优先交给本机 Gemini Nano(成功时不联网、不计费);本机调用失败或返回无效内容时,和其余请求一样回落已配置的就绪服务,远端结果不会标为本机生成。
  • 释义与本页译文默认仅在本次会话缓存;跨会话缓存需在数据与隐私中单独开启;可为服务配置故障转移链,也可设月度 token 预算(超限需二次确认)。
  • 追问在 API 服务与升级后的 ChatGPT 订阅连接器上都支持多轮上下文;ChatGPT 每轮重发所需的有界历史,不依赖远端持久会话。
  • 可按 ] / [ 在标记词间键盘导航(默认关闭,在设置中开启)。
  • PDF 阅读:默认仍由浏览器查看器打开 PDF。在 .pdf 链接上右键选「RelyLess:在阅读器中打开 PDF」单次进入,或在设置中开启后接管 .pdf 导航——内置阅读器由随扩展本地加载的 PDF.js 渲染,原文始终可选可复制;单击单词求助、划词翻译与「翻译本页」复用与网页相同的模型服务和确认流程,PDF 文本只在你明确请求时发送给模型。PDF 网址不写入任何记录;仅当站点不带跨域许可时才在阅读器内请求该站访问权限,拒绝后不影响其他网站。网址末尾加 #relyless-native 可单次回退原生查看器。

PDF 单次读取上限 64 MiB、最多 500 页;过大文档或画布页会提示使用原生查看器。每次翻译新页面或重试未译块都会重新估算预算,不能沿用上一页的确认。

模型输出不是事实保证。网络、额度、权限、模型兼容性、内容安全策略和响应格式都可能导致请求失败;失败时不应把未确认结果当作可靠翻译。

快速开始

  1. 打开 设置 → 模型服务,选择订阅连接器或自备 API,完成登录或保存后先执行一次连接检查。
  2. 打开英文文章,点击扩展图标,打开 阅读辅助 开关。只想自己决定何时求助,可在 阅读偏好 选择「只在主动求助时」。弹窗保留原字号并增加分区与说明留白;任务、翻译确认及进度出现时会收拢重复说明,保留全部操作和费用提示。 只想临时清爽地读原文,可直接点击弹窗底部的 专注阅读,无需先开启本页辅助或配置模型。按住 D 单击正文英文词可主动求助,未连接模型时会明确报错;这不会开启被动分析。原页已有双语译文时会暂停并保留,退出后恢复原页结果。在视图顶部可以单独确认「翻译本页」,或调整字号、栏宽、行距和明暗主题;按 Escape 或点击 退出专注阅读 返回原网页。无法可靠识别正文时会提示并留在原页;媒体、未加载图片仍请回原页查看。 正文默认使用本机衬线字体和较窄的 60ch 栏宽,标题与操作控件仍用无衬线字体;不下载远程字体。
  3. 遇到生词:按住当前查词键(默认 D)并单击可见英文词语;正文、其他链接、侧栏和控件文字会打开解释卡片,支持局部中文说明、本句翻译和追问。导航链接上的该操作直接翻译整条标签,不显示词义卡片;再次操作可撤下译文。普通点击链接或按钮仍执行原操作。输入区、编辑内容、隐藏文字及代码块不处理。
  4. 词都认识但句子读不顺:在弹窗开启 阅读解构,先看主谓宾,再展开修饰部分。其下的 划选语法配色 是子选项,开启解构后才显示:按住鼠标拖选已解构正文,各成分背景沿用当前粒度的结构颜色,未解构文字保留普通选中色。「只在主动求助时」模式下,先选择完整句子并点 解构所选;配色只使用主动确认的结果,不启动被动分析。可单独关闭配色而保留结构线;深色页面上各成分不容易分开时,可在设置里把下划线换成浅色底,默认仍是下划线。该选择只在当前网页内存中保留,重开弹窗不重置,刷新页面后恢复默认开启。清除选区、暂停本页或关闭解构后撤下配色,不额外调用模型,也不改变复制内容。
  5. 只翻译眼前内容:选中正文后点击「翻译所选」;选中单词时可点「翻译本段」。导航链接按住查词键单击其中一个英文词,或右键选「RelyLess:翻译导航链接文字」,中文会直接显示在原标签旁,不弹出卡片;原文和链接保持不变。
  6. 复制不带词注和译文的原文:选中段落里的文字,右键选「RelyLess:复制选中段落的原文」。
  7. 需要整页辅助:点弹窗底部的 全文翻译,阅读将发送的内容和费用提示后再确认。同一页停止或失败后的「继续」不再重复这条确认;超出月度预算时仍要再确认。专注阅读顶部的 翻译本页 仍先确认。
  8. 打开 PDF:默认沿用浏览器自带查看器;在 .pdf 链接上右键选「RelyLess:在阅读器中打开 PDF」可单次进入内置阅读器,或在 设置 → 阅读偏好 开启「在 RelyLess 阅读器中打开 PDF」后直接点击链接进入。单词单击(不用按住查词键)即可求助;选中文字点「翻译选段」;工具栏 翻译本页 会把当前页分块送译:译文附在原文块下方,右侧对照栏可总览并点击回跳原文块。地址栏网址加 #relyless-native 或关掉设置项即回到原生查看器。

本页翻译按段落分批处理阅读位置附近的正文;任一批次完成后立即补上下一批,不再等待同轮慢请求。支持流式输出的 API、ChatGPT 和 Grok 可以先在原文旁显示尚未确认的译文,只有完整响应通过校验才计入已译;停止、失败或原文失效会撤下未确认部分,已确认译文保留。Google(Antigravity)的现有 CLI 仍在解析结束后才提供译文。

浏览器没有预设扩展快捷键;快捷键页会列出浏览器自带的「激活该扩展程序」和 RelyLess 的「开启或暂停当前网页」两个未设置入口。需要时可在 chrome://extensions/shortcuts 或 edge://extensions/shortcuts 自行绑定不冲突的组合。Mac 的 Option(⌥)在浏览器设置里也称 Alt。设置里的标记导航 [ / ] 默认关闭。详细场景见扩展内 设置 → 使用说明。

弹窗中的 阅读辅助 与 阅读解构 都使用开关;前者控制当前页面,后者控制句子结构辅助。此网站以后自动开启 单独决定长期网站规则,关闭本页辅助不会取消网站授权。底部并排提供 专注阅读 与 全文翻译,服务未连接时仍可进入本地专注阅读,并提供模型服务设置入口。弹窗不滚动;翻译确认和进度出现时压缩重复说明,功能开关与操作按钮保持可见,数据范围、费用和超预算确认不会省略。长错误和任务文字以紧凑摘要显示,悬停可查看完整文字,读屏保留全文。

使用本页双语翻译

工具栏弹窗底部的 全文翻译 会先显示数据与费用确认,不会因打开弹窗就发起模型请求。同一页的「继续」不再重复这条确认,超出月度预算时仍会停下询问。

进度按正文单元计数,区分已译、待阅读、失败和跳过。只处理视口附近正文,不后台预译整篇;无法安全原位插入的特殊布局保留英文并报告跳过。失败段落只在手动重试时重新请求,已成功部分不会重发。停止保留已有译文,继续需要再次确认;返回英文只移除扩展插入物,不回滚站点更新。已发出的请求可能继续计费。

确认全文翻译后,后台暂停本页的自动词注、领域识别与非主动阅读解构,移除失效的排队任务;已无有效使用者的自动 API 推理(含领域识别及自动解构的路由判定)会中止,让出请求槽位。主动求助、其他页面仍需要的共享推理不取消,返回英文后可恢复自动辅助。不提高并发或改变服务设置;已发送给订阅连接器的推理仍须等待结束,中止 API 请求也不保证服务商停止计费,实际翻译速度仍取决于模型与网络。 已中止的自动 API 尝试仍计入用量与预算,不伪报成功或服务故障。

全文译文使用与原文相近的字号和行距,直立、无引用竖线或额外缩进。标题有足够空间时中英并排,否则译文紧邻下一行;原网页与专注阅读共用此排版。显示与解构中的译文颜色仍生效,装饰与字号比例仅用于选段翻译。已有本段译文时收敛原词的边框、底纹等装饰,悬停或键盘聚焦仍可查看原标记,主动查词与词注保持可用;返回原文后恢复原有装饰。 只有实际预览或确认译文才收敛原词装饰;仅有失败/重试提示不会收敛,预览移除后立即恢复。键盘焦点位于同一词注的提示或已认识按钮时,原词装饰同样恢复。

长段落切块后,每块带有该块紧邻的前后文,用于消解指代和保持术语一致。翻译要求保留否定、条件、数值和原有段落结构,不把全文压缩成摘要;提示词不能保证模型永远准确。译文缓存策略升级后,旧策略的选段与本页缓存不再命中,新请求可能重新产生费用,已有词档案与阅读记录不受影响。

使用 ChatGPT 订阅连接器时,扩展与连接器须一起更新,并重新运行连接器安装程序,再在设置中完成新的 SIWC 登录。旧 Codex CLI 登录凭证不会导入;不再需要安装或运行 Codex CLI,旧连接器与本次协议不兼容。

使用 Grok 订阅连接器时,也须一起更新扩展与连接器、重新运行 --backend grok 安装程序,再在设置中发起新的设备码登录。不会导入旧 Grok CLI 认证;旧安装数据保留且不读取、不删除。Google 配置不因本次 Grok 更新而迁移或删除。

从 Release 安装

要求 Chrome 或 Edge 116 及以上版本。

  1. 从 GitHub Releases 下载 relyless-0.8.6.zip。
  2. 解压后会得到 relyless-0.8.6/,其中包含:
    • extension/
    • connector/
    • README.md
    • LICENSE
    • NOTICE.txt
  3. 打开扩展管理页:
    • Chrome:chrome://extensions
    • Edge:edge://extensions
  4. 开启“开发者模式”。
  5. 选择“加载已解压的扩展”,指向解压后的 extension/ 目录。

Release 包已经包含运行所需文件和本地模型,不包含源码开发依赖;使用 API 模式时无需安装 npm 依赖,也无需构建。

请把解压后的目录放在一个长期不变的位置。未打包扩展的 ID 与目录位置相关:移动目录可能改变扩展 ID,并使本机连接器失效。升级时应保持现有目录路径不变,在原位置替换版本内容,然后在扩展管理页重新加载。

配置模型服务

在扩展设置的“模型服务”中选择一种服务来源。

自备 API

填写服务商、模型 ID、必要的 Base URL,以及一个或多个 API Key;多个密钥按一行一个填写,保存后可用「逐项检查密钥」分别验证。RelyLess 会按权重轮询,并在认证、配额、限流或临时网络故障时切换可用密钥。支持思考参数的服务提供「思考模式」选项:默认「自动」沿用内置关闭策略;「关闭」对恒思考模型仍在请求前拒绝;「低/中/高」按服务商原生参数开启推理,适用于需要推理能力的模型,不支持的档位会如实报错而不静默降级。API Key 和服务配置保存在浏览器扩展的本机存储中;调用时,当前使用的密钥和请求内容会直接发送给你配置的服务端点,错误与诊断会对已保存密钥脱敏。

API 的账户、费用、额度、地区可用性、数据处理条款和所需权限均由你与服务商负责。RelyLess 不附带 API 额度,也不承诺第三方服务免费、持续可用或不留存数据。

StepFun 的 step-3.x/5.x 等恒思考模型会把推理计入输出 token;为避免 8192 token 上限耗尽后没有可读结果,单次 Chat 请求的输出上限为 32768 token(其他模型仍为 8192)。这只是允许的最大值,不代表每次都会用满;实际用量和费用由服务商计费规则决定。设置里的月度预算确认不覆盖所有主动求助请求,不能作为硬性消费上限。

在 macOS / Linux / Windows 上支持 ChatGPT、Grok 及 Google(Antigravity)订阅连接器。自备 API 在所有受支持的浏览器平台上均可直接使用。

可选模型路由

模型路由默认关闭。开启后,RelyLess 使用「领域识别」里的判定接入配置(Requesty 或 SiliconFlow System One),为你勾选的主动求助、选段或整页翻译、追问等请求判断是否升级到指定服务。普通自动词注不会额外判卷,阅读解构也默认不参与。

判卷接收的是有界请求摘要,不是整页内容;判断按操作、内容和设置版本在本机缓存。判卷失败、升级服务未配置或订阅未登录时,请求回落到当前服务。请同时考虑 Jev 请求和升级服务可能产生的费用。

旧版若曾把 Requesty 判定连接误设为当前普通 API 服务,升级后不会继续拿它翻译,也不会自动转移其密钥。请在「高级 → 领域识别」重新填写判定连接,再到「模型服务」删除标为「旧判定连接」的记录;原密钥在删除前仍保留于本机。

订阅连接器

RelyLess 通过本机 Node.js Native Messaging 主机利用你授权的 AI 订阅权益。ChatGPT 使用官方 SIWC 开源 OAuth,主机携带 OAuth Bearer 令牌直接调用 https://api.openai.com/v1/responses;Grok 通过兼容 OAuth 直接访问 xAI 订阅代理;Google 保留现有 Antigravity CLI 适配。移除 Grok CLI 不等于移除本机连接器:仍需安装 Node Native 主机。项目不提供中转云服务。

1. ChatGPT 订阅连接器(macOS / Linux / Windows)

连接器要求:

  • macOS、Linux 或 Windows;
  • Node.js 20 或更新版本;
  • 符合官方 SIWC 资格的 ChatGPT Plus 或 Pro 账户,并在登录时明确允许本应用使用 ChatGPT 计划。可用模型、额度和访问权限由 OpenAI 与账户状态决定。

在解压包或项目根目录运行安装程序。必须把下面的占位符换成扩展管理页显示的、你自己的实际扩展 ID:

node connector/install.mjs --extension-id <YOUR_ACTUAL_EXTENSION_ID>

安装后重新加载扩展,在「设置 → 模型服务 → ChatGPT 订阅」发起登录。主机临时监听本机 loopback 回调,在浏览器中打开 OpenAI 授权页;你完成登录与授权后,主机验证回调并交换凭证,再刷新账户与模型。登录浏览器与主机须位于同一台电脑;不要把回调地址当作远程登录链接分享。

不需要 Codex CLI、共享客户端密钥或手动粘贴 token。OAuth 访问/刷新令牌及注册信息只由本机主机管理,不进入扩展存储、页面、诊断或导出。清理扩展阅读数据不等于退出 ChatGPT 账户;在订阅面板退出登录,必要时在 ChatGPT 设置中撤销本应用访问。

如果迟到或未通过验证的回调已取得令牌但未被本机接受,主机会尝试撤销该新授权;远端未确认时在回调页和适用账户状态中提示到 ChatGPT 设置断开应用,不保留这些令牌,也不恢复本机账户。

取消登录、退出与关闭主机会等待所属在途回调的授权清理,不会在撤销仍未完成时先报告成功。清理使用有界预算;失败或预算耗尽会明确报告远端撤销未确认。退出先清除本机授权,与回调清理并行,不等待另一主机的刷新网络;稍后签发但未提交的刷新授权也会尝试撤销。

取消 ChatGPT 登录或退出后,迟到的授权、刷新与模型结果不会恢复账户。退出会在共享凭证记录中持久保存新的授权世代:其他主机退出前发起的回调不能写回令牌,未过期令牌和模型缓存也须先核对共享记录,状态检查会重读本机授权;退出后主动新登录仍可完成。相关刷新授权并发尝试撤销,远端未确认如实提示,不恢复本机令牌。刷新令牌失效时清除不可用令牌、保留注册并显示登录入口;临时网络或服务故障不清除有效授权。完整进程身份锁原子发布,可验证为已退出进程的锁安全恢复;活进程锁不按时间回收,损坏身份或中断恢复无法验证所有权时明确报错,不猜测回收。 ChatGPT 主机内的追问历史只在内存中保留:闲置 30 分钟过期,最多 50 个会话、每会话最近 12 组问答;退出登录、切换账户或主机退出后清除。它与扩展本机最多 30 天、每会话 40 轮的主动追问记录不同;继续追问会重新发送所需有限历史,主机重启也可从扩展记录重建,无痕窗口不保存这些持久记录。

当前 SIWC 预览要求 HTTP 请求使用 store:false、stream:true:主机读取 SSE 到 response.completed 才确认成功,流中断或失败不会伪装成完成。HTTP 不支持 previous_response_id 或远端 conversation 持续会话,每轮通过 input 数组提供所需历史;也不发送此流程不支持的 temperature、max_output_tokens 等参数。RelyLess 使用文本求助,不把它当作音视频、文件上传或完整工具代理接口。订阅限制不等于扩展的月度 token 预算,也不保证无限调用。

官方协议参考:登录、模型与推理、预览限制。

2. Grok 兼容直连(macOS / Linux / Windows)

连接器要求:

  • macOS、Linux 或 Windows;
  • Node.js 20 或更新版本;
  • 能在 xAI 完成授权、且具有订阅代理访问权益的账户。SuperGrok 或 X Premium+ 等订阅名称本身不保证该代理、模型或额度可用;账户、套餐层级与服务商策略可能拒绝访问。

**兼容性与授权边界:**此通道复用官方 Grok CLI 公开发布的 OAuth client ID,不是 RelyLess 自己注册的 OAuth 客户端,也没有官方第三方支持保证。官方 OIDC discovery 暴露设备码端点,并不代表 xAI 批准 RelyLess 或保证订阅调用可用。RelyLess 在请求标识与 User-Agent 中如实标识自身,不冒充 Grok CLI 或其他来源;代理的 X-XAI-Token-Auth: xai-grok-cli 仅表示兼容的令牌认证方案,不是来源身份声明。不需要安装、运行或登录 Grok CLI。

运行安装程序(指定 --backend grok):

node connector/install.mjs --extension-id <YOUR_ACTUAL_EXTENSION_ID> --backend grok

安装后重新加载扩展,在「设置 → 模型服务 → Grok 订阅」发起登录。打开主机提供的可信 auth.x.ai 验证地址,输入显示的短设备用户码并确认授权;不要分享该用户码。主机在本机轮询设备授权、通过官方 userinfo 核实身份(返回 ID token 时验证签名与 claims)并保存凭证,浏览器只得到验证地址、用户码及脱敏账户/模型状态,不得到 device code 或令牌。拒绝、超时、取消或验证失败会明确报错。从旧 CLI 通道迁移时,须重新安装主机并完成设备码登录;后续主机更新保留有效的直连授权。不导入旧 CLI 认证,也不读取或删除旧 CLI 数据。

OAuth 访问令牌与轮换刷新令牌仅保存在主机数据目录的 grok-oauth.json;刷新记录原子更新,POSIX 文件权限为 0600(Windows 访问控制由系统账户与目录权限决定)。令牌不进入扩展存储、网页、诊断或导出;请求正文不落为提示词文件。账户身份通过 https://auth.x.ai/oauth2/userinfo 核实;模型目录与 Responses 推理直接访问 https://cli-chat-proxy.grok.com/v1,由 xAI 接收必要文本、账户认证及正常网络元数据。请求使用 store:false,不等于零保留;服务商的正常账户、安全、用量和内容处理仍受其政策约束。

主机只接受明确完成的 HTTP/SSE 结果;认证、权益/套餐、限额、模型权限和断流失败如实显示,不新增自动推理重试,也不自动转成 API Key 付费请求。此次不新增 Grok 多轮追问。订阅面板退出会清除本机授权,并尝试向 xAI 撤销令牌;远端撤销失败不伪装成功,也不阻止本机退出,必要时通过服务商账户管理撤销。清理扩展阅读数据不会退出 Grok,也不能删除服务商已接收的数据。

协议与兼容证据:官方 OIDC discovery、Kilo 固定版本的公开客户端复用实现、第三方 pi-xai-oauth 代理实现、ADR 0008。公开源码不是官方批准或 RelyLess 真实账户登录成功的证据。

3. Google 订阅连接器(macOS / Linux / Windows)

官方限制警告:Antigravity 官方 FAQ 明确表示,用第三方软件、工具或服务访问 Antigravity 违反其服务条款,可能导致账户暂停或终止。请先阅读并评估该限制;保留配置不代表官方允许此用途。本次仅迁移 Grok,不迁移、删除或重写你现有的 Google 服务与配置,以下仍描述现有 CLI 通道。

连接器要求:

  • macOS、Linux 或 Windows;
  • Node.js 20 或更新版本;
  • Google Antigravity CLI(agy),且 agy --version 可正常运行;
  • 拥有 Google AI Pro 或 Ultra 订阅,并已通过 CLI 完成账户登录。

运行安装程序(指定 --backend antigravity):

node connector/install.mjs --extension-id <YOUR_ACTUAL_EXTENSION_ID> --backend antigravity

连接器通用说明

不要复制他人的扩展 ID,也不要把任何特定电脑上的 ID 写进脚本或公开配置。默认会为 Chrome 和 Edge 注册连接器;可用 --browser chrome、--browser edge 或逗号分隔的列表限制目标浏览器。安装后重新加载扩展,在“模型服务”中选择对应订阅并点击“刷新账户与模型”,并按需完成登录。

移动扩展目录后,浏览器可能生成新 ID;此时必须使用新的实际 ID 重新安装连接器。更稳妥的升级方式是始终保留原目录位置。订阅是否包含可用模型和调用额度由各服务商账户状态决定,订阅不等于无限或保证可用。

数据与隐私

“本地优先”不等于“所有处理都离线”。本地领域识别和本机记录不需要把整页上传到 RelyLess 自有服务器;项目本身不提供中转云服务。但使用 API 或订阅连接器(包括 ChatGPT、Grok 与 Google)时,完成任务所需的内容会发送给你选择的模型服务商:

  • 普通辅助会发送目标词句及适用的页面标题、章节信息和上下文;自动预备的文章上下文最多 12,000 字符,较短文章可能整体包含在内。请求同时包含任务指令与结构化输出约束。
  • 选择远程领域识别时,会发送标题和经过长度限制的正文样本;默认本地领域识别不需要该远程请求。
  • 明确开启“模型路由”后,目标词句或上下文等最多 2,000 字符的请求摘要会先发送到设置的判定接口(Requesty 或 SiliconFlow System One,默认 Requesty),再由原服务或升级服务处理;普通窗口只在本机缓存摘要对应的判断结果,无痕窗口不留此缓存。
  • 主动翻译选段时,会发送所选片段及有限上下文。视频字幕支持暂时隐藏,不挂载播放器入口;已有视频偏好保留。
  • 本页双语翻译仅在确认后发送附近正文及有限上下文:标题、所在章节各最多 160 字符,相邻正文前后各最多 400 字符。每批最多四项、源文本合计最多 4,000 字符,源文本加上下文最多 12,000 字符;不读取输入框、隐藏正文或视频字幕。不会因此额外生成摘要、写入全文阅读事件或个人词档案;成功译文可进入默认会话缓存,本页译文另有五分钟、最多 256 项的后台内存缓存。
  • 如果明确开启阅读摘要,会发送长度受限的阅读样本;如果进一步开启个性化分析,会发送近 30 天内有限的查询、例句、摘要和客观活动统计证据。
  • 主动追问的问答、有限上下文、页面标题和不含查询参数或片段的页面地址会在本机保留最多 30 天,供继续追问;无痕窗口不保存追问历史。

请求载荷不主动包含页面网址,但服务商仍可获得正常网络请求元数据,并可能按照其自身条款记录请求、账户和内容。RelyLess 无法承诺第三方或自建 API 服务端不留存数据;请在使用前检查所选服务商的隐私与保留政策。

扩展设置中的边界如下:

  • “记住求助词与支持偏好”默认开启;关闭后,不再读取或更新个人词档案;原有档案会保留,除非在“数据与隐私”中清理。
  • “阅读记录”需要明确开启并添加允许的网站;关闭采集不会自动删除已有记录。
  • 阅读摘要和个性化分析是阅读记录之上的独立开关,没有授权时不会运行。
  • 预备解释和有限上下文缓存只保留在当前浏览器会话;个人词档案不保存原句、标题或来源网址。 简短词义帮助、选段与本页译文默认也只在会话中缓存;在“数据与隐私”明确开启后才跨会话保留最多 30 天(词义最多 500 条、译文最多 1,500 条)。关闭开关会删除持久缓存,也可单独清空;缓存值包含模型生成文本,不应当视为匿名数据。
  • 无痕页面不采集阅读记录、词汇记忆、复习反馈或扩展诊断事件,也不读取普通窗口的个人词档案;主动模型请求仍会发送到所选服务,已连接 Native 主机仍可能记录不含正文与账户的请求元数据。可在“数据与隐私”中导出或清理本机阅读数据;诊断单独管理。

运行诊断默认开启,只在本机记录有限元数据,不保存正文、完整模型响应、网址或凭据,也不自动上传;在「领域识别 → 运行诊断」可关闭、导出或单独清空。关闭先保存扩展设置,已连接主机先停当前进程记录再保存配置;原生存储失败会报告未同步,不冒充成功,重启仍可能读取旧开启配置,下次连接重试。清空先删除扩展日志,只有所有当前已连接主机都明确确认删除两个日志文件后才移除待清空标记;任一失败保留请求并如实报错,无连接时下次连接重试,不为诊断暗中启动主机,也不清理未参与连接的其他独立主机。退出账户或清理阅读数据不等于清空诊断。

参与开发

RelyLess 由 GitHub 社区共同维护。首次贡献请从 CONTRIBUTING.md 开始;开发文档中心说明当前产品方向、开发原则、架构边界、PR 规则、开发记录和 ADR。Bug 与功能提案请使用仓库的 Issue 模板,安全漏洞按照 SECURITY.md 私下报告。

使用 AI 编程工具时,仓库根目录的 AGENTS.md 提供统一约束;支持 Agent Skills 的工具可加载 RelyLess Development Skill。这些入口引用同一组规范,不维护互相冲突的副本。

从源码开发

源码仓库包含扩展、本机连接器、测试、构建工具以及随扩展分发的本地模型运行库,检出体积约 46 MB。package.json 保持 private: true 是为了防止误发布到 npm,不影响 GitHub 源码公开。

要求 Node.js 20.11 或更新版本,以及 Bun(用于测试与演示服务器)。

git clone https://github.com/rockythink/relyless.git
cd relyless
npm ci
npm run check

依赖锁文件使用 overrides 固定已修复的 sharp 版本,以修补本地模型构建工具的间接图像处理依赖;它不改变扩展内已打包的浏览器推理库版本。

常用脚本:

npm run demo             # 使用 Bun 启动本地演示
npm run local-model:build
npm run frequency:build
npm run release:package

npm run release:package 只接受干净且已经提交的 HEAD,按 package.json 当前版本生成 dist/relyless-<version>.zip 和 dist/SHA256SUMS。Release ZIP 只包含可运行的 extension/、connector/ 和根目录 README、双语隐私政策与许可文件,不包含 node_modules、测试或开发工具;未启用的视频字幕线(VIDEO_SUPPORT_ENABLED=false)通过 export-ignore 排除在归档外。

目录概览:

  • extension/:Manifest V3 扩展、界面、本地模型与运行时资源。
  • connector/:ChatGPT、Grok 及 Google(Antigravity)订阅 Native Messaging 连接器。
  • tests/:由 Bun 运行的回归测试。
  • tools/:本地模型、词频、演示和发布包构建脚本。
  • docs/:项目设计资料。

许可与第三方材料

项目自有代码采用 Mozilla Public License 2.0。Copyright 2026 Elazer (rockythink)。

仓库和 Release 包含采用 CC BY-SA 4.0、Apache-2.0、MIT 等不同许可的词频数据、模型、运行时、图标和适配代码;它们不会因与本项目一起分发而改按 MPL-2.0 许可。汇总见 NOTICE.txt,完整第三方声明随对应资源保留在 extension/ 子目录中。

About

English-first reading support with minimal contextual hints. Local-first browser extension.

Resources

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages