CLI Reader
纯本地、不联网、不接在线书源、不调用任何 LLM。你的书只在你自己电脑上。
✨ 功能特性
🚀 快速开始
之后这本书会出现在侧边栏书库里,下次点一下就能从上次位置接着读。 💬 命令列表输入
快捷键(均可在 VSCode 键盘快捷方式里自定义):
🎨 阅读风格(
|
| 风格 | 观感 |
|---|---|
claude(默认) |
纯黑底、无衬线正文、暖橙品牌色点缀,留白多、装饰少 |
codex |
纯黑底、等宽正文、近乎不用强调色,方角细边的原生终端感 |
deepseek |
深靛底、等宽正文、蓝紫主色 + 琥珀 / 绿语义色,信息密度更高 |
下面每款风格各两张:左边阅读态(正文 + 假 diff,标题栏带书名),右边工作态(Boss Mode 编码对话,书名隐藏)。风格是全局的,两种状态用同一套配色。
claude — 纯黑底、无衬线正文、暖橙品牌色点缀
| 阅读态 | 工作态(Boss Mode) |
|---|---|
![]() |
![]() |
codex — 纯黑底、等宽正文、原生终端感
| 阅读态 | 工作态(Boss Mode) |
|---|---|
![]() |
![]() |
deepseek — 深靛底、等宽正文、蓝紫主色 + 琥珀 / 绿语义色
| 阅读态 | 工作态(Boss Mode) |
|---|---|
![]() |
![]() |
📖 阅读体验
/next一次输出一整章,光标(滚动条)固定在这一页的开头,你自己往下滚着读,节奏自己掌握。- 章节之间穿插的
● assistant · edited xxx.ts+ 代码 diff 是伪装效果,可在配置里关闭或调频率。 - 觉得字小 / 字大,用输入框左下角的
A-A+,或Ctrl/Cmd++/-直接调;Ctrl/Cmd+0回到默认。 - 换个观感用
/theme,详见上面的阅读风格。 - 进度按字符级保存,关掉 VSCode 重开也能接着读。
🕶 工作态切换(Boss Mode)
一键把面板从"小说"瞬间切成"看似真实的编码对话"——标题变 Claude、隐藏书名、状态延续,内容根据你当前打开的代码文件(类名 / 函数名 / import / 真实代码片段)即时生成。
进入方式(被动触发可在设置里勾选):
| 方式 | 说明 |
|---|---|
快捷键 Cmd/Ctrl+Shift+B |
始终可用 |
输入框右下角 </> 按钮 / /boss |
始终可用 |
窗口失焦(blur) |
切到别的应用 N 秒后(可配,可关) |
鼠标离开面板(mouseLeave) |
鼠标移出面板 N 秒后(可配,可关) |
切到代码 tab(editorFocus) |
点开代码编辑器时(可配,默认关) |
三款风格下工作态的样子见上面阅读风格一节右列的截图。
退出方式:为了安全,默认只能手动退出——快捷键 / </> 按钮 / /resume。工作态下命令面板只放行 /resume,其它命令隐藏,绝不会误操作露出小说。(若想"鼠标移回 / 窗口重新聚焦自动退出",把 bossMode.autoExit 设为 true。)
⚙️ 配置项(fishReader.*)
在 VSCode 设置里搜 fishReader(配置项前缀,为兼容旧版本保持不变)。
| 配置 | 默认 | 说明 |
|---|---|---|
charsPerPage |
300 |
每页字数(仅用于页码显示) |
encoding |
auto |
文件编码:auto / utf-8 / gbk / gb18030 |
chapterRegex |
(见设置) | 章节标题匹配正则 |
maxChapterChars |
3000 |
超长章节 / 无标题书的虚拟分页长度,0 关闭 |
mergeParagraphs |
true |
智能合并细碎段落 |
paragraphTargetChars |
120 |
合并段落的目标字数 |
fakeThinkingSpeed |
normal |
流式速度:slow / normal / fast / off |
fakeDiff.enabled |
true |
是否在段落间插入假 diff |
fakeDiff.frequency |
0.7 |
假 diff 出现概率 0~1 |
fakeDiff.language |
auto |
假 diff 语言,auto 跟随 workspace |
fakeDiff.snippetSource |
workspace |
diff 文件名来源:workspace / builtin |
bossMode.triggers |
["blur","mouseLeave"] |
启用哪些被动触发:blur / mouseLeave / editorFocus |
bossMode.mouseLeaveDelay |
1000 |
鼠标离开多久触发(ms) |
bossMode.blurDelay |
5000 |
窗口失焦多久触发(ms) |
bossMode.autoExit |
false |
是否允许被动方式自动退出工作态 |
bossMode.readActiveTab |
true |
读当前 tab 生成伪装内容 |
bossMode.scanWorkspace |
true |
启动时扫描 workspace 真实文件名 |
🧩 两种打开方式
- 侧边栏(书库列表):活动栏 ◆ 图标 → 新建会话 / 搜索 / 书籍列表。
- 编辑器 tab(阅读面板):像普通编辑器标签一样,可拖到任意分组、左右分屏、独立窗口。
🛠 本地开发 / 构建
npm install # 安装依赖
npm run build # 产出 dist/(extension.js / webview.js / library.js / styles.css)
npm run watch # 开发时增量构建
在 VSCode 里打开本项目按 F5 启动扩展开发宿主调试。
🙏 致谢
本项目基于 wuuhw/fish-reader-vscode 二次开发,感谢原作者的开源工作。
📄 License
MIT





