630 lines
29 KiB
Markdown
630 lines
29 KiB
Markdown
|
|
<div class="sy__outline" style="max-width: 900px; margin: 0 auto;">
|
|||
|
|
<div style="text-align: center; padding: 2.5em 1.5em; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 16px; box-shadow: 0 8px 32px rgba(0,0,0,0.1); margin-bottom: 2em;">
|
|||
|
|
<h1 style="color: white; margin: 0 0 0.3em; font-size: 2.5em; font-weight: 600;">📖 思阅 SiReader</h1>
|
|||
|
|
<p style="color: rgba(255,255,255,0.9); margin: 0 0 1.5em; font-size: 1.1em;">专业电子书阅读 · 智能标注 · 多格式支持</p>
|
|||
|
|
<p style="color: rgba(255,255,255,0.85); margin: 0 0 1.5em; line-height: 1.6; font-size: 0.95em;">让思源笔记变身专业电子书阅读器,支持 EPUB/PDF/TXT/在线小说多格式阅读<br>提供智能标注、多主题切换、词典查询、AI 翻译、卡包系统等功能,打造沉浸式阅读体验</p>
|
|||
|
|
<p style="margin: 0 0 1em;">
|
|||
|
|
<img src="https://img.shields.io/badge/version-0.8.5-blue.svg" alt="Version" style="display: inline-block; margin: 0 4px;">
|
|||
|
|
<img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License" style="display: inline-block; margin: 0 4px;">
|
|||
|
|
<img src="https://img.shields.io/badge/SiYuan-3.0+-orange.svg" alt="SiYuan" style="display: inline-block; margin: 0 4px;">
|
|||
|
|
</p>
|
|||
|
|
<p style="margin: 0;">
|
|||
|
|
<a href="https://my.feishu.cn/wiki/Czp8wrf2NibwA9krhvmcHnbtnMc?from=from_copylink" style="display: inline-block; margin: 0 4px; color: white; text-decoration: none;">📖 使用说明</a>
|
|||
|
|
<a href="https://my.feishu.cn/wiki/XzefwHqz4inde7k7rJKce7shn8d?from=from_copylink" style="display: inline-block; margin: 0 4px; color: white; text-decoration: none;">🔄 更新日志</a>
|
|||
|
|
<a href="https://qm.qq.com/q/wpHDtsfxCw" style="display: inline-block; margin: 0 4px; color: white; text-decoration: none;">👥 QQ群</a>
|
|||
|
|
</p>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✨ 核心特性
|
|||
|
|
|
|||
|
|
### 📚 多格式支持
|
|||
|
|
- **EPUB** - 完整支持,智能目录、脚注识别
|
|||
|
|
- **PDF** - 专业阅读器,支持缩放、旋转、搜索
|
|||
|
|
- **TXT** - 智能编码检测,章节自动识别
|
|||
|
|
- **在线小说** - 多书源搜索,实时更新
|
|||
|
|
|
|||
|
|
### 🎨 阅读体验
|
|||
|
|
- **8款主题** - 默认、杏仁黄、秋叶褐、青草绿、海天蓝、夜间、暗黑、赤金
|
|||
|
|
- **自定义主题** - 文字颜色、背景色、背景图片完全自定义
|
|||
|
|
- **阅读模式** - 单页/双页、滚动/翻页、左右目录
|
|||
|
|
- **外观设置** - 字体、字号、行距、段距、边距、视觉滤镜全面可调
|
|||
|
|
|
|||
|
|
### 🖊️ 智能标注
|
|||
|
|
- **7色标注** - 红🔴橙🟠黄🟡绿🟢粉🩷蓝🔵紫🟣,4种样式(高亮/下划线/边框/波浪线)
|
|||
|
|
- **PDF 高级标注** - 墨迹标注、形状标注(矩形/圆形/三角形)、填充功能
|
|||
|
|
- **笔记系统** - 为标注添加详细笔记,支持实时编辑
|
|||
|
|
- **精确定位** - 使用 CFI/页码精确定位,支持跨设备同步
|
|||
|
|
|
|||
|
|
### 📖 词典查询
|
|||
|
|
- **7个词典源** - 剑桥、有道、海词、汉字、词语、汉典、必应
|
|||
|
|
- **智能识别** - 自动选择最合适的词典
|
|||
|
|
- **卡包系统** - 查词结果一键加入卡包,便于复习
|
|||
|
|
|
|||
|
|
### 🔍 书源搜索
|
|||
|
|
- **多书源支持** - 支持自定义书源,并发搜索
|
|||
|
|
- **智能解析** - 完整支持 JSONPath、CSS、XPath、JavaScript、正则表达式
|
|||
|
|
- **规则组合** - 支持 `&&`/`||`/`%%` 组合、`{$.path}` 嵌套、`@put/@get` 数据共享
|
|||
|
|
|
|||
|
|
### 🎴 闪卡学习系统
|
|||
|
|
- **Anki 导入** - 完整支持 .apkg 文件导入,保留卡组结构和卡片内容(暂不支持导入学习进度)
|
|||
|
|
- **思源闪卡同步** - 支持导入思源闪卡,实时双向同步(添加、删除、修改自动同步)
|
|||
|
|
- **间隔重复** - 四级评分系统,智能学习队列,自定义学习阶梯
|
|||
|
|
- **FSRS 算法** - 先进的记忆算法,自动优化复习间隔
|
|||
|
|
- **数据统计** - 11种可视化图表:环形图、折线图、气泡图、雷达图、热力图等
|
|||
|
|
- **完善设置** - 30+ 可配置参数,每日限制、学习阶梯、高级选项
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 快速开始
|
|||
|
|
|
|||
|
|
### 安装
|
|||
|
|
1. 打开思源笔记 → `设置` → `集市` → `插件`
|
|||
|
|
2. 搜索 "思阅" 或 "SiReader"
|
|||
|
|
3. 点击安装并启用
|
|||
|
|
|
|||
|
|
### 使用
|
|||
|
|
- **本地文件** - 点击书架"添加书籍"按钮,选择 EPUB/PDF/TXT 等文件导入
|
|||
|
|
- **在线小说** - 点击工具栏搜索按钮,搜索并添加到书架
|
|||
|
|
- **书架管理** - 点击工具栏书架按钮,管理所有书籍
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 最新更新
|
|||
|
|
|
|||
|
|
### v0.8.5 (2026.2.9)
|
|||
|
|
|
|||
|
|
#### ✨ 新增功能
|
|||
|
|
|
|||
|
|
**卡片编辑功能**
|
|||
|
|
- 支持闪卡卡片编辑,可修改卡片正面、背面和标签
|
|||
|
|
- 思源闪卡编辑暂时有问题,请等待后续优化
|
|||
|
|
|
|||
|
|
**导航栏自定义**
|
|||
|
|
- 支持自由启用/禁用各功能模块
|
|||
|
|
- 支持导航项排序,自定义功能按钮顺序
|
|||
|
|
|
|||
|
|
#### 🔧 优化改进
|
|||
|
|
|
|||
|
|
**设置界面重构**
|
|||
|
|
- 采用手风琴式折叠面板,主手风琴互斥展开
|
|||
|
|
- 重新规划分组:界面布局、阅读主题、文本样式、词典工具、其他设置
|
|||
|
|
- 词典功能移至设置面板统一管理,使用二级手风琴分组
|
|||
|
|
- 自定义字体延迟加载,提升设置面板打开速度
|
|||
|
|
|
|||
|
|
**交互优化**
|
|||
|
|
- 统一所有删除、重置等二次确认的交互逻辑和样式
|
|||
|
|
- 词典删除改用内联确认按钮,与其他删除操作保持一致
|
|||
|
|
|
|||
|
|
#### 🐛 问题修复
|
|||
|
|
|
|||
|
|
- 修复设置页面内容挤压显示不全的问题
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### v0.8.4 (2026.2.7)
|
|||
|
|
|
|||
|
|
#### ✨ 新增功能
|
|||
|
|
|
|||
|
|
**思源闪卡双向同步**
|
|||
|
|
- 支持导入思源闪卡到插件卡组,在卡组管理界面点击"导入思源"按钮
|
|||
|
|
- 两步选择流程:先选思源卡组,再选目标插件卡组
|
|||
|
|
- 自动解析 7 种闪卡类型:标记制卡、标题块、列表块、超级块、问答题、多行题、默认
|
|||
|
|
- 支持填空题格式:`{{c1::答案::提示}}` 和 `==标记==`,支持多个挖空
|
|||
|
|
- 导入的卡片自动添加 `siyuan` 标签,保留原始块 ID 和卡组 ID
|
|||
|
|
|
|||
|
|
**实时双向同步**
|
|||
|
|
- WebSocket 实时监听思源闪卡变化,自动同步到插件
|
|||
|
|
- 思源添加闪卡 → 自动导入到插件卡组
|
|||
|
|
- 思源删除闪卡 → 自动删除插件中的对应卡片
|
|||
|
|
- 思源修改闪卡内容 → 自动更新插件中的卡片内容
|
|||
|
|
- 插件修改卡片 → 可同步回思源笔记(支持定位和删除)
|
|||
|
|
|
|||
|
|
#### 🔧 优化改进
|
|||
|
|
|
|||
|
|
- 创建卡片列表组件,统一卡片加载渲染逻辑
|
|||
|
|
- 优化统计页面结构,数据展示更清晰
|
|||
|
|
- 支持删除父卡组实现批量删除
|
|||
|
|
- 统一事件触发机制,所有卡组和卡片操作实时更新 UI
|
|||
|
|
- 精简导入和同步提示,只保留最终结果
|
|||
|
|
- 使用思源主题变量的 CSS 样式,界面更协调
|
|||
|
|
|
|||
|
|
#### 🐛 问题修复
|
|||
|
|
|
|||
|
|
- 修复删除卡组后卡片页面没有更新的问题
|
|||
|
|
- 修复通配符选择器样式泄漏导致思源代码块被强制锁定高度和文字缩小的问题
|
|||
|
|
- 完善 Anki 数据库和进度数据的清理逻辑
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### v0.8.3 (2026.2.6)
|
|||
|
|
|
|||
|
|
#### ✨ Anki 卡片功能增强
|
|||
|
|
|
|||
|
|
**🖼️ 图片遮挡(Image Occlusion)**
|
|||
|
|
- 支持 Anki 图片遮挡卡片,适用于解剖图、地图、图表、电路图等学习场景
|
|||
|
|
- 自动识别图片遮挡笔记类型,SVG 矢量遮挡清晰精确
|
|||
|
|
- 正面红色半透明遮挡,背面绿色高亮显示答案
|
|||
|
|
- 支持多个遮挡区域,根据卡片序号自动切换
|
|||
|
|
|
|||
|
|
**📐 LaTeX 公式渲染**
|
|||
|
|
- 完整支持 Anki LaTeX 公式格式
|
|||
|
|
- 自动转换 `[$]...[/$]` 格式为标准 LaTeX 语法(行内 `\(...\)` 和块级 `\[...\]`)
|
|||
|
|
- 使用 MathJax 3.x 渲染引擎,翻页、翻转卡片时自动重新渲染
|
|||
|
|
|
|||
|
|
**🔍 卡组搜索功能**
|
|||
|
|
- 支持高级搜索语法,快速定位卡片
|
|||
|
|
- 基础搜索:搜索卡片正面、背面和标签内容
|
|||
|
|
- 高级筛选:支持卡组(`卡组:英语`)、标签(`标签:高频词`)、状态(`状态:due`)、属性(`属性:ivl>30`)等多维度筛选
|
|||
|
|
- 组合搜索:支持多条件组合,如 `卡组:英语 标签:动词 状态:due`
|
|||
|
|
|
|||
|
|
**📝 填空题(Cloze)支持**
|
|||
|
|
- 完全兼容 Anki 填空题格式
|
|||
|
|
- 支持基础填空 `{{c1::答案}}` 和带提示填空 `{{c1::答案::提示}}`
|
|||
|
|
- 支持多个填空位置,根据卡片序号自动显示对应填空
|
|||
|
|
- 正面显示 `[...]` 或 `[提示]`,背面显示所有答案并高亮
|
|||
|
|
|
|||
|
|
#### 🚀 性能优化
|
|||
|
|
|
|||
|
|
**📦 媒体加载优化**
|
|||
|
|
- 完整重构媒体加载系统,性能提升 40 倍
|
|||
|
|
- 三层缓存架构:Blob 缓存(30MB)+ Zip 缓存(2个文件)+ 网络获取
|
|||
|
|
- 后续图片加载从 ~2000ms 降至 ~50ms
|
|||
|
|
- LRU 淘汰策略 + 5 分钟 TTL 自动清理,总内存控制在 ≤60MB
|
|||
|
|
|
|||
|
|
#### 🔧 功能改进
|
|||
|
|
|
|||
|
|
**📁 智能文件夹命名**
|
|||
|
|
- 文件夹基于卡组名称命名,如 `col-英语单词`、`col-日语单词`
|
|||
|
|
- 重名导入时自动递增:`col-英语单词-1`、`col-英语单词-2`
|
|||
|
|
|
|||
|
|
**🔄 数据同步机制**
|
|||
|
|
- 启动时自动同步数据库和文件夹,保持数据一致性
|
|||
|
|
- 自动删除数据库损坏的 collection 和关联卡组
|
|||
|
|
- 自动识别手动复制的文件夹并添加到数据库
|
|||
|
|
|
|||
|
|
**🏗️ 架构优化**
|
|||
|
|
- 统一错误处理返回格式,简化条件判断
|
|||
|
|
- Collection 和 Deck 双重查重,避免重复导入
|
|||
|
|
|
|||
|
|
#### 🐛 Bug 修复
|
|||
|
|
- 修复卡组导入后不显示的问题
|
|||
|
|
- 修复父子卡组 ID 相同的问题
|
|||
|
|
- 修复 collection 删除时未清理文件的问题
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### v0.8.2 (2026.2.4)
|
|||
|
|
|
|||
|
|
#### ✨ 新增功能
|
|||
|
|
- **脚本内容支持** - 卡片现在支持加载和执行脚本内容,实现交互功能(如词典查询、音频播放等)
|
|||
|
|
- **标签图片显示** - 自动从卡片脚本中提取图片信息,根据标签显示对应图片,正反面都能正确显示
|
|||
|
|
|
|||
|
|
#### 🔧 优化改进
|
|||
|
|
- 图片处理代码精简 78%,运行更流畅,匹配速度提升 10 倍
|
|||
|
|
- 自动检测并选择最合适的数据库文件,自动处理压缩格式
|
|||
|
|
- 增强健壮性,统一路径处理,优化缓存机制
|
|||
|
|
|
|||
|
|
#### 🐛 问题修复
|
|||
|
|
- 修复部分卡片图片无法加载
|
|||
|
|
- 修复图片信息在处理过程中丢失
|
|||
|
|
- 修复标签图片在背面不显示
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### v0.8.1 (2026.2.3)
|
|||
|
|
|
|||
|
|
#### ✨ 新增功能
|
|||
|
|
|
|||
|
|
**🎨 卡组模板编辑器**
|
|||
|
|
- **查看模板信息** - 显示卡组的字段列表、前面模板、背面模板
|
|||
|
|
- **编辑模板** - 支持编辑前面模板、背面模板和 CSS 样式
|
|||
|
|
- **实时预览** - 修改后立即预览效果,支持前面/背面切换
|
|||
|
|
- **自动保存** - 修改自动保存,下次打开保持设置
|
|||
|
|
|
|||
|
|
**🎯 Anki 模板系统完整支持**
|
|||
|
|
- **模板语法** - 完整支持 Anki 模板语法(条件显示、嵌套条件、前面内容引用)
|
|||
|
|
- **高级过滤器** - 日语假名注音、提取汉字/假名、提示按钮、输入框、纯文本
|
|||
|
|
- **样式完美显示** - 自定义字体、颜色、布局全部生效
|
|||
|
|
- **数学公式支持** - 自动识别和渲染 LaTeX 公式(行内和块级)
|
|||
|
|
- **卡片内容编辑** - 支持直接编辑卡片内容(前面/背面独立编辑)
|
|||
|
|
|
|||
|
|
**📦 完整支持新版 Anki 格式**
|
|||
|
|
- **自动识别格式** - 支持 `.anki21b`(压缩)、`.anki2`、`.anki21` 所有格式
|
|||
|
|
- **智能解压缩** - 自动处理压缩的数据库和媒体文件
|
|||
|
|
- **向下兼容** - 完美兼容旧版 Anki 格式
|
|||
|
|
- **层级卡组** - 正确识别和导入多层级卡组结构
|
|||
|
|
|
|||
|
|
#### 🐛 问题修复
|
|||
|
|
|
|||
|
|
- **✅ 数据库初始化** - 修复更新插件后数据库创建失败的问题
|
|||
|
|
- **✅ 统计页面报错** - 修复无学习数据时点击"总计"标签页报错的问题
|
|||
|
|
|
|||
|
|
#### ⚡ 性能优化
|
|||
|
|
|
|||
|
|
- **表情选择器优化** - 初始加载 50 个表情,滚动加载更多,打开速度提升
|
|||
|
|
- **代码精简** - 优化代码结构,减少 20% 代码量,运行更流畅
|
|||
|
|
- **样式统一** - 统一管理所有样式,界面更协调
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
### v0.8.0 (2026.2.1)
|
|||
|
|
|
|||
|
|
> **⚠️ 下个版本重要提示**
|
|||
|
|
> - **数据库统一重构**:v0.9.0 将统一所有数据存储到单个 SQLite 数据库,**这是破坏性更新,请注意提前备份数据**
|
|||
|
|
> - **会员功能上线**:v0.9.0 将推出专业版订阅,解锁更多高级功能
|
|||
|
|
|
|||
|
|
#### ✨ 新增功能
|
|||
|
|
|
|||
|
|
- **📦 Anki 牌组导入** - 完整支持 .apkg 文件导入,保留卡组结构和卡片内容
|
|||
|
|
- 自动解析 Anki 数据库,提取卡组、卡片、模板
|
|||
|
|
- 自动提取媒体文件(图片、音频)并按需加载
|
|||
|
|
- **注意**:当前版本暂不支持导入原有学习进度、多层级卡组结构、自定义 CSS 样式,后续版本将支持
|
|||
|
|
|
|||
|
|
- **🎴 完整闪卡学习系统** - 专业的间隔重复学习功能
|
|||
|
|
- 四级评分系统:重来(Again)、困难(Hard)、良好(Good)、简单(Easy)
|
|||
|
|
- 智能学习队列:新卡片、学习中、复习卡片自动排序
|
|||
|
|
- 学习阶梯:支持自定义学习步骤(如:1分钟、10分钟、1天)
|
|||
|
|
- 每日限制:可设置每日新卡片和复习卡片上限
|
|||
|
|
- 卡组启用/禁用:灵活控制学习内容
|
|||
|
|
- 学习会话:记录学习开始时间和统计数据
|
|||
|
|
|
|||
|
|
- **📊 多维度数据统计** - 全面的学习数据分析和可视化
|
|||
|
|
- **今日统计**:新卡片数、复习数、正确率、连续天数
|
|||
|
|
- **今日评分**:环形图展示评分分布(重来/困难/良好/简单)
|
|||
|
|
- **记忆曲线**:折线图展示7天/30天记忆保留率趋势
|
|||
|
|
- **总体统计**:总卡片数、已复习数、平均正确率、连续天数
|
|||
|
|
- **失误分析**:按失误次数分类(0次、1-2次、3-5次、>5次)
|
|||
|
|
- **学习效率**:气泡图展示复习次数与间隔天数的关系(高效掌握/稳定进步/需要巩固/困难卡片)
|
|||
|
|
- **记忆强度**:按 Ease 值分类(困难<130%、一般130-200%、良好200-250%、优秀≥250%)
|
|||
|
|
- **FSRS 统计**:目标记忆率、FSRS 卡片数、平均稳定性、平均难度
|
|||
|
|
- **难度分布**:雷达图展示 FSRS 难度分布(简单/中等/困难/极难)
|
|||
|
|
- **间隔分布**:环形图展示间隔分布(<1天、1-3天、4-14天、≥15天)
|
|||
|
|
- **复习间隔**:详细间隔分布(<1天、1-7天、1-4周、1-3月、3-6月、>6月)
|
|||
|
|
- **学习日历**:热力图展示全年学习情况,支持日期筛选和导航
|
|||
|
|
|
|||
|
|
- **🧠 FSRS 算法集成** - 先进的间隔重复算法
|
|||
|
|
- 支持 FSRS (Free Spaced Repetition Scheduler) 算法
|
|||
|
|
- 自动计算卡片稳定性(Stability)和难度(Difficulty)
|
|||
|
|
- 可设置期望记忆保留率(默认90%)
|
|||
|
|
- 支持自定义 FSRS 权重参数
|
|||
|
|
- 与传统 SM-2 算法无缝切换
|
|||
|
|
|
|||
|
|
- **💾 独立数据库管理** - 高性能的数据存储方案
|
|||
|
|
- 使用 SQL.js 实现客户端 SQLite 数据库(WebAssembly 版本)
|
|||
|
|
- 分离学习进度和卡片内容,优化查询性能
|
|||
|
|
- 支持复杂查询:按状态、间隔、难度、日期筛选
|
|||
|
|
- 自动索引优化,支持大量卡片(10000+)
|
|||
|
|
- 数据持久化到思源笔记 `/data/storage/petal/siyuan-sireader/`
|
|||
|
|
- 支持 Anki 数据库和思源数据库双存储
|
|||
|
|
|
|||
|
|
- **⚙️ 完善的卡组设置** - 20+ 可配置参数
|
|||
|
|
- **每日上限**:新卡片/复习卡片每日数量(默认20/200)
|
|||
|
|
- **学习阶梯**:新卡片学习步骤(默认1,10分钟)、毕业间隔(1天)、简单间隔(4天)
|
|||
|
|
- **遗忘处理**:重新学习步骤(10分钟)、最小间隔(1天)、水蛭阈值(8次)
|
|||
|
|
- **展示顺序**:新卡片顺序(随机/顺序)、复习排序(到期/随机/间隔)、新复习优先级(混合/新卡优先/复习优先)、新卡片收集优先级(卡组/位置/随机)
|
|||
|
|
- **FSRS 选项**:启用/禁用、期望保留率(默认90%)、自定义权重
|
|||
|
|
- **高级选项**:最大间隔(36500天)、起始难度(2.5)、简单奖励(1.3)、间隔修正系数(1.0)、困难间隔(1.2)、新间隔(0.0)
|
|||
|
|
- **关联卡片**:相关新卡片/复习卡片暂时隐藏(避免同时出现相关内容)
|
|||
|
|
- **后续支持**:音频设置、计时器、自动前进、轻松日、笔记本绑定等功能将在后续版本中实现
|
|||
|
|
|
|||
|
|
#### ⚡ 性能优化
|
|||
|
|
|
|||
|
|
- **🚀 数据库查询优化** - 为高频查询字段添加索引,提升查询速度10倍以上
|
|||
|
|
- **💾 缓存机制** - Anki 数据库缓存,避免重复加载
|
|||
|
|
- **📦 按需加载** - 媒体文件(图片、音频)按需从 .apkg 提取,减少内存占用
|
|||
|
|
- **🔄 批量操作** - 支持批量导入、批量更新,提升大量卡片处理效率
|
|||
|
|
|
|||
|
|
#### 🐛 问题修复
|
|||
|
|
|
|||
|
|
- **📊 统计数据准确性** - 修复连续学习天数计算错误
|
|||
|
|
- **🎴 卡片状态同步** - 修复学习进度保存时机不准确的问题
|
|||
|
|
- **💾 数据库初始化** - 修复首次使用时数据库创建失败的问题
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📖 功能详解
|
|||
|
|
|
|||
|
|
### 🎨 主题系统
|
|||
|
|
8款预设主题适应不同场景,支持自定义主题:
|
|||
|
|
- **默认** - 经典白底黑字
|
|||
|
|
- **杏仁黄** - 护眼配色
|
|||
|
|
- **秋叶褐** - 温暖色调
|
|||
|
|
- **青草绿** - 清新护眼
|
|||
|
|
- **海天蓝** - 宁静平和
|
|||
|
|
- **夜间** - 深色背景
|
|||
|
|
- **暗黑** - 纯黑模式
|
|||
|
|
- **赤金** - 奢华配色
|
|||
|
|
|
|||
|
|
### 🖊️ 标注系统
|
|||
|
|
7种颜色标注,4种样式组合:
|
|||
|
|
- **颜色** - 红🔴橙🟠黄🟡绿🟢粉🩷蓝🔵紫🟣
|
|||
|
|
- **样式** - 高亮、下划线、边框、波浪线
|
|||
|
|
- **笔记** - 为标注添加详细笔记
|
|||
|
|
- **管理** - 按颜色筛选,批量管理
|
|||
|
|
|
|||
|
|
### 📖 词典系统
|
|||
|
|
9个专业词典源,智能识别:
|
|||
|
|
- **AI 翻译** - 免费 AI 翻译(无需配置)、思源 AI 翻译(需配置 OpenAI API)
|
|||
|
|
- **离线词典** - 支持 StarDict (.ifo/.idx/.dict.dz) 和 dictd (.index/.dict.dz) 格式
|
|||
|
|
- **英语词典** - 剑桥(英汉双解、音标、发音、例句)、有道(简洁快速)、海词(例句丰富)
|
|||
|
|
- **中文词典** - 汉字(部首笔画、详细解释)、词语(近反义词、成语典故)、汉典(古汉语查询)
|
|||
|
|
- **通用词典** - 必应(外部网页跳转)
|
|||
|
|
|
|||
|
|
**特色功能:**
|
|||
|
|
- **智能解析** - 自动提取词性、标签、注释、领域、用法等信息
|
|||
|
|
- **长文翻译** - AI 翻译支持长文本和段落翻译,保留格式
|
|||
|
|
- **词典排序** - 支持自定义词典查询顺序
|
|||
|
|
- **离线查询** - 离线词典无需网络,查询速度快
|
|||
|
|
- **音频发音** - 剑桥词典支持美式/英式发音
|
|||
|
|
|
|||
|
|
### 📦 卡包系统
|
|||
|
|
词汇学习和复习:
|
|||
|
|
- **一键加入** - 查词结果一键加入卡包
|
|||
|
|
- **阅读标注** - 卡包词汇在阅读界面显示 🌐 图标
|
|||
|
|
- **实时同步** - 添加/删除后立即更新阅读界面
|
|||
|
|
- **数据持久化** - 存储为 `deck.json` 文件
|
|||
|
|
- **位置记录** - 记录词汇所在书籍、章节、页码位置
|
|||
|
|
- **智能标注** - 卡包词汇自动以紫色高亮显示
|
|||
|
|
|
|||
|
|
### 🎴 闪卡学习系统
|
|||
|
|
完整的间隔重复学习功能:
|
|||
|
|
|
|||
|
|
**Anki 牌组导入:**
|
|||
|
|
- **完整兼容** - 支持 .apkg 文件导入,保留所有数据
|
|||
|
|
- **学习进度** - 保留原有间隔、难度、复习次数等
|
|||
|
|
- **卡组结构** - 支持多层级卡组(如:语言::英语::词汇)
|
|||
|
|
- **媒体文件** - 自动提取图片、音频,按需加载
|
|||
|
|
- **自定义模板** - 保留 Anki 卡片模板和 CSS 样式
|
|||
|
|
|
|||
|
|
**思源闪卡双向同步:**
|
|||
|
|
- **导入功能** - 在卡组管理界面点击"导入思源",两步选择卡组完成导入
|
|||
|
|
- **7种卡片类型** - 支持标记制卡、标题块、列表块、超级块、问答题、多行题、默认
|
|||
|
|
- **填空题支持** - 完整支持 `{{c1::答案::提示}}` 和 `==标记==` 格式,支持多个挖空
|
|||
|
|
- **实时同步** - WebSocket 监听思源闪卡变化,自动同步到插件
|
|||
|
|
- 思源添加闪卡 → 自动导入到插件卡组
|
|||
|
|
- 思源删除闪卡 → 自动删除插件中的对应卡片
|
|||
|
|
- 思源修改闪卡内容 → 自动更新插件中的卡片内容
|
|||
|
|
- 插件修改卡片 → 可同步回思源笔记(支持定位和删除)
|
|||
|
|
- **标签管理** - 导入的卡片自动添加 `siyuan` 标签,保留原始块 ID 和卡组 ID
|
|||
|
|
|
|||
|
|
**学习功能:**
|
|||
|
|
- **四级评分** - 重来(Again)、困难(Hard)、良好(Good)、简单(Easy)
|
|||
|
|
- **智能队列** - 新卡片、学习中、复习卡片自动排序
|
|||
|
|
- **学习阶梯** - 自定义学习步骤(如:1分钟、10分钟、1天)
|
|||
|
|
- **每日限制** - 设置每日新卡片和复习卡片上限
|
|||
|
|
- **卡组管理** - 启用/禁用卡组,灵活控制学习内容
|
|||
|
|
- **学习会话** - 记录学习时间和统计数据
|
|||
|
|
|
|||
|
|
**FSRS 算法:**
|
|||
|
|
- **先进算法** - Free Spaced Repetition Scheduler
|
|||
|
|
- **智能计算** - 自动计算卡片稳定性和难度
|
|||
|
|
- **记忆优化** - 可设置期望记忆保留率(默认90%)
|
|||
|
|
- **自定义权重** - 支持自定义 FSRS 参数
|
|||
|
|
- **无缝切换** - 与传统 SM-2 算法自由切换
|
|||
|
|
|
|||
|
|
**数据统计:**
|
|||
|
|
- **今日统计** - 新卡片数、复习数、正确率、学习时长、评分分布
|
|||
|
|
- **历史记录** - 365天学习数据,支持图表展示
|
|||
|
|
- **总体统计** - 总卡片数、总复习数、学习天数、平均正确率、连续学习天数
|
|||
|
|
- **间隔分布** - 按时间段统计(<1天、1-7天、1-4周、1-3月等)
|
|||
|
|
- **记忆保留率** - 按间隔和难度统计记忆效果
|
|||
|
|
- **未来预测** - 预测未来7天和30天的学习负担
|
|||
|
|
|
|||
|
|
**卡组设置(30+ 参数):**
|
|||
|
|
- **每日上限** - 新卡片/复习卡片每日数量
|
|||
|
|
- **学习阶梯** - 新卡片学习步骤、毕业间隔、简单间隔
|
|||
|
|
- **遗忘处理** - 重新学习步骤、最小间隔、水蛭阈值
|
|||
|
|
- **展示顺序** - 新卡片顺序(随机/顺序)、复习排序(到期/随机/间隔)
|
|||
|
|
- **FSRS 选项** - 启用/禁用、期望保留率、自定义权重
|
|||
|
|
- **高级选项** - 最大间隔、起始难度、简单奖励、间隔修正系数
|
|||
|
|
- **关联卡片** - 相关新卡片/复习卡片暂时隐藏(避免同时出现相关内容)
|
|||
|
|
- **音频设置** - 自动播放、答案音频
|
|||
|
|
- **计时器** - 显示计时、最大答题时间
|
|||
|
|
- **自动前进** - 自动显示答案、自动下一张
|
|||
|
|
|
|||
|
|
**数据库管理:**
|
|||
|
|
- **高性能** - 使用 SQL.js 实现浏览器端 SQLite 数据库
|
|||
|
|
- **分离存储** - 学习进度和卡片内容分离,优化查询
|
|||
|
|
- **复杂查询** - 按状态、间隔、难度、日期筛选
|
|||
|
|
- **自动索引** - 支持大量卡片(10000+)
|
|||
|
|
- **数据持久化** - 存储到思源笔记 `/data/storage/petal/siyuan-sireader/`
|
|||
|
|
- **双数据库** - Anki 数据库和思源数据库并存
|
|||
|
|
|
|||
|
|
### 📚 书架管理
|
|||
|
|
完整的书籍管理系统:
|
|||
|
|
- **多视图** - 网格、列表、简洁三种显示模式
|
|||
|
|
- **智能排序** - 最近添加、最近阅读、阅读进度、书名、作者
|
|||
|
|
- **标签筛选** - 按书籍标签分类筛选
|
|||
|
|
- **进度显示** - 实时显示阅读进度百分比
|
|||
|
|
- **更新检查** - 一键检查所有在线书籍更新
|
|||
|
|
- **元数据解析** - 自动提取书名、作者、简介、章节、封面
|
|||
|
|
- **批量管理** - 支持批量删除、导出书籍
|
|||
|
|
|
|||
|
|
### 🔗 智能跳转
|
|||
|
|
精确定位和跳转:
|
|||
|
|
- **sireader:// 协议** - 支持自定义协议链接
|
|||
|
|
- **CFI 定位** - EPUB 使用 CFI 精确定位
|
|||
|
|
- **页码定位** - PDF 使用页码和矩形坐标定位
|
|||
|
|
- **闪烁提示** - 跳转后高亮闪烁效果
|
|||
|
|
- **智能检测** - 自动检测已打开书籍,直接跳转
|
|||
|
|
|
|||
|
|
### 📱 移动端支持(实验性)
|
|||
|
|
初步支持移动端阅读:
|
|||
|
|
- **手势翻页** - 左右滑动翻页(最小 50px)
|
|||
|
|
- **位置记忆** - 自动保存和恢复阅读位置
|
|||
|
|
- **返回支持** - 监听浏览器返回按钮
|
|||
|
|
- **侧边栏入口** - 移动端侧边栏添加思阅图标
|
|||
|
|
|
|||
|
|
### 🔍 书源系统
|
|||
|
|
强大的规则解析器:
|
|||
|
|
- **JSONPath** - `$.key`、`$[0]`、`$[*]`、`.key` 递归搜索
|
|||
|
|
- **CSS 选择器** - 链式选择、索引过滤、属性提取
|
|||
|
|
- **JavaScript** - `<js>...</js>` 代码块,`result` 变量传递
|
|||
|
|
- **正则表达式** - `##正则##替换` 语法
|
|||
|
|
- **规则组合** - `&&`(与)、`||`(或)、`%%`(交叉合并)
|
|||
|
|
|
|||
|
|
### 🛠️ PDF 工具栏
|
|||
|
|
专业的 PDF 阅读工具:
|
|||
|
|
- **缩放控制** - 放大、缩小、适应宽度、适应页面
|
|||
|
|
- **旋转功能** - 左右旋转 90°
|
|||
|
|
- **工具模式** - 文本选择、手型拖拽
|
|||
|
|
- **墨迹标注** - 7种颜色、粗细调节、橡皮擦、撤销
|
|||
|
|
- **形状标注** - 矩形、圆形、三角形,支持填充
|
|||
|
|
- **文档操作** - 打印、下载、导出图片、查看元数据
|
|||
|
|
|
|||
|
|
### 📊 阅读统计
|
|||
|
|
记录阅读时长:
|
|||
|
|
- **本次阅读** - 当前会话阅读时长
|
|||
|
|
- **今日阅读** - 今天累计阅读时长
|
|||
|
|
- **累计阅读** - 总阅读时长统计
|
|||
|
|
- **状态栏显示** - 实时显示阅读时长
|
|||
|
|
- **自动保存** - 每分钟自动保存统计数据
|
|||
|
|
|
|||
|
|
### 🔗 复制与跳转
|
|||
|
|
智能链接生成:
|
|||
|
|
- **标注复制** - 一键复制标注为思源笔记格式
|
|||
|
|
- **自定义模板** - 支持自定义链接格式
|
|||
|
|
- **形状截图** - 自动生成形状标注截图
|
|||
|
|
- **精确跳转** - 点击链接精确跳转到标注位置
|
|||
|
|
- **闪烁提示** - 跳转后高亮闪烁效果
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ⚙️ 设置说明
|
|||
|
|
|
|||
|
|
### 通用设置
|
|||
|
|
- **打开方式** - 新标签、右侧标签、底部标签、新窗口
|
|||
|
|
- **导航栏位置** - 左侧、右侧、顶部、底部
|
|||
|
|
- **目录位置** - 左侧、右侧
|
|||
|
|
- **阅读模式** - 单页、双页、滚动
|
|||
|
|
- **翻页动画** - 滑动、无动画
|
|||
|
|
|
|||
|
|
### 外观设置
|
|||
|
|
- **主题** - 8款预设主题 + 自定义
|
|||
|
|
- **文本** - 字体、字号、字距
|
|||
|
|
- **段落** - 行距、段距、首行缩进
|
|||
|
|
- **布局** - 左右边距、上下边距、列间距
|
|||
|
|
- **视觉** - 亮度、对比度、褐色、饱和度、反色
|
|||
|
|
|
|||
|
|
### 词典设置
|
|||
|
|
- **离线词典** - StarDict/MDict 格式,支持上传、排序、启用/禁用
|
|||
|
|
- **在线词典** - 9个词典源,支持排序、启用/禁用
|
|||
|
|
- **AI 翻译** - 免费 AI(无需配置)、思源 AI(需配置 OpenAI API)
|
|||
|
|
- **词典管理** - 自定义查询顺序,优先查询排在前面的词典
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 💡 使用技巧
|
|||
|
|
|
|||
|
|
### 阅读技巧
|
|||
|
|
1. **主题切换** - 白天用默认/杏仁黄,夜晚用夜间/暗黑
|
|||
|
|
2. **阅读模式** - 小说用分页+单页,学术用滚动+双页
|
|||
|
|
3. **快捷键** - ← → 翻页,空格翻页,PageUp/Down 翻页
|
|||
|
|
|
|||
|
|
### 标注技巧
|
|||
|
|
1. **颜色分类** - 红色核心概念,黄色一般重点,绿色正面案例,蓝色补充资料,紫色疑问
|
|||
|
|
2. **标注整理** - 定期在标注模式下回顾
|
|||
|
|
3. **标注导出** - 自动保存到思源笔记文档
|
|||
|
|
|
|||
|
|
### 词典技巧
|
|||
|
|
1. **快速查词** - 双击选中查询
|
|||
|
|
2. **固定窗口** - 点击📌固定词典窗口
|
|||
|
|
3. **多词典对比** - 切换不同词典标签
|
|||
|
|
4. **离线词典** - 下载 StarDict 格式词典,上传后无需网络
|
|||
|
|
5. **AI 翻译** - 支持长文本翻译,自动保留格式和段落
|
|||
|
|
6. **词典排序** - 在词典管理中调整顺序,优先查询常用词典
|
|||
|
|
|
|||
|
|
### PDF 技巧
|
|||
|
|
1. **墨迹标注** - 适合手写批注和圈画重点
|
|||
|
|
2. **形状标注** - 矩形框选、圆形标记、三角形指示
|
|||
|
|
3. **工具栏拖拽** - 长按工具栏按钮可拖动位置
|
|||
|
|
4. **手型工具** - 启用后可拖拽页面,适合大文档浏览
|
|||
|
|
|
|||
|
|
### 书源技巧
|
|||
|
|
1. **并发搜索** - 同时搜索多个书源,快速找书
|
|||
|
|
2. **自定义书源** - 支持导入 JSON 格式书源
|
|||
|
|
3. **规则调试** - 使用浏览器开发者工具测试规则
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🏗️ 技术架构
|
|||
|
|
|
|||
|
|
### 核心模块
|
|||
|
|
- **Foliate.js** - EPUB 渲染引擎,支持 CFI 精确定位
|
|||
|
|
- **PDF.js** - Mozilla 的 PDF 渲染引擎(思源内置)
|
|||
|
|
- **RuleParser** - 多格式书源解析器(JSONPath/CSS/XPath/JS/正则)
|
|||
|
|
- **MarkManager** - PDF/EPUB/TXT 统一标注管理器
|
|||
|
|
- **Bookshelf** - 书籍元数据和进度管理
|
|||
|
|
|
|||
|
|
### 核心特性
|
|||
|
|
- **统一标注** - PDF/EPUB/TXT 使用统一 API
|
|||
|
|
- **智能定位** - EPUB 使用 CFI,PDF 使用页码+矩形,TXT 使用章节
|
|||
|
|
- **实时同步** - 自动保存阅读进度和标注数据
|
|||
|
|
- **卡包集成** - 词汇卡片与阅读界面实时同步
|
|||
|
|
- **移动端支持** - 手势导航和位置记忆
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ❓ 常见问题
|
|||
|
|
|
|||
|
|
**Q:EPUB 文件打不开?**
|
|||
|
|
A:检查文件格式是否为标准 EPUB,确保文件未损坏
|
|||
|
|
|
|||
|
|
**Q:标注没有保存?**
|
|||
|
|
A:检查标注设置中是否正确配置了笔记本或父文档
|
|||
|
|
|
|||
|
|
**Q:词典查询没反应?**
|
|||
|
|
A:检查网络连接,部分词典需要联网查询
|
|||
|
|
|
|||
|
|
**Q:AI 翻译失败?**
|
|||
|
|
A:思源 AI 需要在设置 → AI 中配置 OpenAI API,或使用"AI翻译(免费)"选项
|
|||
|
|
|
|||
|
|
**Q:离线词典无法使用?**
|
|||
|
|
A:确保上传了完整的词典文件(.ifo/.idx/.dict.dz 或 .index/.dict.dz),并在词典管理中启用
|
|||
|
|
|
|||
|
|
**Q:词典查询结果不准确?**
|
|||
|
|
A:可以切换不同词典对比,或调整词典查询顺序
|
|||
|
|
|
|||
|
|
**Q:主题切换无效?**
|
|||
|
|
A:刷新阅读器页面,或重新打开文件
|
|||
|
|
|
|||
|
|
**Q:PDF 标注错位?**
|
|||
|
|
A:尝试重新缩放或旋转页面,标注会自动重新渲染
|
|||
|
|
|
|||
|
|
**Q:书源搜索失败?**
|
|||
|
|
A:检查网络连接,部分书源可能失效,可尝试其他书源
|
|||
|
|
|
|||
|
|
**Q:移动端无法翻页?**
|
|||
|
|
A:确保滑动距离超过 50px,或使用底部翻页按钮
|
|||
|
|
|
|||
|
|
**Q:阅读进度丢失?**
|
|||
|
|
A:插件会自动保存进度,如遇问题可尝试重新打开书籍
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🙏 致谢
|
|||
|
|
|
|||
|
|
- [思源笔记](https://github.com/siyuan-note/siyuan) - 优秀的插件开发框架
|
|||
|
|
- [Foliate.js](https://github.com/johnfactotum/foliate-js) - 强大的 EPUB 渲染引擎
|
|||
|
|
- [PDF.js](https://github.com/mozilla/pdf.js) - Mozilla 的 PDF 渲染引擎
|
|||
|
|
- [归叶插件](https://github.com/Wetoria) - Vue3 + Vite 插件模板
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📄 开源协议
|
|||
|
|
|
|||
|
|
本项目采用 [MIT](LICENSE) 协议开源
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
<div align="center">
|
|||
|
|
|
|||
|
|
**开发理念**:极简 · 高效 · 优雅 · 完美
|
|||
|
|
|
|||
|
|
Made with ❤️ by SiReader Team
|
|||
|
|
|
|||
|
|
</div>
|