前言¶
在 DSH Web 里长时间跑会话、看日志或调插件时,若想在同一界面里顺手翻本地 txt,常见做法是另开编辑器或浏览器标签。窗口一多,阅读和对话上下文容易脱节;若再需要快速收起界面,往往得整页切换或手动关面板。
下面介绍社区插件 dsh-moyu-reader(维护者 XIAOZHAOXSXH,分类:客户端):它在 DSH Web UI 的右侧边栏以标签页形式打开阅读器,支持本地 .txt、章节拆分、编码识别,以及一键隐藏(老板键)。插件遵循 DSH「一切皆插件」的扩展方式,安装与配置走官方 CLI 与 Settings → Plugins,与 DeepSeek / 幻方无官方从属关系;目录页见 SkillHub,源码见 GitHub。
这是什么¶
dsh-moyu-reader 是面向 DSH Web profile 的客户端插件:Host 通过 fs 读本地文本,Client 在右侧栏渲染阅读界面;二者仅通过 POST /dsh-moyu-reader/api 的 JSON 桥通信。它不修改你的文件,只读展示;阅读进度、书签等状态保存在当前 DSH 进程内,重启 DSH 后会丢失(配置项会写入 settings.yaml 并持久化)。
核心功能¶
右侧栏阅读,而非弹窗¶
阅读器作为与会话并列的右侧栏标签(界面中的「小说阅读器」)打开,切换对话时不必为「找回来读到哪」单独记窗口状态。
老板键与入口¶
- 默认老板键:
Ctrl+\``(Windows/Linux),macOS 为⌘+`;可在设置里改hotkey,并选择仅收起阅读器或连同整个右侧栏一起收起(hotkeyHidesSidebar`)。 - 三种入口可独立开关:左侧栏底部按钮(
launcherFooter)、会话头按钮(launcherHeader)、右下角悬浮球(floatingBall,默认关闭)。
书架与章节¶
- Shelf:浏览本地目录,过滤非文本文件,并记住最近打开的书。
- 自动分章:识别
第一章、第 1 章、Chapter 1等标题;若无章节标题则按固定字符数分块(默认fallbackChunkChars为 6000)。 - 中文编码:支持 UTF-8、带 BOM 的 UTF-8、UTF-16 LE/BE、GB18030/GBK、Big5,含「几乎全是 ASCII 的 GBK 被误判为 UTF-8」一类情况。
阅读体验¶
全文搜索(带片段)、书签、进度记忆(同一进程内再次打开回到上次位置);可调字号(12–30 px)、行高、字体(serif / sans / kai)、主题(跟随 DSH / sepia / dark / light)、首行缩进与两端对齐。
与 DSH 设置集成¶
选项集中在 Settings → Plugins 中该插件卡片,改后立即生效并写入 settings.yaml。关闭插件(enabled: false)会隐藏所有入口与老板键,不会删除已保存的阅读状态(进程仍在时)。
安装与启用¶
插件声明了自带的 bundle patch,安装后不要再在 profile 的 cordis.patch.yml 里手动加 insert 行,否则会重复挂载。
1、在 web profile 下添加插件:
dsh plugin --profile web add dsh-moyu-reader
2、重启该 profile 使插件加载。
运行环境要求 Node.js >= 20(见仓库 package.json 的 engines 字段)。当前仓库版本为 1.0.0,许可证 MIT。
典型用法¶
1、从左侧栏底部、会话头或(若已开启)右下角悬浮球打开阅读器;或在右侧栏选择 小说阅读器 标签。
2、在书架中进入 defaultDir(默认当前工作目录)下的目录,选择 .txt 文件。单文件大小受 maxBookBytes 限制(默认 100663296 字节,即 96 MiB)。
3、阅读过程中用老板键快速隐藏;需要时在插件设置里调整主题、字体与老板键行为。
Host 侧对桥接路由做精确匹配、校验 Origin,请求体上限 1 MiB;Client 为注册在 window.__ModuleLoader__ 上的懒加载 CJS 模块,无额外打包器参与运行时加载。
适用场景与注意¶
适合谁:主要在 DSH Web 里开发或运维智能体、希望同屏读本地 txt 参考或消遣、且需要快速收起的用户。
权限与安全:插件以当前 DSH 进程的权限通过 fs 读取你配置的目录下的文件。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,确认 defaultDir 与可读范围符合你的安全策略。
已知限制(README 原文):
- 阅读状态(最近书籍、进度、书签)为进程内状态,关阅读器仍在,重启 DSH 会丢;持久化仅配置项。
- 只读,不写文件。
- 章节识别为启发式,非常规标题可能退化为固定长度分块。
配置项速查¶
以下默认值与含义来自官方 README,均可在 Settings → Plugins 中修改:
| Key | Default | 含义 |
|---|---|---|
enabled |
true |
总开关 |
hotkey |
mod+\`` | 老板键;mod` 在 Windows/Linux 为 Ctrl,macOS 为 ⌘ |
|
hotkeyHidesSidebar |
true |
老板键是否收起整个右侧栏 |
launcherFooter |
true |
左侧栏底部入口 |
launcherHeader |
true |
会话头入口 |
floatingBall |
false |
右下角悬浮球 |
defaultDir |
(工作目录) | 书架初始目录 |
theme |
auto |
auto / sepia / dark / light |
fontSize |
17 |
字号(px) |
lineHeight |
1.95 |
行高 |
family |
serif |
serif / sans / kai |
indent |
true |
段首缩进 |
justify |
true |
两端对齐 |
maxBookBytes |
100663296 |
单文件最大字节数 |
fallbackChunkChars |
6000 |
无章节标题时的分块字符数 |
结尾¶
经过上面的步骤,你可以在 DSH Web 右侧栏完成本地 txt 的阅读、搜索与进度记忆,并用老板键按需隐藏界面。社区目录:https://www.skillhub.cn/plugins/XIAOZHAOXSXH/dsh-moyu-reader;源码与问题反馈:https://github.com/XIAOZHAOXSXH/dsh-moyu-reader。