从源码构建需先安装 Flutter,并依次运行 flutter gen-l10n 与 build_runner 生成代码;可能遇到 Flutter 版本不兼容问题,需参考官方文档;OPDS 目录功能仍在开发中,尚不可用

anx-reader
AnxcyeMIT活跃维护基于 Flutter 的跨平台电子书阅读器,支持多种电子书格式并集成 AI 能力,让阅读更智能、更专注。
Featuring powerful AI capabilities and supporting various e-book formats, it makes reading smarter and more focused.
flutter pub get
flutter runREADME 未说明硬件要求;支持 Windows、macOS、iOS、Android 平台
跨平台电子书阅读器,支持多种格式并内置 AI 助手,让阅读更智能专注
基于 Flutter 的跨平台电子书阅读器,支持多种电子书格式并集成 AI 能力,让阅读更智能、更专注。
核心能力
- 支持 EPUB、MOBI、AZW3、FB2、TXT、PDF 六种格式
- 通过 WebDAV 同步书籍、笔记与阅读进度
- AI 生成思维导图、词典翻译与观点分析摘要
- 笔记支持多色预设并导出 TXT、Markdown、CSV
- TTS 多语音朗读,可调语速、音调并设定睡眠定时
容易踩的坑
- v1.15.0-beta.3pre-release2026-10-07 · 2026-10-07 11:13 UTC
查看更新说明
1.15.0
-
Ci(android): Play Store alpha uploads to the internal track now publish as completed so testers can download without a Console roll-out
-
Fix(sync): Reject WebDAV database upload when the local library has no non-deleted books, to avoid wiping the cloud library with an empty DB (#911, #898 mitigation)
-
Feat(notes): Export/import book notes as JSON with book fingerprint (md5/title/author) for per-book migration across devices (#898, #911 escape hatch)
-
Fix(webdav): Follow 301/307/308 redirects (vendored webdav_client) so AList-style redirect strategies work (#345)
-
Fix(android): Optional setting to trust user-installed / custom CA certificates for HTTPS WebDAV (e.g. private Nextcloud) (#719)
-
Feat(sync): WebDAV URL hint — fill a writable directory; the app creates
anx/under it -
Feat(android): Long-press expands CJK selection to a word (Intl.Segmenter); selection handles remain freely draggable
-
Fix(reader): Honor writing-direction setting for EPUBs that set writing-mode on body (e.g. vertical Japanese books) (#867)
-
Fix(log): Silence Chromium iframe sandbox WebView warning that already had an ignore entry but failed exact match due to trailing period (#877)
-
Ci: Upgrade lock-threads to v6 and use github.token so lock-closed-issues stops failing daily on long GITHUB_TOKEN secrets
-
Feat(search): Add in-app search results with configurable search engine and display modes (#894)
-
Feat(ai): Add configurable delay threshold for auto-summary when reopening a book (#922)
-
Feat(ai): Make custom user prompts available in the Home AI tab for parity with reader AI (#853)
-
Fix(bookshelf): Show book file format in detail metadata so users can see the extension inside the app (#910)
-
Feat(network): Add global HTTP proxy support in advanced settings (#838) Thanks @dddXzz
-
Feat(network): Add HTTP proxy connectivity test feature (#838) Thanks @dddXzz
-
Fix(reader): Fix Android selection auto-page turn — continuous turns and missed turns when dragging across pages (#875) Thanks @addtion99
-
Fix(l10n): Update Russian translation (#874) Thanks @Xapitonov
-
Fix(ai): Avoid native WebView2 crash when running book content search on Windows (#978) Thanks @bazzdug-arch
-
Perf(reader): Reduce Android reading-page scroll jank by deferring relocate during scroll (#914) Thanks @dddXzz
-
Fix(reader): Restore reader keyboard focus after clearing text selection / closing context menu (#967, #966) Thanks @zyx-31415
-
Fix(reader): Open selection menu on single-word long-press on Android (#990, #968, #900)
-
Fix(sync): Strip special characters (e.g. # @ $ %) from file names on import so WebDAV servers like Jianguoyun accept uploads (#989)
-
Feat(appearance): Disable open-book animation, page transitions, and dialog motion when e-ink mode is on (#986)
-
Fix(bookshelf): Make group rename more obvious with an edit icon (#972)
-
Fix(ai): Preserve Gemini thought_signature across tool-call round-trips so thinking models work with tools (#977)
-
Fix(reader): Page-turn keys clear selection and turn pages instead of panning while text is selected (#966)
-
Fix(ai): Null-safe custom provider config parsing and clearer errors when required fields or response shape are invalid (#868)
-
Fix(ai): Quick prompt chips insert into the composer for editing; long-press still sends immediately (#969)
-
Feat(linux): Add Linux AppImage and tar.gz packaging via CEF (#952)
-
Fix(ai): Make the Add Prompt button in AI settings full-width to match the surrounding rows
-
Fix(ai): Fix AI settings showing a grey error screen on fresh installs and provider edits failing to save, by restoring generated AiProvider JSON serialization with lenient converters
-
Chore(android): Target Android 16 (API 36) and upgrade to Google Play Billing Library 8 to meet Google Play requirements
-
Ci(android): Play 商店 alpha 上传至 internal 轨道时自动设为 completed,测试者无需在 Console 手动发布即可下载
-
Fix(sync): 本地书库无未删除书籍时拒绝上传 WebDAV 数据库,避免用空库覆盖云端 (#911, #898 缓解)
-
Feat(notes): 支持按书导出/导入笔记 JSON(含 md5/书名/作者指纹
-
- v1.15.0-beta.2pre-release2026-10-06 · 2026-10-06 14:14 UTC
查看更新说明
1.15.0
-
Fix(reader): Honor writing-direction setting for EPUBs that set writing-mode on body (e.g. vertical Japanese books) (#867)
-
Fix(log): Silence Chromium iframe sandbox WebView warning that already had an ignore entry but failed exact match due to trailing period (#877)
-
Ci: Upgrade lock-threads to v6 and use github.token so lock-closed-issues stops failing daily on long GITHUB_TOKEN secrets
-
Feat(search): Add in-app search results with configurable search engine and display modes (#894)
-
Feat(ai): Add configurable delay threshold for auto-summary when reopening a book (#922)
-
Feat(ai): Make custom user prompts available in the Home AI tab for parity with reader AI (#853)
-
Fix(bookshelf): Show book file format in detail metadata so users can see the extension inside the app (#910)
-
Feat(network): Add global HTTP proxy support in advanced settings (#838) Thanks @dddXzz
-
Feat(network): Add HTTP proxy connectivity test feature (#838) Thanks @dddXzz
-
Fix(reader): Fix Android selection auto-page turn — continuous turns and missed turns when dragging across pages (#875) Thanks @addtion99
-
Fix(l10n): Update Russian translation (#874) Thanks @Xapitonov
-
Fix(ai): Avoid native WebView2 crash when running book content search on Windows (#978) Thanks @bazzdug-arch
-
Perf(reader): Reduce Android reading-page scroll jank by deferring relocate during scroll (#914) Thanks @dddXzz
-
Fix(reader): Restore reader keyboard focus after clearing text selection / closing context menu (#967, #966) Thanks @zyx-31415
-
Fix(reader): Open selection menu on single-word long-press on Android (#990, #968, #900)
-
Fix(sync): Strip special characters (e.g. # @ $ %) from file names on import so WebDAV servers like Jianguoyun accept uploads (#989)
-
Feat(appearance): Disable open-book animation, page transitions, and dialog motion when e-ink mode is on (#986)
-
Fix(bookshelf): Make group rename more obvious with an edit icon (#972)
-
Fix(ai): Preserve Gemini thought_signature across tool-call round-trips so thinking models work with tools (#977)
-
Fix(reader): Page-turn keys clear selection and turn pages instead of panning while text is selected (#966)
-
Fix(ai): Null-safe custom provider config parsing and clearer errors when required fields or response shape are invalid (#868)
-
Fix(ai): Quick prompt chips insert into the composer for editing; long-press still sends immediately (#969)
-
Feat(linux): Add Linux AppImage and tar.gz packaging via CEF (#952)
-
Fix(ai): Make the Add Prompt button in AI settings full-width to match the surrounding rows
-
Fix(ai): Fix AI settings showing a grey error screen on fresh installs and provider edits failing to save, by restoring generated AiProvider JSON serialization with lenient converters
-
Chore(android): Target Android 16 (API 36) and upgrade to Google Play Billing Library 8 to meet Google Play requirements
-
Fix(reader): 修复部分 EPUB(如在 body 上设置竖排 writing-mode)忽略写作方向设置的问题 (#867)
-
Fix(log): 修复因句末句点导致精确匹配失败、未能屏蔽 Chromium iframe sandbox WebView 警告的问题 (#877)
-
Ci: 升级 lock-threads 至 v6 并改用 github.token,避免 lock-closed-issues 因过长 GITHUB_TOKEN 每日失败
-
Feat(search): 支持应用内搜索结果显示,可配置搜索引擎和显示方式 (#894)
-
Feat(ai): 新增自动摘要延迟阈值配置,可控制重新打开书籍时的摘要触发时机 (#922)
-
Feat(ai): 让自定义用户提示词在首页 AI 标签页中可用,并与阅读器 AI 保持一致 (#853)
-
Fix(bookshelf): 在书籍详情元数据中显示文件格式,方便用户在应用内查看扩展名 (#910)
-
Feat(network): 新增全局 HTTP 代理支持,可在高级设置中配置代理服务器地址和端口 (#838) 感谢 @dddXzz
-
Feat(network): 新增代理连接测试功能 (#838) 感谢 @dddXzz
-
Fix(reader): 修复 Android 选区跨页自动翻页的连续翻页与漏翻问题 (#875) 感谢 @addtion99
-
Fix(l10n): 更新俄语翻译 (#874) 感谢 @Xapitonov
-
Fix(ai): 修复 Windows 上书籍内容搜索触发原生 WebView2 崩溃的问题 (#978) 感谢 @bazzdug-arch
-
Perf(reader): 优化 Android 阅读页滚动卡顿,滚动期间推迟 relocate (#914) 感谢 @dddXzz
-
Fix(reader): 修复清除选区/关闭上下文菜单后阅读器键盘焦点未恢复的问题 (#967, #966) 感谢 @zyx-31415
-
Fix(reader): 修复 Android 长按选中单字不弹出菜单的问题 (#990, #968, #900)
-
Fix(sync): 导入时移除文件名中的特殊字符(如 # @ $ %),避免坚果云等 WebDAV 拒绝上传 (#989)
-
Feat(appearance): 开启墨水屏模式时关闭开书动画、页面转场与弹窗动画 (#986)
-
Fix(bookshelf): 分组重命名入口增加编辑图标,更加明显 (#972)
-
Fix(ai
-
- v1.15.0-alpha.9pre-release2026-06-07 · 2026-06-07 15:49 UTC
查看更新说明
Alpha build from staging.
Included staging updates:
- #936 feat(ai): show user prompts on home AI tab
- #937 fix(bookshelf): show book file format in details
- v1.15.0-beta.1pre-release2026-04-29 · 2026-04-29 15:10 UTC
查看更新说明
1.15.0
-
Feat(network): Add global HTTP proxy support in advanced settings (#838) Thanks @dddXzz
-
Feat(network): Add HTTP proxy connectivity test feature (#838) Thanks @dddXzz
-
Fix(reader): Fix Android selection auto-page turn — continuous turns and missed turns when dragging across pages (#875) Thanks @addtion99
-
Fix(l10n): Update Russian translation (#874) Thanks @Xapitonov
-
Feat(network): 新增全局 HTTP 代理支持,可在高级设置中配置代理服务器地址和端口 (#838) 感谢 @dddXzz
-
Feat(network): 新增代理连接测试功能 (#838) 感谢 @dddXzz
-
Fix(reader): 修复 Android 选区跨页自动翻页的连续翻页与漏翻问题 (#875) 感谢 @addtion99
-
Fix(l10n): 更新俄语翻译 (#874) 感谢 @Xapitonov
-
- v1.14.0最新正式版2026-03-19 · 2026-03-19 07:40 UTC
1.14.0
- Fix(translate): Remove legacy Microsoft reverse-engineered translation service and migrate saved full-text translation preference to Microsoft Azure API
- Fix(l10n): Remove legacy Microsoft translation localization entries
- Feat(ai): Support separate AI reasoning content with lightweight collapsible thinking UI in chat and stream views (#787)
- Feat(reader): Add background image fit mode setting with cover and stretch options
- Feat(appearance): Add setting to toggle action button labels visibility in selection context menu
- Feat(reader): Add background image blur and opacity controls in reading settings (#753)
- Feat(tts): Add Narrator option to text selection toolbar to start TTS from selected text (#794) Thanks @deskangel
- Feat(tts): Add click to pause/resume TTS playback on currently reading text (#794) Thanks @deskangel
- Feat(tts): Add floating action button in reader for quick TTS controls (previous, pause/resume, next, stop) (#723)
- Feat(reader): Add Ctrl+[ and Ctrl+] page turning shortcuts on macOS, support Logitech Options+ mouse button mapping (#794) Thanks @deskangel
- Feat(ai): Add global AI RPM rate limiting in AI service layer
- Feat(ai): Add AI Provider Configuration Center with support for OpenAI-compatible, Claude, and Gemini protocols
- Feat(ai): Support multiple API keys per provider with round-robin rotation
- Feat(ai): Add provider-level reasoning_effort configuration with auto mode and advanced settings entry
- Feat(ai): Add provider test connection with streaming preview
- Feat(ai): Add AI chat display mode settings with adaptive, split, and popup options
- Feat(ai): Add resizable AI panel with drag to resize, sizes persisted
- Feat(ai): Add AI panel position settings (bottom/right) for non-popup modes
- Feat(ai): Add font size setting for AI chat via three-dot menu
- Feat(ai): Add quick model switcher in AI chat input bar (tune icon button)
- Feat(ai): Add model picker in provider detail page with showMenu dropdown after fetching
- Fix(ui): Fix context menu action buttons layout and icon color issues when labels are hidden
- Fix(reader): Fix background image effects not applying and switch reader background fill mode to cover (#753)
- Fix(reader): Fix RangeError crash when read theme color is null/invalid (#759)
- Fix(tts): Fix TTS type selection having no effect when changed in reading interface (#794) Thanks @deskangel
- Fix(tts): Fix incorrect reading position after modifying pitch or rate (#794) Thanks @deskangel
- Fix(tts): Fix crash when SystemTts speak() receives null text from WebView
- Fix(ai): Fix unable to use AI for full-text translation
- Fix(ai): Fix test connection using default provider instead of current provider
- Fix(ai): Fix AI crash prevention by adding guards for null webViewEnvironment on Windows
- Fix(ai): Fix type cast error when using Gemini AI with tools (#747)
- Fix(reader): Desktop resource lifecycle, WebView stability, and scroll UX optimization (#790) Thanks @yi124773651
- Fix(reader): Fix window close cleanup to properly stop server, dispose WebView2, close database, and destroy window
- Fix(reader): Add scroll debounce mechanism for smoother page turning experience
- Fix(reader): Fix image saving permission issue on Android 10+ devices by removing unnecessary storage permission requests (#793)
- Fix(reader): Disable WebView2 right-click context menu (back, reload, save as, print) on Windows (#746)
- Fix(reader): Fix images with large inline max-width overflowing column width and appearing on wrong page (#742)
- Fix(reader): Fix epub heading color not following theme color when useBookStyles is disabled (#749)
- Fix(toc): Show full chapter titles in TOC by wrapping long text instead of truncating with ellipsis (#751)
- Fix(l10n): Fallback to English when system language is unsupported on first launch (#785)
- Feat(reader): Support independent left/right margins and font size for header and footer reading info, with shared section-based configuration model
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
English | 简体中文 | Türkçe | Русский
Anx Reader, a thoughtfully crafted e-book reader for book lovers. Featuring powerful AI capabilities and supporting various e-book formats, it makes reading smarter and more focused. With its modern interface design, we're committed to delivering pure reading pleasure.

| Feature | Details | Status |
|---|---|---|
| Format Support | EPUB/MOBI/AZW3/FB2/TXT/PDF fully supported | ✅ |
| Cross-Platform Sync | Android/iOS/macOS/Windows coverageSync books, notes, and reading progress via WebDAV | ✅ |
| AI Assistant | Organizes shelves by progress and toneGenerates mind maps for deeper understandingOn-demand AI dictionary and translationDelivers perspective analysis and summaries | ✅ |
| Custom Reading Experience | Tune letter, line, paragraph, and margin spacingAdjust font size, style, and weightCustomize themes, backgrounds, alignment, and styles | ✅ |
| Notes Workspace | Multiple color/style presetsSort by time or chapter with color filtersExport to TXT/Markdown/CSVCreate shareable, well-designed cards | ✅ |
| Reading Insights | Track reading timeView daily/weekly/monthly/yearly statsVisual heatmap reveals reading habits | ✅ |
| Advanced Extras | TTS with multi-voice, speed, tone, and sleep timer controlsFull-book translation with side-by-side viewStore books in the cloud and download on demandOne-tap simplified/traditional Chinese conversion | ✅ |
| OPDS Catalogs | Built-in OPDS support with custom catalog management | 🛠️ In progress |
Community Projects
The following projects are maintained by the community and not officially supported. For issues or feedback related to these projects, please contact the respective project maintainers.
Calibre Plugin anx-reader-calibre-plugin
A Calibre plugin that enables direct management of your ANX Reader ebook library from Calibre. Particularly useful for NAS users looking to centralize their ebook collection.
Web Library Manager anx-calibre-manager
A modern web application for managing your ebook library with Calibre integration and WebDAV server functionality for ANX Reader devices.
I Encountered a Problem, What Should I Do?
Check Troubleshooting
Submit an issue, and we will respond as soon as possible.
Telegram Group: https://t.me/AnxReader
QQ Group:1042905699
Screenshots
![]() | ![]() |
|---|---|
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |
![]() | ![]() | ![]() |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
Donations
If you like Anx Reader, please consider supporting the project by donating. Your donation will help me maintain and improve the project.
❤️ Donate
Building
Want to build Anx Reader from source? Please follow these steps:
- Install Flutter.
- Clone and enter the project directory.
- Run
flutter pub get. - Run
flutter gen-l10nto generate multi-language files. - Run
dart run build_runner build --delete-conflicting-outputsto generate the Riverpod code. - Run
flutter runto launch the application.
You may encounter Flutter version incompatibility issues. Please refer to the Flutter documentation.
Code signing policy
- Committers and reviewers: Members team
- Approvers: Owners
- Privacy Policy
- Terms of Service
Sponsors
| Free code signing on Windows provided by SignPath.io,certficate by SignPath Foundation |
|---|
License
This project is licensed under the MIT License.
Starting from version 1.1.4, the open source license for the Anx Reader project has been changed from the MIT License to the GNU General Public License version 3 (GPLv3).
After version 1.2.6, the selection and highlight feature has been rewritten, and the open source license has been changed from the GPL-3.0 License to the MIT License. All contributors agree to this change(#116).
Thanks
foliate-js, which is MIT licensed, it used as the ebook renderer. Thanks to the author for providing such a great project.
foliate, which is GPL-3.0 licensed, selection and highlight feature is inspired by this project. But since 1.2.6, the selection and highlight feature has been rewritten.
And many other open source projects, thanks to all the authors for their contributions.
















