# Lingrove
**Repository Path**: zhdgzs/Lingrove
## Basic Information
- **Project Name**: Lingrove
- **Description**: 一款沉浸式语言学习浏览器插件,用于收集、复习和巩固词汇。An immersive language learning browser plugin for collecting, reviewing, and consolidating vocabulary.
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-01-29
- **Last Updated**: 2026-01-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Lingrove - 沉浸式语言学习 Chrome 插件
智能替换网页词汇,创造沉浸式双语学习环境
基于「可理解性输入」理论,让语言学习融入日常生活
English | 中文
## 📸 功能展示
---
## === 2026-01-24 更新功能 ===
### ☁️ 自动同步功能
新增定时自动同步功能,无需手动操作即可定期备份数据:
- **定时自动备份** — 每小时自动检测并上传数据到 WebDAV 云端
- **智能文件管理** — 每天仅保留一个自动同步文件(`auto_sync_YYYY-MM-DD.json`),自动清理旧文件
- **静默运行** — 后台自动执行,不干扰用户正常使用
- **可选开关** — 可在设置页面自由启用/禁用自动同步功能
### 🔄 页面还原功能
新增快捷键支持临时还原页面到原始状态:
- **快捷键还原** — 按 `Alt+R` 快速还原页面到未翻译状态
- **智能状态管理** — 手动还原后自动禁用自动处理,避免重复翻译
- **快捷键拆分** — 将原 `Alt+T` 拆分为处理页面(`Alt+T`)和还原页面(`Alt+R`)两个独立快捷键
- **UI 优化** — Popup 操作区域改为网格布局,按钮并排显示
### 🚫 IP 地址过滤
新增 IP 地址自动过滤功能,跳过本地开发环境:
- **自动识别** — 自动识别并跳过 localhost、192.168.x.x、IPv6 等本地地址
- **一键开关** — 可在设置页面一键启用/禁用 IP 地址过滤
- **开发友好** — 避免在本地开发环境中触发不必要的翻译处理
### 🐛 翻译弹窗优化
修复翻译弹窗显示问题,提升用户体验:
- **智能定位** — 自动检测弹窗位置,确保完全显示在可视区域内
- **边界处理** — 弹窗超出屏幕边界时自动调整位置,避免被遮挡
---
## === 2026-01-10 更新新功能 ===
### 🌐 接入翻译API服务支持
新增独立的翻译服务模块,支持翻译网页指定文本并替换原文:
- **自定义翻译 API** — 可配置 Google、百度、腾讯云、有道等翻译服务
- **多节点配置** — 支持配置多个翻译服务节点,按优先级使用
- **自动降级处理** — 翻译服务不可用时,自动降级到 AI 翻译兜底
**支持的免费翻译 API:**
| 服务商 | 免费额度 | 文档地址 |
|--------|----------|----------|
| Google 翻译 | 50 万字符/月 | https://cloud.google.com/translate/pricing?hl=zh-cn |
| 百度翻译 | 5万字符/月(未认证) 100万字符/月(个人认证) | https://fanyi-api.baidu.com/product/112 |
| 腾讯云翻译 | 500 万字符/月 | https://cloud.tencent.com/document/product/551/35017 |
| 有道智云 | 一次性 50 元额度 | https://ai.youdao.com/DOCSIRMA/html/trans/price/wbfy/index.html |
### ☁️ 云同步功能
新增数据云同步功能,支持跨设备同步学习数据:
- 已学会词汇列表同步
- 需记忆词汇列表同步
- 扩展配置同步
### 📝 选中文本翻译
选中页面任意文本即可弹出翻译窗口:
- **短文本** — 直接显示翻译结果
- **段落文本** — 支持长段落翻译
### 👁️ 已学会词汇显示配置
可配置已学会词汇在页面上的显示方式:
- **隐藏** — 完全不显示已学会的词汇
- **原文** — 显示原文形式
- **译文** — 显示译文形式
### 📊 替换强度百分比优化
替换强度从固定词数改为百分比模式,根据段落长度动态计算替换数量,更加灵活智能。
### ⚡ 翻译阈值优化
支持自定义翻译阈值,优化翻译触发判断逻辑,使用动态最小文本长度,提升翻译触发的准确性。
---
>
> 本项目基于 [VocabMeld](https://github.com/lzskyline/VocabMeld) 二次开发。
>
---
## ✨ 核心亮点
- **多 LLM 支持** — 兼容 OpenAI、DeepSeek、Moonshot、Groq、Ollama 等主流 AI 服务
- **多节点故障转移** — 支持配置多个 API 节点,自动故障转移和速率限制轮询
- **智能语义分词** — 针对中文、英文等语言优化分词规则,准确识别词组和短语
- **提示词自定义** — 支持自定义 AI 提示词规则,优化翻译效果
- **CEFR 六级难度** — 精准控制学习词汇难度(A1-C2),只学你需要的
- **智能缓存加速** — LRU 缓存(最高 10000 词),二次访问毫秒级响应
- **双向翻译** — 自动检测页面语言,智能决定翻译方向
- **词汇管理** — 已学会词汇不再替换,需记忆词汇随时复习
- **主题定制** — 深色/浅色模式,多种配色方案可选
---
## 🚀 快速开始
### 安装
#### 方式一:从 Edge 商店安装(推荐)
直接从 Microsoft Edge 扩展商店安装,自动更新,最简单便捷:
👉 [Edge 扩展商店](https://microsoftedge.microsoft.com/addons/detail/pdkghihmaleolpieganmdjiifdhngpbc)
#### 方式二:从 Release 安装
1. 前往 [Releases 页面](https://github.com/zhdgzs/Lingrove/releases) 下载最新版本的 zip 文件
2. 解压下载的 zip 文件到本地目录
3. 打开 Chrome,访问 `chrome://extensions/`
4. 开启右上角"开发者模式"
5. 点击"加载已解压的扩展程序",选择解压后的文件夹
#### 方式三:从源码安装
1. 克隆本仓库:`git clone https://github.com/zhdgzs/Lingrove.git`
2. 安装依赖并构建:`npm install && npm run build`
3. 打开 Chrome,访问 `chrome://extensions/`
4. 开启"开发者模式"
5. 点击"加载已解压的扩展程序",选择项目文件夹
### 配置 API
1. 点击扩展图标 → 设置
2. 选择预设服务(**推荐魔搭社区**,免费额度充足)或自定义配置
3. 填入 API 密钥,测试连接
> **魔搭社区使用说明**:
>
> 魔搭社区单账号每天 2000 次总额度,但单模型限制 500 次。可以配置 4 个节点使用不同模型(如 DeepSeek-V3、DeepSeek-V3.2、Qwen2.5-72B、Qwen3-235B),充分利用 2000 次额度
>
> 必须选择支持"推理 API-Inference"的模型才可使用,如下图所示:
>
>
>
>
### 支持的 API 服务
| 服务商 | 端点 | 推荐模型 | 备注 |
|--------|------|----------|------|
| **魔搭社区** ⭐ | `https://api-inference.modelscope.cn/v1/chat/completions` | deepseek-ai/DeepSeek-V3.2 | 免费额度充足,推荐 |
| DeepSeek | `https://api.deepseek.com/chat/completions` | deepseek-chat | |
| OpenAI | `https://api.openai.com/v1/chat/completions` | gpt-4o-mini | |
| Moonshot | `https://api.moonshot.cn/v1/chat/completions` | moonshot-v1-8k | |
| Groq | `https://api.groq.com/openai/v1/chat/completions` | llama-3.1-8b-instant | |
| Ollama | `http://localhost:11434/v1/chat/completions` | qwen2.5:7b | 本地部署 |
---
## 📖 使用技巧
| 操作 | 说明 |
|------|------|
| `Alt+T` | 快速处理当前页面 |
| `Alt+R` | 快速还原当前页面 |
| 悬停词汇 | 查看音标、难度、词典释义 |
| 点击音标 | 播放发音 |
| 点击"已学会" | 该词不再替换 |
| 点击"收藏记忆" | 加入记忆列表 |
| 选中生词 | 添加到需记忆列表 |
**推荐配置**:母语中文 + 学习英语 + B1 难度 + 适中强度
---
## 🔧 功能概览
### 替换强度
| 强度 | 每段最大替换 | 适用场景 |
|------|-------------|----------|
| 较少 | 4 词 | 轻度学习,保持阅读流畅 |
| 适中 | 8 词 | 日常学习,平衡阅读与学习 |
| 较多 | 14 词 | 强化学习,最大化词汇接触 |
### 显示样式
| 样式 | 显示格式 |
|------|---------|
| 译文(原文) | `translated(original)` — 默认 |
| 仅译文 | `translated` — 悬停查看原文 |
| 原文(译文) | `original(translated)` |
### 站点规则
- **所有网站模式**:默认在所有网站运行,可设置排除列表
- **仅指定网站模式**:只在指定的网站上运行
- 支持域名模糊匹配,Popup 中快速切换
### 提示词设置
支持自定义 AI 翻译提示词,优化语义分词和翻译效果:
- **分层架构** — 核心规则 + 源语言规则 + 目标语言规则 + 自定义规则
- **智能语义分词** — 针对不同语言优化分词策略:
- 中文:按语义边界识别,避免「对方面无表情」被错误切分为「方面」
- 英文:识别短语动词(give up、look forward to)和固定搭配
- **规则可编辑** — 源语言和目标语言规则支持自定义修改
- **完整预览** — 可预览发送给 AI 的完整提示词,包含所有动态参数
### 多节点管理
支持配置多个 API 节点,实现智能故障转移和负载均衡:
- **多节点配置** — 支持配置多个节点,每个节点可独立设置端点、密钥、模型和启用/关闭状态
- **自定义优先级** — 可以按照顺序,配置节点优先级,优先使用最优节点
- **自动故障转移** — 节点失败(网络异常、服务不可用、额度耗尽、RPM限制)时自动切换下一个
- **速率限制轮询** — 多节点轮流处理请求,突破单节点 RPM 限制
- **健康检查** — 5 分钟内 3 次失败标记异常,定期自动恢复
**典型场景**:
- 不够用,可以申请多个魔搭社区账号(每天 2000 次/账号),配置轮询叠加免费额度
- 配置不同服务商(DeepSeek + 魔搭)互为备份,提升可用性
- 免费节点优先,额度用完自动切换付费节点兜底
---
## 🔒 隐私政策
- **本地存储**:所有数据存储在浏览器本地,不上传任何服务器
- **API 请求**:仅在翻译时发送文本片段到您配置的 AI 服务
- **您控制一切**:API 密钥由您自行提供和管理
- **无追踪**:不包含任何分析、追踪或广告代码
---
## 📚 更多文档
- [技术文档](TECHNICAL.md) — 项目架构、核心算法、开发说明
---
## 📈 Star History
[](https://star-history.com/#zhdgzs/Lingrove&Date)
---
## 📄 开源许可
本项目基于 [MIT License](LICENSE) 开源。
你可以自由地使用、复制、修改、分发本项目,包括商业用途。唯一要求是保留原版权声明和许可证。
原项目:[VocabMeld](https://github.com/lzskyline/VocabMeld)
---
## ☕ 赞赏支持