Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. When developing agents or engaging in long conversations, developers often need to consolidate key information or context from the current session for quick reference in later sessions. The dsh-notebook plugin integrates this functionality directly into DSH’s official right sidebar, providing a lightweight note-taking and referencing mechanism.
What This Is¶
dsh-notebook is a DSH plugin that runs in the Web environment. It does not depend on third-party UI packages and is mounted directly in DSH’s official right sidebar. The core functionality of the plugin allows users to create note entries containing titles, body text, and images, and to inject this information into the current conversation flow by clicking a title to copy the body text, typing the @ symbol to reference a note, or similar methods.
Core Features¶
Creating and Storing¶
- Basic structure: Each note contains a single-line title, a body area, and an image thumbnail strip. Images are stored as disk files under
$DSH_HOME/storages/notebook-attachments/<noteId>/. - Write mechanism: Supports atomic writes. If
$DSH_HOMEis not writable, the system automatically falls back to in-memory mode, in which case all responses carry thedegraded: truemarker. - Content limits: Only images are supported; video formats are rejected. Image uploads have a size limit (approximately 10MB per file) and a count limit (up to 20 images per note).
Interaction Methods¶
- Copy body text: Clicking a note’s title copies the body text to the clipboard. In the copied content, images are converted into text lines in the format
[image: name], with a word count hint included. - Reference a note: Type
@in the editor to bring up a selectable note list. After selection, only the note’s body content is sent to the model. - Quick save:
- Selected text: Select text in the Composer, and a floating “To notebook” button appears. Click it to save the selected content as a note (the title will be automatically named “Unnamed 1”, “Unnamed 2”, etc.).
- Full response: In the action bar at the end of a response, click the save icon to save the entire response of the current session as a note, using the current session title as the note title.
Installation and Enabling¶
The plugin requires DSH version >=0.2.0-rc.2. Ensure that pnpm is used as the package manager before installing.
dsh plugin --profile web add github:wyzh0117/dsh-notebook
After installation, find the plugin in the + list of the right sidebar and enable it. By default, the sidebar does not open automatically for new sessions; you must manually enable the “Open the notebook for new sessions” option.
Typical Usage¶
- Add a note: Click the
+button in the top-right corner of the sidebar, enter a title and body text, paste images, then pressCmd/Ctrl + Enteror click Done to save. - Copy content: In the note list, click a note’s title to copy its body content to the clipboard, then paste and use it in the Composer.
- Reference context: Type
@in the Composer and select a note from the popup list. The model will read only the note’s body content. - Quick archive: Select a piece of code or text in the Composer, click the floating save button, and convert it into a structured note.
Use Cases and Limitations¶
- Use cases: Developers who frequently need to record technical details, code snippets, or session summaries; users who need to share specific context across multiple sessions.
- Known limitations:
- No rich text editor: Only plain text and images are supported; Markdown or rich text formats are not supported.
- No cloud sync: Data is stored on local disk, with no cloud synchronization provided.
- No version history: Deleted notes cannot be restored.
- Global notes: The note list is globally shared and not tied to a specific session.
Conclusion¶
dsh-notebook provides a lightweight entry point for note-taking and referencing in DSH’s official sidebar. Through local disk storage and an atomic writes mechanism, it offers developers a memory-assistance solution that requires no cloud synchronization and keeps data fully offline.