dsh-moyu-reader:在 DSH Web 右侧栏读本地 txt 小说

前言

在 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜