trnovel 0.18.3

Terminal reader for novel
docs.rs failed to build trnovel-0.18.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: trnovel-0.16.0

从终端开始阅读

TRNovel 是用 Rust 构建的终端小说阅读器,支持 Windows、macOS 和 Linux。你可以打开本地 TXT,也可以导入网络书源,在同一个界面里选书、浏览目录和阅读正文。

阅读进度留在本地,键位可以按习惯调整。主题、背景、段落间距和翻页重叠行数也可以配置,让终端成为适合长时间阅读的地方。

你想做什么 TRNovel 提供什么
读本地小说 UTF-8 / GBK 识别,卷、章目录解析,自定义目录规则
从上次继续 历史记录、阅读进度保存,trn -q 续读
找到某段正文 章内搜索、匹配高亮和前后跳转
按习惯翻页 可配置键位、主题、背景模式和阅读布局
读网络小说 搜索、分类、详情、目录和正文;结构化 v2 书源
制作新书源 Agent skill 探站生成,trn doctor 校验,trn import 导入
听小说 独立 talechime 程序,MOSS 流式合成与音色导入,可选 Qwen / VoxCPM2 / OmniVoice;正文高亮和跟随朗读

TRNovel 真实阅读界面

安装

macOS / Linux:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/yexiyue/TRNovel/releases/latest/download/trnovel-installer.sh | sh

Windows:

powershell -ExecutionPolicy Bypass -c "irm https://github.com/yexiyue/TRNovel/releases/latest/download/trnovel-installer.ps1 | iex"

也可以选择包管理器:

cargo install trnovel
npm i -g @trnovel/trnovel
brew install yexiyue/tap/trnovel

这些命令安装最新正式版本。0.18.0 起统一为默认支持听书界面的单一阅读器,Talechime 独立安装。0.18.2 起恢复 Intel Mac 与 x86_64 / ARM64 musl Linux;旧 basic、捆绑 worker 和加速包停止更新。见安装文档。

开读

trn               # 打开主界面
trn -l ./novels   # 从本地小说目录进入
trn -n            # 进入网络小说模式
trn -q            # 继续上次阅读
trn -H            # 查看历史记录

trn 和 trnovel 是同一个阅读器的两个命令名。进入阅读页后,可以打开阅读设置和快捷键帮助;默认键位及自定义方式见阅读指南与键位配置。

让 AI 帮你做书源

给你的 Agent 安装 booksource-generator:

npx skills add https://github.com/yexiyue/TRNovel/tree/main/skills/booksource-generator

然后把站点地址交给它:

请使用 booksource-generator skill,为 https://example.com 生成一个 TRNovel v2 书源。
生成后运行 trn doctor 校验,修到通过后把 JSON 给我。

拿到书源后,先检查再导入:

trn doctor ./my-source.v2.json
trn import ./my-source.v2.json
trn -n

书源使用 trnovel-booksource/v2 结构化 JSON,包含请求、提取规则与验证样例。支持 CSS、XPath、JSONPath、正则,以及解码、加解密、签名和文字转换;部分站点可使用 JS 或浏览器辅助。站点变化后,仍需重新校验和调整规则。

TRNovel 不直接接受 Legado 书源 JSON。

让小卷读给你听

听书引擎由独立项目 Talechime · 叙铃 提供,需独立安装并加入 PATH。阅读器只依赖 crates.io 的轻量 talechime-protocol 0.3.0,通过 JSON Lines v7 通信,无需子模块或相同应用版本。普通阅读无需安装 Talechime。

默认后端是 MOSS-TTS-Nano,支持流式合成和 WAV 参考音色导入;Qwen3-TTS、VoxCPM2 与 OmniVoice 可按 feature 编入。Qwen 提供九种预置音色,CPU / Metal 支持取决于构建与平台,主观音质验收仍在进行。

阅读页默认按 P 播放或暂停,T 打开听书设置,f 回到朗读位置并恢复跟随。手动滚动或搜索会暂时解除跟随;播放失败保留恢复点,等待你主动重试。

模型按需下载到 ~/.talechime/resources/,高亮按实际播放片段推进。完整说明见听书指南。

也可以不进入 TUI,直接查询和配置听书:

trn tts show
trn tts list --backend moss --model nano-candle
trn tts setup --program ../talechime/target/release/talechime
trn tts setup --backend moss --model nano-candle --voice Yuewen --device cpu

查询和设置不下载模型;声音偏好保存为下次播放使用,已运行的阅读器需重启读取。

从源码构建

需要 Rust 1.89 或更新版本。Linux 阅读器需要 OpenSSL 开发库和 pkg-config,Talechime 另需 ALSA 开发库。

git clone https://github.com/yexiyue/TRNovel.git
cd TRNovel
cargo build --release --locked -p trnovel --bins

Talechime 的源码构建和独立安装见项目 README。worker 查找顺序为 --tts-program、~/.trnovel/config.toml 中的 [tts].program、PATH 中的 talechime。指定路径无效会直接报错;缺少程序显示安装链接,不自动下载或更新。

开发入口与质量检查见 AGENTS.md。文档站位于 docs/:

cd docs
pnpm install --frozen-lockfile
pnpm dev

认识小卷

小卷是 TRNovel 的方形终端机器人。屏幕上的 > < 是眼睛,_ 是嘴角,小小的方块光标陪着故事向前。它会陪你选书、翻页,也会戴上耳机听下一章。

新品牌围绕终端展开:墨蓝屏幕、纸白机身、暖橙光标,字标使用等宽字体。标志与小卷共享同一张屏幕脸;品牌文件、透明背景形象与使用规范集中在 assets/brand/。

内容与数据

TRNovel 不提供或托管小说内容,网络小说由你配置的书源提供。请支持正版,并确认所访问内容及书源符合适用要求。

阅读设置保存在 ~/.trnovel/config.toml,持久数据在 ~/.trnovel/data/,可重建缓存在 ~/.trnovel/cache/。Talechime 的配置、恢复点和模型分别位于 ~/.talechime/config.json、checkpoints/、resources/。新版不读取或自动迁移旧目录,见手工搬迁说明。网络阅读会请求所选站点;模型准备会访问对应下载服务。

License

项目使用 MIT 许可。随品牌资产保留的 IBM Plex Mono 字体使用 SIL Open Font License。