Introduction¶
In DeepSeek Harness (DSH), when chatting back and forth with the assistant, you often encounter situations like “I might need this response later”: a reusable piece of code, a troubleshooting approach, or a key conclusion from a conversation. Common practices involve copying to note-taking software or relying on session titles and search— the former adds an extra manual step, while the latter often fails to precisely locate a specific message.
This introduces dsh-bookmarks (maintained by penguin-oo). It is a bookmark plugin for the DSH Web UI, categorized as a “memory” tool. It allows you to bookmark completed assistant replies, add notes and tags, and then browse, search, and export these bookmarks across sessions in a unified panel.
What It Is¶
dsh-bookmarks provides DSH with the ability to “bookmark assistant replies by message”: it adds an archive button next to each finalized assistant reply, which can be accompanied by notes and comma-separated tags. All bookmarks are aggregated into a central panel that supports full-text search, tag filtering, inline editing and deletion, and one-click export to Markdown.
The plugin is currently at version 0.1.2, licensed under MIT, and has about 12 stars on GitHub. It integrates with the Web profile (web profile) via DSH’s plugin mechanism and does not depend on DeepSeek or High-Flyer’s official app store. Its community directory page can be found at SkillHub.
Core Features¶
Single Message Bookmarking¶
To the right of each completed assistant reply (next to the 👍/👎 feedback buttons), an archive button appears. Clicking it allows you to inline edit notes and tags (comma-separated). Even without adding notes, the bookmark will save a text preview (snippet) derived from the actual reply on the server side, which can still be browsed in the central panel.
Cross-Session Bookmark Center¶
The bottom of the sidebar provides an entry point to the central panel, which aggregates bookmarks from all conversations and workspaces, supporting:
- Full-text search
- Filtering by tags
- Inline editing and deletion
- One-click jump to the corresponding conversation by clicking an entry
Press Alt+B at any time to toggle the central panel display. When the sidebar is collapsed, this shortcut can be used to open the panel.
Markdown Export¶
The central panel supports one-click export, downloading a file named dsh-bookmarks.md, which is convenient for archiving or migrating to other note-taking tools.
Write Safety¶
Bookmark data is persisted via the DSH storage domain, using per-item compare-and-set version numbers (safe across multiple tabs) and server-side validation. The write strategy aligns with the durability barriers of the official message-feedback.
Installation and Enablement¶
Execute the following in an environment where the DSH CLI is installed:
dsh plugin --profile web add dsh-bookmarks
Then restart the DSH Web UI:
dsh web
The plugin will automatically be appended to the profile bundle layer, requiring no additional configuration.
If installing from a local repository directory (for development or testing):
# Execute in the root directory of the plugin repository
dsh plugin --profile web add file:./
Configuration Options¶
You can override the following limits in the profile patch layer ($DSH_HOME/profiles/web/cordis.patch.yml). All are optional:
| Configuration Item | Default Value | Description |
|---|---|---|
maxNoteBytes |
4096 |
Maximum UTF-8 bytes for a single note ("" clears the note; omitting the field retains the original value) |
maxSnippetChars |
300 |
Maximum characters for the server-derived reply preview |
maxTags |
8 |
Maximum tags per bookmark; each tag ≤ 32 characters, trimmed and deduplicated |
Example:
- id: bookmarks
config:
maxNoteBytes: 2048
maxSnippetChars: 200
maxTags: 5
Typical Usage¶
- After installing and restarting
dsh web, open any conversation and wait for the assistant to finish replying. - Click the archive button to the right of the target reply, fill in notes and tags (e.g.,
troubleshooting,nginx), and save. - Press
Alt+Bor click the entry at the bottom of the sidebar to open the Bookmark Center, then use search or tag filtering to locate entries. - When offline archiving is needed, one-click export
dsh-bookmarks.mdfrom the central panel. - Clicking a bookmark jumps to its associated conversation (the current version jumps to the conversation level and does not automatically scroll to the specific message).
Implementation Overview¶
The plugin is carried by a single npm package with two ends:
- Host Side (
lib/index.js): ThebookmarksRemote service (Typert), with the data table located at$DSH_HOME/storages/bookmarks.json.putreads the persistent conversation log to verify the target reply and generate a snippet. - Browser Side (
src/client, packaged aslib/client.js): Mounts the Remote viactx.remote.$mountand registers two UI slots:conversation.chat.assistant-actions(single message buttons) andsidebar.footer.action(central panel toggle).
Use Cases and Notes¶
Suitable for:
- Long-term debugging or drafting in DSH, where scattered high-quality replies need to be consolidated
- Parallel sessions, where you want to retrieve historical points via tags or keywords in one panel
- Batch exporting bookmarks to Markdown for secondary organization
Notes:
- Bookmarks are stored in a single global row, suitable for personal use and not as multi-user shared storage.
- The central panel jumps to the conversation where the bookmark is located but currently does not support scrolling to the specific message.
- The plugin runs with the permissions of the current
dshprocess. It is recommended to review the source code and the MIT license before installation. - The DSH ecosystem follows the “everything is a plugin” philosophy; community directories like SkillHub are independent sites and have no official affiliation with DeepSeek or High-Flyer.
Conclusion¶
dsh-bookmarks turns “bookmarking an assistant reply” into a first-class operation within DSH: single-message tagging, cross-session retrieval, and one-click export, reducing the costs of copying-pasting and digging through conversations. Directory page: SkillHub - dsh-bookmarks; source code and documentation: GitHub - penguin-oo/dsh-bookmarks.