dsh-bookmarks: A Bookmark Assistant Plugin for DeepSeek Harness
penguin-oo/dsh-bookmarks
DSH plugin to bookmark assistant replies with notes/tags, a cross-session center, and one-click Markdown export.
Adds bookmarking to the DeepSeek Harness Web UI, letting you note and tag important replies and manage them in a cross-session panel.
dsh plugin --profile web add github:penguin-oo/dsh-bookmarks- Category
- Sessions & Messages
- Platform
- DSH-Plugin
- Author
- penguin-oo
- Distribution
- Plugin
dsh-bookmarks Key Features
dsh-bookmarks Repository

dsh-bookmarks Repo Summary
dsh-bookmarks is a DeepSeek Harness (DSH) plugin that adds bookmark assistant capabilities to the Web UI. It solves the problem of losing track of important replies in conversations: you can bookmark any finalized assistant reply with a note and tags, browse all bookmarks from every session in a central panel, and export them to Markdown in one click. Core features include a per-message bookmark button (next to the 👍/👎 feedback buttons), server-derived reply snippets, a cross-session center panel with full-text search, tag filtering, inline editing and deletion, one-click jump back to the original session, an Alt+B keyboard shortcut to toggle the panel, and safe writes via compare-and-set with version tokens (multi-tab safe).
What core features does the dsh-bookmarks DSH plugin support?
- Per-message bookmark — an archive button on each finalized assistant reply, with an inline editor for a note and comma-separated tags.
- Server-derived snippet — the bookmark stores a text preview of the actual reply, so the center stays useful even without a note.
- Cross-session center — one panel listing bookmarks from all sessions and workspaces, with full-text search, tag filter, inline editing and deletion.
- Jump back — every entry opens its session in one click.
- Markdown export — one click downloads all bookmarks as
dsh-bookmarks.md. - Keyboard —
Alt+Btoggles the center from anywhere. - Safe writes — per-item compare-and-set versions (multi-tab safe), server-side validation, and durable storage via the DSH storage domain.
How do I install dsh-bookmarks?
Run the following command in your DSH environment:
dsh plugin --profile web add github:penguin-oo/dsh-bookmarks
Then restart DSH (dsh web). The plugin appends itself to the profile bundle layer automatically; nothing else to configure. For a local checkout, use dsh plugin --profile web add file:./ from the plugin repo.
What configuration options does dsh-bookmarks support?
The plugin exposes three optional limits, which can be overridden in the profile patch layer ($DSH_HOME/profiles/web/cordis.patch.yml):
| Key | Default | Meaning |
|---|---|---|
maxNoteBytes | 4096 | Max UTF-8 bytes of one note ("" clears a note; omitting the field keeps it). |
maxSnippetChars | 300 | Max characters of the server-derived reply snippet. |
maxTags | 8 | Max tags per bookmark; each tag ≤ 32 chars, trimmed and deduplicated. |
How does dsh-bookmarks work internally?
One npm package hosts both halves of the plugin. The host half (lib/index.js) implements the bookmarks Remote service (Typert), backed by a storage-domain table ($DSH_HOME/storages/bookmarks.json). The put operation inspects the persisted session log to validate the target reply and derive its snippet, mirrors the official message-feedback durability barrier, and serializes mutations with per-item version tokens. The browser half (src/client, bundled to lib/client.js) mounts the Remote contribution through ctx.remote.$mount, then registers two UI slots: conversation.chat.assistant-actions (the per-message button) and sidebar.footer.action (the center toggle).
What are the limitations and notes for dsh-bookmarks?
Bookmarks are stored in one global row: fine for personal use, not a shared multi-user store. The center panel jumps to the bookmarked session; it does not auto-scroll to the exact message yet. The panel toggle lives in the sidebar footer; use Alt+B when the sidebar is collapsed. The project is maintained by penguin-oo, licensed under MIT, and last updated in 2026-08.