Happy Reader(dsh-happy-reader)
DSH 阅读增强 —— 隐藏输入框 / 上边栏,调整字号和字体、调整内容宽度、行间距等, 一键全屏;还可选中内容与公式,直接复制为 Markdown。
把对话界面调成适合长时间阅读的样子。与官方设置协同,不冲突——所有调整都与官方 机制同键同步或主动避让,不修改任何官方文件,卸载后应用完全回到原样。
入口:窗口内一枚可拖动的 Aa 圆钮,点开面板即可调;点面板外任意处、按 Esc 或 × 收起面板。 所有开关与选择自动保存,下次打开应用保持原样。面板本身也可随意摆放:任意空白处 拖动位置、拉上缘或下缘调整高度,位置和高度都会记住——双击标题栏一键复位。 字体设置收在三个可折叠卡片(正文字体 / 代码字体 / 终端字体)里,组头显示 当前字号与字体摘要。打开面板先看到这三行,默认全部收起;点哪行展开哪行,展开状态会记住。
实现形态遵循官方插件规范(v0.3.0 起):界面通过官方 shell.overlay 槽位以 React
组件挂载、不直接改写页面结构;取色只用官方主题变量(自动跟随明暗与品牌色);文案走
官方语言服务(随界面语言切换中/英);开关采用官方无障碍规范(role="switch",
键盘与读屏可用);正文字体的中/西两行也注册进官方「通用设置」页(settings.general.item),
两处入口共用同一份设置;不修改任何官方文件。与官方叠加层共存:右键菜单、提示条
始终显示在插件之上;Esc 在官方对话框/菜单里让位,在插件自己的输入框里只取消输入。
功能详解
1. 隐藏输入区
一键收起底部的输入框,把屏幕还给内容。
- 收起后官方聊天的滚动与阅读位置不受影响(是收起高度,不是粗暴隐藏)
- 随时再点一下开关即恢复;状态自动记住
2. 隐藏上边栏
收起会话标题栏,阅读区域更大。
- 只作用于应用内的标题栏;Windows 最上方的系统窗口标题条(拖动窗口、 最小化/最大化/关闭)不受影响
- 只收会话标题栏本身(v0.2.6 起):插件页("添加插件"入口所在)、"查询用量"等 嵌入页(顶部唯一的"返回"按钮)、弹出对话框——这些页面的头部一律不受影响
3. 字号 10–40px
在「正文字体」组里展开调,−/+ 步进,突破官方 22px 的调整上限:
- 10–22px 段:与官方设置双向直连——在插件里调,官方设置跟着变; 在官方设置里调,插件显示也跟着变,两边永远一致
- 23–40px 段:由缩放层补足——超出官方上限的部分照样能放大, 此时官方设置保持原样不动
- 代码字号(10–16px):在「代码字体」组里,DSH 0.2.2+ 官方角色字号, 与官方设置双向同步(代码块、行内码与工具输出一起变)
- 终端字号(10–20px):在「终端字体」组里,官方角色字号,作用于侧栏终端
- 启动时以官方值为准,不会用插件上次的旧值覆盖官方设置
- 随时调回官方范围内即交还官方
4. 字体选择(正文字体 / 代码字体 / 终端字体)
面板把字体设置收成三个可折叠卡片,组头显示当前字号与字体摘要,点击展开/收起; 默认三行收起,点哪行展开哪行;展开状态自动记住。所有条目都是官方角色设置的镜像,可写自定义字体列表。
- 正文字体(组):
- 官方正文字体:官方「正文字体」的基础字族,可直接编辑(逗号分隔多个, 或从下拉里挑本机已装字体);中英分设优先,未覆盖的字符回落到这里
- 中英分设:中文只作用于汉字与中文标点,西文只作用于字母、数字与西文标点—— 两者同时生效、互不干扰(例:中文用宋体、西文用 Times New Roman);有真粗体面的 字体自动以真粗体排版
- 该组的两行也出现在 设置 → 通用设置 → 字号大小 下方(v0.3.0 起),两处入口 操作同一份设置、双向同步
- 代码字体(组):字体 + 字号,写入官方「代码字体 / 代码字号」角色设置; 下拉只列本机已装字体,选「自定义…」可填官方同款的逗号列表
- 终端字体(组):字体 + 字号,写入官方「终端字体 / 终端字号」角色设置, 作用于侧栏终端;同样支持自定义列表
- 下拉里只出现你电脑上真实安装了的字体(逐字体实测检测);没装的不会出现
- 官方值为多字体列表或不在候选表时,显示「当前:…」,不会被误报成"默认"
- 全部选"默认(官方)"时插件完全退出,与官方原样一致
5. 内容宽度
一条滑块 + "自动"按钮,官方范围内外都能调:
- 官方范围内:与官方手柄完全同步——拖官方手柄,滑块跟着走; 拖滑块,等同于用官方方式调整
- 突破官方上限:官方把宽度限制在"列宽 − 176px",插件可以再放宽 (最多铺满整个内容列宽)
- 一旦你拖动官方手柄,插件立即交还控制权(回到官方规则)
- 侧边栏开合等列宽变化时自动归位,不会出现宽度失效
6. 行距 / 字距
面板最下方的两枚步进器,按 0.1 步进微调阅读节奏:
- 行距:1.0× – 2.2×(相对官方行高的倍率)
- 字距:−1px – 3px(可收紧,也可放松)
- 显示"默认"即官方原样;调回默认值时插件对该项完全退出、不留痕迹
- 与字体选择叠加生效(先选字体,再微调间距)
7. 全屏
开关一键进入全屏(Esc 退出):
- 进入后系统窗口按钮条消失,内容铺满整屏
- 开关状态与真实全屏状态双向同步:用 Esc 或其他方式退出,开关会自动回位
- 全屏是临时状态:重启应用后回到普通窗口
8. 复制为 Markdown(选中即得)
在消息内容里选中文本后按 Ctrl+C,剪贴板里得到的是干净的 Markdown:
- 公式(含 KaTeX)还原为 LaTeX 源码:行内公式是
$…$、独立公式是$$…$$; 选区只碰到公式"一角"时也会自动按整个公式还原(与 KaTeX 官方 copy-tex 同策略) (直接粘贴到论文、笔记里就是可编辑的公式源码,不会再是一团乱码) - 含公式的复制会同时写入富文本格式(与 Cherry Studio 的 copy-tex 同策略): 粘贴到 Word、WPS 等支持富文本的地方,公式仍以可显示的样子出现
- 代码块转为 ``` 围栏、行内代码保留反引号
- 加粗/斜体/删除线/链接/图片/标题/列表/引用按 Markdown 语法保留;
表格转为 GFM 表格(
| 列 |+ 分隔行)、任务列表转为- [x] / - [ ] - 只在消息区域生效;复制界面其它地方(如设置、输入框)保持系统默认行为
- 与官方「引用文本」不冲突(v0.3.0 核对):官方引用是选中文字后出现的按钮,
把纯文本插入输入框;本功能只接管消息区内的
copy事件(Ctrl+C)改写剪贴板, 不碰选区、不改 DOM、不注册官方选区交互,两者可同时使用 - 底层全部使用开源标准件:公式还原 = KaTeX 官方
copy-tex的同源做法(读annotation源码出口);"标签→Markdown"映射 = MIT 许可的 turndown + 官方配套 turndown-plugin-gfm(均逐字内联、 随包分发,许可全文保留在lib/client.js尾部的 vendored 段)
9. 面板拖动 / 拉拽高度
- 拖动:按住面板的任意空白处(标题栏、标签文字等)即可拖到任意位置—— 按钮、输入框、滑块等可操作控件上不会误触拖动
- 拉高度:顶边与底边都可以拉——两条拉拽条永远贴在面板的视觉上/下缘 (内容在中间滚动、拉拽条不随滚动跑掉);拖顶边时下缘不动、拖底边时上缘不动
- 位置与高度自动记住;只有真正拖动过才会记住(点一下不受影响); 双击标题栏一键复位回自动布局
推荐组合:隐藏输入框 + 隐藏上边栏 + 全屏 —— 一键进入沉浸阅读模式。
安装
前提:DeepSeek Harness 桌面端 0.2.2(官方 slots / theme / locale / sessions 接口验证通过)。
官方插件页(设置 → 插件)的安装框里输入:
- npm 包名(推荐,最省事):
dsh-happy-reader - 或 git 地址:
git+https://github.com/Richardwongyk/dsh-happy-reader.git - 或本地目录(已下载到本机时):
file:C:/path/to/dsh-happy-reader
或命令行:
dsh plugin --profile <profile> add dsh-happy-reader
卸载
插件页里卸载,或命令行 dsh plugin --profile <profile> remove dsh-happy-reader。
卸载后应用完全回到原样。
在插件页停用(不卸载)同样即时生效:浮动面板、悬浮按钮以及设置页里新增的两行 「正文字体 · 中文 / 西文」都会立即移除,聊天界面和官方设置恢复原样;若当时处于插件 全屏,也会一并退出、恢复窗口态;重新启用即恢复。
兼容性
- Windows + DSH 桌面端 0.2.2 开发验证(按官方客户端插件接口实现);macOS / Linux 未适配 (面板避让的是 Windows 系统按钮条,字体候选为 Windows 常用字体)。
- 依赖官方客户端界面结构,DSH 版本升级后可能需要跟随更新。
- 运行时按事件工作:无常驻定时轮询;宽度观察器只在面板打开或扩展宽度生效时挂载, 字体 token 晚就绪用有限次退避重试(成功后停止)。
许可
MIT(见 LICENSE)。第三方组件:turndown 与 turndown-plugin-gfm(均 MIT,逐字内联于 lib/client.js 尾部 vendored 段,版权归其原作者所有,许可全文随附)。本插件为第三方 作品,与 DeepSeek 官方无隶属关系。
No comments yet. Be the first to write one.