dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在右侧栏阅读本地 txt 小说:自动识别 UTF-8/GBK/Big5 编码,支持章节切分、全文搜索、阅读进度与书签,并可用老板键一键隐藏阅读器或整个右侧栏。
Read local .txt novels in the DSH web UI's right sidebar — with a boss key.
</kbd> (<kbd>⌘</kbd>+<kbd> on macOS). Configure it to collapse only the reader,
or the whole right sidebar with it.第一章, 第 1 章, Chapter 1,
and similar headings; falls back to fixed-size chunks when a file has none.settings.yaml.dsh plugin --profile web add dsh-moyu-reader
Then restart the profile. The package declares its own bundle patch, so the
plugin row is mounted for you — do not also add a manual insert row to the
profile's cordis.patch.yml, or it will mount twice.
Open the reader from any of the three launchers, or pick the 小说阅读器 tab in the right sidebar. Press the boss key to hide it.
| Key | Default | Meaning |
|---|---|---|
enabled | true | Master switch. Off hides every launcher, tab and the boss key. |
hotkey | `mod+`` | Boss key. mod is Ctrl on Windows/Linux and ⌘ on macOS. |
hotkeyHidesSidebar | true | Also collapse the whole right sidebar, not just the reader. |
launcherFooter | true | Show the launcher in the left sidebar footer. |
launcherHeader | true | Show the launcher in the session header. |
floatingBall | false | Show the floating ball in the bottom-right corner. |
defaultDir | (working directory) | Directory the shelf opens in. |
theme | auto | auto / sepia / dark / light. |
fontSize | 17 | Reader font size in px (12–30). |
lineHeight | 1.95 | Line height (1.3–2.8). |
family | serif | serif / sans / kai. |
indent | true | Indent the first line of each paragraph. |
justify | true | Justify body text. |
maxBookBytes | 100663296 | Largest file the host will read, in bytes. |
fallbackChunkChars | 6000 | Chunk size used when a file has no chapter headings. |
Turning the plugin off does not delete your saved reading state.
Two halves, as a DSH plugin requires:
lib/index.js) reads files through the fs service and serves a
small JSON bridge over webServer at POST /dsh-moyu-reader/api. The route
is exact-match, rejects a mismatched Origin, and caps request bodies at 1
MiB. It holds the book cache and the process-local reading state.client/client.js) is a browser module — a plain lazy-CJS factory
registered on window.__ModuleLoader__, no bundler involved. It renders into
six slots and binds the dsh-moyu-reader settings namespace so the settings
card and the reader's own settings tab write through the same scope.Both halves talk only through the bridge route; nothing else crosses.
npm install
npm run build # emit client/client.js from src/client.js
npm test # 45 host checks + 67 client checks
npm run watch # rebuild the client bundle on change
src/client.js is the source of truth for the client half; client/client.js
is generated and should not be edited by hand. The test suites mount the real
shipped code — the host suite drives the bridge route against a stand-in fs
service, and the client suite renders the bundle with React, drives its
controls, and fires the boss key at a fake document.
MIT