dsh-happy-reader 0.0.0-stage → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +124 -2
- package/cordis.patch.yml +9 -0
- package/lib/client.js +2481 -0
- package/lib/index.js +12 -0
- package/package.json +44 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Richardwongyk
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,125 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Happy Reader(dsh-happy-reader)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **DSH 阅读增强** —— 隐藏输入框 / 上边栏,调整字号和字体、调整内容宽度、行间距等,
|
|
4
|
+
> 一键全屏;还可**选中内容与公式,直接复制为 Markdown**。
|
|
5
|
+
|
|
6
|
+
把对话界面调成适合长时间阅读的样子。**与官方设置协同,不冲突**——所有调整都与官方
|
|
7
|
+
机制同键同步或主动避让,不修改任何官方文件,卸载后应用完全回到原样。
|
|
8
|
+
|
|
9
|
+
入口:窗口内一枚可拖动的 **Aa** 圆钮,点开面板即可调;点面板外任意处或 × 收起面板。
|
|
10
|
+
所有开关与选择自动保存,下次打开应用保持原样。面板本身也可随意摆放:**任意空白处
|
|
11
|
+
拖动位置、拉上缘或下缘调整高度**,位置和高度都会记住——**双击标题栏**一键复位。
|
|
12
|
+
|
|
13
|
+
## 功能详解
|
|
14
|
+
|
|
15
|
+
### 1. 隐藏输入区
|
|
16
|
+
一键收起底部的输入框,把屏幕还给内容。
|
|
17
|
+
- 收起后官方聊天的滚动与阅读位置不受影响(是收起高度,不是粗暴隐藏)
|
|
18
|
+
- 随时再点一下开关即恢复;状态自动记住
|
|
19
|
+
|
|
20
|
+
### 2. 隐藏上边栏
|
|
21
|
+
收起会话标题栏,阅读区域更大。
|
|
22
|
+
- 只作用于应用内的标题栏;Windows 最上方的系统窗口标题条(拖动窗口、
|
|
23
|
+
最小化/最大化/关闭)不受影响
|
|
24
|
+
- **自动避让导航头部**:进入"查询用量"等内嵌页面时,顶部会变成唯一的"返回"按钮——
|
|
25
|
+
这种对话框/嵌入页的头部**不会被隐藏**,不必担心回不去
|
|
26
|
+
|
|
27
|
+
### 3. 字号 10–40px
|
|
28
|
+
面板里 −/+ 步进调节,突破官方 22px 的调整上限:
|
|
29
|
+
- **10–22px 段:与官方设置双向直连**——在插件里调,官方设置跟着变;
|
|
30
|
+
在官方设置里调,插件显示也跟着变,两边永远一致
|
|
31
|
+
- **23–40px 段:由缩放层补足**——超出官方上限的部分照样能放大,
|
|
32
|
+
此时官方设置保持原样不动
|
|
33
|
+
- 随时调回 22px 以内即交还官方
|
|
34
|
+
|
|
35
|
+
### 4. 字体选择(只列出本机已装字体)
|
|
36
|
+
三个下拉:**正文·中文 / 正文·西文 / 代码字体**。
|
|
37
|
+
- 下拉里只出现你电脑上真实安装了的字体(逐字体实测检测);没装的不会出现,
|
|
38
|
+
换电脑后以新电脑上有的字体为准
|
|
39
|
+
- **中英分设**:中文字体只作用于汉字与中文标点,西文字体只作用于字母、数字与
|
|
40
|
+
西文标点——两者同时生效、互不干扰(例:中文用宋体、西文用 Times New Roman)
|
|
41
|
+
- 有真粗体面的字体自动以真粗体排版
|
|
42
|
+
- 代码字体作用于消息里的行内代码与代码块
|
|
43
|
+
- 三处都选"默认(官方)"时插件完全退出,与官方原样一致
|
|
44
|
+
|
|
45
|
+
### 5. 内容宽度
|
|
46
|
+
一条滑块 + "自动"按钮,官方范围内外都能调:
|
|
47
|
+
- **官方范围内:与官方手柄完全同步**——拖官方手柄,滑块跟着走;
|
|
48
|
+
拖滑块,等同于用官方方式调整
|
|
49
|
+
- **突破官方上限**:官方把宽度限制在"列宽 − 176px",插件可以再放宽
|
|
50
|
+
(最多铺满整个内容列宽)
|
|
51
|
+
- 一旦你拖动官方手柄,插件立即交还控制权(回到官方规则)
|
|
52
|
+
- 侧边栏开合等列宽变化时自动归位,不会出现宽度失效
|
|
53
|
+
|
|
54
|
+
### 6. 行距 / 字距
|
|
55
|
+
面板最下方的两枚步进器,按 0.1 步进微调阅读节奏:
|
|
56
|
+
- **行距**:1.0× – 2.2×(相对官方行高的倍率)
|
|
57
|
+
- **字距**:−1px – 3px(可收紧,也可放松)
|
|
58
|
+
- 显示"默认"即官方原样;调回默认值时插件对该项完全退出、不留痕迹
|
|
59
|
+
- 与字体选择叠加生效(先选字体,再微调间距)
|
|
60
|
+
|
|
61
|
+
### 7. 全屏
|
|
62
|
+
开关一键进入全屏(Esc 退出):
|
|
63
|
+
- 进入后系统窗口按钮条消失,内容铺满整屏
|
|
64
|
+
- 开关状态与真实全屏状态双向同步:用 Esc 或其他方式退出,开关会自动回位
|
|
65
|
+
- 全屏是临时状态:重启应用后回到普通窗口
|
|
66
|
+
|
|
67
|
+
### 8. 复制为 Markdown(选中即得)
|
|
68
|
+
在消息内容里选中文本后按 `Ctrl+C`,剪贴板里得到的是**干净的 Markdown**:
|
|
69
|
+
- **公式(含 KaTeX)还原为 LaTeX 源码**:行内公式是 `$…$`、独立公式是 `$$…$$`;
|
|
70
|
+
选区只碰到公式"一角"时也会自动按整个公式还原(与 KaTeX 官方 copy-tex 同策略)
|
|
71
|
+
(直接粘贴到论文、笔记里就是可编辑的公式源码,不会再是一团乱码)
|
|
72
|
+
- **含公式的复制会同时写入富文本格式**(与 Cherry Studio 的 copy-tex 同策略):
|
|
73
|
+
粘贴到 Word、WPS 等支持富文本的地方,公式仍以可显示的样子出现
|
|
74
|
+
- **代码块**转为 \`\`\` 围栏、行内代码保留反引号
|
|
75
|
+
- **加粗/斜体/删除线/链接/图片/标题/列表/引用**按 Markdown 语法保留;
|
|
76
|
+
**表格**转为 GFM 表格(`| 列 |` + 分隔行)、**任务列表**转为 `- [x] / - [ ]`
|
|
77
|
+
- 只在消息区域生效;复制界面其它地方(如设置、输入框)保持系统默认行为
|
|
78
|
+
- **底层全部使用开源标准件**:公式还原 = KaTeX 官方 `copy-tex` 的同源做法(读
|
|
79
|
+
`annotation` 源码出口);"标签→Markdown"映射 = MIT 许可的
|
|
80
|
+
[turndown](https://github.com/mixmark-io/turndown) + 官方配套
|
|
81
|
+
[turndown-plugin-gfm](https://github.com/mixmark-io/turndown-plugin-gfm)(均逐字内联、
|
|
82
|
+
随包分发,许可全文保留在 `lib/client.js` 尾部的 vendored 段)
|
|
83
|
+
|
|
84
|
+
### 9. 面板拖动 / 拉拽高度
|
|
85
|
+
- **拖动**:按住面板的任意空白处(标题栏、标签文字等)即可拖到任意位置——
|
|
86
|
+
按钮、输入框、滑块等可操作控件上不会误触拖动
|
|
87
|
+
- **拉高度**:**顶边与底边都可以拉**——两条拉拽条永远贴在面板的视觉上/下缘
|
|
88
|
+
(内容在中间滚动、拉拽条不随滚动跑掉);拖顶边时下缘不动、拖底边时上缘不动
|
|
89
|
+
- 位置与高度自动记住;只有真正拖动过才会记住(点一下不受影响);
|
|
90
|
+
**双击标题栏**一键复位回自动布局
|
|
91
|
+
|
|
92
|
+
> 推荐组合:**隐藏输入框 + 隐藏上边栏 + 全屏** —— 一键进入沉浸阅读模式。
|
|
93
|
+
|
|
94
|
+
## 安装
|
|
95
|
+
|
|
96
|
+
前提:DeepSeek Harness 桌面端(0.2.0-rc.2 验证通过)。
|
|
97
|
+
|
|
98
|
+
**官方插件页**(设置 → 插件)的安装框里输入:
|
|
99
|
+
|
|
100
|
+
- npm 包名(推荐,最省事):`dsh-happy-reader`
|
|
101
|
+
- 或 git 地址:`git+https://github.com/Richardwongyk/dsh-happy-reader.git`
|
|
102
|
+
- 或本地目录(已下载到本机时):`file:C:/path/to/dsh-happy-reader`
|
|
103
|
+
|
|
104
|
+
**或命令行**:
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
dsh plugin --profile <profile> add dsh-happy-reader
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 卸载
|
|
111
|
+
|
|
112
|
+
插件页里卸载,或命令行 `dsh plugin --profile <profile> remove dsh-happy-reader`。
|
|
113
|
+
卸载后应用完全回到原样。
|
|
114
|
+
|
|
115
|
+
## 兼容性
|
|
116
|
+
|
|
117
|
+
- Windows + DSH 桌面端 0.2.0-rc.2 开发验证;macOS / Linux 未适配
|
|
118
|
+
(面板避让的是 Windows 系统按钮条,字体候选为 Windows 常用字体)。
|
|
119
|
+
- 依赖官方客户端界面结构,DSH 版本升级后可能需要跟随更新。
|
|
120
|
+
|
|
121
|
+
## 许可
|
|
122
|
+
|
|
123
|
+
MIT(见 LICENSE)。第三方组件:turndown 与 turndown-plugin-gfm(均 MIT,逐字内联于
|
|
124
|
+
lib/client.js 尾部 vendored 段,版权归其原作者所有,许可全文随附)。本插件为第三方
|
|
125
|
+
作品,与 DeepSeek 官方无隶属关系。
|
package/cordis.patch.yml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# dsh-happy-reader(Happy Reader)组合包补丁层。
|
|
2
|
+
#
|
|
3
|
+
# 安装本包(官方插件页 / `dsh plugin add`)后,加载器会把下面这行插入
|
|
4
|
+
# profile 的插件图;行名自引用本包,由 profile 安装位置解析到 lib/index.js。
|
|
5
|
+
# 浏览器半边(lib/client.js)由应用启动扫描按 package.json 的 dsh.client
|
|
6
|
+
# 声明自动发现,无需在此声明。
|
|
7
|
+
- insert:
|
|
8
|
+
- id: dsh-happy-reader
|
|
9
|
+
name: 'dsh-happy-reader'
|