dsh-bookshelf
Manifest validA local PDF/EPUB bookshelf plugin for DeepSeek Harness with built-in readers and a native Books right sidebar.
dsh-bookshelf
A local PDF and EPUB bookshelf for the DeepSeek Harness
Web GUI. It adds a Bookshelf entry to the left sidebar and a shelf in the main
panel. Library, covers, progress, bookmarks and settings live under
$DSH_HOME/bookshelf, so they survive reloads and restarts.
Features
- One Import books menu: Import book files… (picker or drag-and-drop, copies into the shelf) and Link a folder… (soft links; on Windows a staged copy when symlink creation is denied). Originals are never deleted.
- Apple Books import (macOS): search the local library and link a downloaded EPUB/PDF; EPUB source folders are packed on demand.
- Shelf: cover grid, search, sort, rename, delete.
- PDF.js reader: fit page/width/custom zoom, single/continuous pages, page bookmarks, progress restore.
- EPUB reader: paged/scroll, TOC, typography, light/dark themes, automatic two-page layout, fullscreen, bookmarks, progress restore.
- Page discussion (EPUB): capture the visible page into
.dsh-bookshelf/<id>.mdin a chosen workspace, open a native conversation with an@filedraft (nothing is sent), and show the page in the static Books sidebar tab. - English/Chinese UI.
Install
Requires DSH >=0.2.0-rc.2 <0.3.0, Node ^22.19.0 || >=24.0.0, on macOS or
Windows.
From GitHub:
dsh plugin --profile web add github:Chriszzx/dsh-bookshelf
From a local checkout:
dsh plugin --profile web add /absolute/path/to/dsh-bookshelf
The bundle inserts ui-bookshelf; reload the Web page after replacing client
files.
Usage
Open Bookshelf in the sidebar, then Import books:
- Import book files… — choose one or several EPUB/PDF files, or drop files on the shelf.
- Link a folder… — choose a folder, review its books, and add them as soft links (or copies on the Windows fallback).
- Apple Books (macOS) — search the local library and link a downloaded book.
Progress and bookmarks are stored on the Host. Switching panels preserves the open book, search/sort and scroll; a page reload returns to the shelf with progress intact.
Platform
| Platform | Shelf + readers | File import | Folder linking | Apple Books |
|---|---|---|---|---|
| macOS | Yes | Yes | Soft links | Yes |
| Windows | Yes | Yes | Soft links with Developer Mode; otherwise copy | No |
| Linux | Not declared | — | — | No |
Windows. Folder linking needs SeCreateSymbolicLinkPrivilege. Without it,
the Host automatically saves a staged copy and labels it copy; enable
Settings → Privacy & security → For developers → Developer Mode (then sign
out/in) or run DSH elevated for true soft links. File import and drag-and-drop
need no symlink privilege. Unrelated errors are reported, and failed copies
clean up. Covered by simulated tests on macOS, not real Windows hardware.
Apple Books. macOS only; on Windows the button, setting and routes are
unavailable (501). If the library is unavailable, grant DSH Full Disk
Access. Books that are not downloaded show as unavailable.
Data and privacy
$DSH_HOME/bookshelf/{library.json,books,state.json,defaults.json,covers}
Deleting an entry removes its shelf file, cover and reading state; it never
follows or deletes a linked source. The plugin has no telemetry and does not
upload books. Page-discussion files stay in the selected workspace under
.dsh-bookshelf/ and are not added to a model context until you send a message
that references them.
Development
Pure Node tests:
node --test tests/manifest.mjs tests/sidebar-snapshot.mjs \
tests/discussion-bridge.mjs tests/platform-compatibility.mjs \
tests/link-fallback.mjs tests/link-import-mode.mjs
Browser regressions need Chrome and React UMD fixtures. Set
BOOKSHELF_TEST_FIXTURES to a directory containing the React/React DOM UMD
files; set CHROME_BIN if Chrome is not at its default macOS path. Run
node tests/file-import.mjs, tests/pagination-geometry.mjs,
tests/tab-persistence.mjs, tests/reading-snapshot.mjs, or
tests/discussion-handoff.mjs. They use isolated temporary homes and Chrome
profiles and do not touch a personal library.
License
MIT — see LICENSE. Bundled PDF.js, fflate, fonts, CMaps and WebAssembly
assets retain their upstream notices under assets/licenses,
assets/wasm and assets/standard_fonts.
Developed and tested on macOS. Windows folder linking is covered by simulated failure tests; the real Windows symlink-denial path has not been exercised on Windows hardware. Shelf rendering is verified in the running Web GUI.
Comments
Loading…
Similar plugins
by ralfsqual
dsh-pdf-reader: DeepSeek Harness plugin adding a read_pdf tool (local PDF text extraction via pdfjs-dist)
★ 0
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-pdf-readerby peanutcd2005
Read text out of local PDF files inside DeepSeek Harness: page-by-page text, page statistics, scanned-PDF detection, no Python, no network.
★ 0
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-plugin-pdf-textby mic1on
Read local EPUB / MOBI / text books inside DeepSeek Harness: /read streams the text into the conversation like an AI reply, with speed control, pause and progress.
★ 0
MIT
JavaScript
Nov 9, 2026
dsh plugin --profile web add dsh-readby svestar
智读 ReadPilot — AI-assisted reading for DeepSeek Harness: TXT, Markdown, EPUB and PDF.
★ 0
MIT
TypeScript
Nov 7, 2026
dsh plugin --profile web add dsh-readpilotby F1star
Adds local PDF reading, a durable paper library, traceable evidence records, and cross-paper comparison and synthesis tools.
★ 6
MIT
JavaScript
Sep 9, 2026
dsh plugin --profile web add @f1star/dsh-researchby 1-CellBio
DeepSeek Harness plugin: turn research PDFs into a citable OKF markdown library, with full-text & semantic search, knowledge graph, and survey writing.
★ 4
↓ 211/wk
TypeScript
Aug 21, 2026
dsh plugin --profile web add dsh-okf