终端里已经有了一切。
现在它有了一个书架。

为不离开终端的开发者设计的低打断轻阅读工具。
完全免费开源(MIT),没有账号,没有服务器,数据永远留在你的机器上。

npm install -g readshell
ReadShell demo — terminal ebook reader in action

等编译,等部署,等 CI 跑完——你有 5 分钟。

你拿起手机。40 分钟后,你还在刷。

ReadShell 就是为这段空隙设计的。

$ novel resume
↑ 一条命令,精确到字节地回到上次读到的地方

核心功能

[resume]

零摩擦续读

精确到字节地恢复阅读位置,无论上次在哪停下。

[b / Esc]

老板键

一键伪装成终端报错画面(Node.js / Python / Java / C / Go),路过的同事完全看不出来你在读书。

[sync]

同步文件夹

novel sync --dir 指向任意被 iCloud / Dropbox / 坚果云 / Syncthing 同步的文件夹,多设备自动接力阅读进度。

[stats]

阅读统计

novel stats 在终端里画出近一年的阅读热力图:阅读天数、总时长、读完本数、当前连续天数。

[bookmark]

书签导出

随手标记精彩段落,novel bookmarks export 一键导出为 JSON 或 Markdown。

[import]

批量导入

novel import ~/books/ 递归扫描目录,支持 epub / txt / md。

在线演示

鲁迅《狂人日记》(公版书)开头几段,装进一个假终端里——和真实体验几乎一样。

$ novel resume — 狂人日记.txt
  

点击后用键盘试试:j/k 翻页,m 书签,b 老板键

[b / Esc]

老板键

读书读到一半,有人走过来?按下 bEsc,ReadShell 立刻切换为一屏终端报错。

看起来就像你在紧张地调试生产 bug。同事掉头离开,你再从容回来。

安全后运行 novel resume,精确回到原位。

Boss key — terminal error screen disguise

你同事看到的样子

快速上手

三步,五分钟搞定

1. 安装(需要 Node.js ≥ 20)
npm install -g readshell
2. 导入书籍并开始阅读
novel import ~/books/      # 递归扫描目录
novel list                 # 查看书库
novel resume               # 从上次位置继续
3. (可选)设置同步文件夹,多设备接力
novel sync --dir "~/Library/Mobile Documents/com~apple~CloudDocs/readshell"
# 指向任何被 iCloud / Dropbox / 坚果云 / Syncthing 同步的文件夹即可

↑ 不设置也能完整使用所有功能,数据始终只在本地

快捷键

按键 操作
f / Space / j / ↓ 下一页
k / ↑ 上一页
c 章节列表与书签
Tab 切换目录 / 书签
m 添加书签
g / G 跳转到开头 / 结尾
b / Esc 老板键(伪装成报错并退出)
q 退出
? 显示帮助

ReadShell 以 MIT 协议开源,完全免费。

没有账号,没有付费版,没有服务器。

你的阅读数据以 SQLite 文件存储在本地,永远不会离开你的机器。 跨设备同步只通过你自己的同步文件夹(iCloud / Dropbox / 坚果云 / Syncthing)完成——ReadShell 没有任何服务器。