Introduction¶
DeepSeek Harness (DSH) adopts a plugin-based architecture. When developing or using agents, documents, spreadsheets, images, and other outputs from each conversation and project are often scattered across different places, making them difficult to retrieve and manage uniformly. dsh-library is a local asset library plugin designed to consolidate all outputs into one place for browsing and searching, and to allow the assistant to reference them via paths.
Core Capabilities¶
- Three-pane layout: The left side is a directory tree, the middle is a file list (supporting switching between grid and list views), and the right side is a content preview. The overall visual style remains consistent with DSH native pages.
- Full-library search: Supports full-text search by file name, path, tag, and notes. It also provides three sets of filter chips for type, directory, and tags; the counts update in real time according to the filtering criteria.
- Direct document preview: Supports viewing Markdown, Excel (.xlsx/.csv/.tsv), Word (.docx), JSON, and code files inline within the page, without downloading.
- Tags and notes: Each item can be tagged and annotated. Batch annotation is supported, with up to 2,000 items at a time.
- Multiple ways to add items: Supports dragging files into the page, selecting files through the system file picker, creating new documents/folders, and importing from a directory.
- Assistant permission control: The assistant can save new outputs to the library, but cannot modify, move, or delete existing items. The authority to organize the library remains with the user.
- Zero third-party dependencies: At runtime, it depends only on Node built-in modules and platform components provided by DSH itself. xlsx/docx parsing is based on a hand-written minimal zip reader built on node:zlib.
Installation and Enablement¶
- Install the plugin
& 'F:\DSH\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop add 'D:\dsh-library'
-
Edit
package.json
Edit thepackage.jsonfile in the plugin directory and complete the following two steps:- Change the dependency specifier from
link:tofile:(thefile:specifier lets pnpm copy it into a physical directory, ensuring a complete resolution chain). - Add
dsh-libraryto thedsh.profile.bundlesarray — without this line, the plugin will not enter the combined configuration tree.
- Change the dependency specifier from
-
Run the installation
& 'F:\DSH\resources\runtime\cli\bin\dsh.cmd' plugin --profile desktop install
- Restart DSH
After restarting, the installation is successful when the “Library” entry appears in the sidebar.
Usage Examples¶
- Collect outputs: Consolidate the outputs of every conversation and every project into one place: documents, spreadsheets, images, audio/video, links, and attachments.
- Configure the plugin: Edit
package.jsonto adjust the bundle configuration. - Run tests: Run
npm testto execute five offline test suites.
Notes¶
- Assistant permission limits: The assistant can only save new outputs to the library and cannot modify, move, or delete existing items.
- Runtime dependencies: At runtime, it depends only on Node built-in modules and platform components provided by DSH itself.
- Document parsing: xlsx/docx parsing is based on a hand-written minimal zip reader built on node:zlib.
- Ingestion strategy: The four ingestion endpoints only add new items and do not overwrite existing ones.
Plugin Address¶
- GitHub: https://github.com/Hnqhj/dsh-library
- Catalog: https://www.skillhub.cn/plugins/Hnqhj/dsh-library