penguin-oo/dsh-bookmarks

Bookmark assistant replies in DeepSeek Harness: per-message bookmarks with notes/tags, a cross-session center, and one-click Markdown export.

Bundle 已验证 MIT JavaScript 未知
Bundle 已验证

已收录

9

Session

Bundle 已验证

版本未知
语言JavaScript
许可证MIT
在 GitHub 查看

预览

第 1 个预览,共 2 个:penguin-oo/dsh-bookmarks
第 2 个预览,共 2 个:penguin-oo/dsh-bookmarks

功能介绍

收藏 AI 回复(备注/标签),跨会话收藏中心(搜索/筛选/跳回会话),一键导出 Markdown。

适合

  • 需要跨会话、跨工作区保留有用已完成 Assistant 回复的研究人员和开发者。
  • 希望用备注、标签、全文搜索和标签筛选整理收藏回复的用户。
  • 需要把收集的 Assistant 回复导出为 Markdown 的工作流。

不适合

  • 多人共享的收藏库;其存储采用面向个人使用的单个全局记录。
  • 要求直接定位到被收藏消息的工作流;当前只能跳转到对应会话。
  • 需要收藏未完成 Assistant 输出或任意非 Assistant 内容的用户。

README

dsh-bookmarks

Awesome DSH Plugin ci

Bookmark assistant replies in DeepSeek Harness (DSH) Web UI: bookmark any finalized assistant reply with a note and tags, browse every bookmark from every session in one center panel, and export them to Markdown in one click.

中文说明

Screenshots

Bookmark action on an assistant reply

The standalone bookmark center

Features

  • Per-message bookmark — an archive button on each finalized assistant reply (right next to the 👍/👎 feedback buttons), 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+B toggles 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.

Install

dsh plugin --profile web add 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:

# from the plugin repo
dsh plugin --profile web add file:./        # relative file spec, anchored to your cwd

Config

The bundle row exposes three limits (all optional):

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.

Override them in the profile patch layer ($DSH_HOME/profiles/web/cordis.patch.yml):

- id: bookmarks
  config:
    maxNoteBytes: 2048
    maxSnippetChars: 200
    maxTags: 5

How it works

One npm package hosts both halves of the plugin:

  • Host half (lib/index.js) — the bookmarks Remote service (Typert), backed by a storage-domain table ($DSH_HOME/storages/bookmarks.json). put 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.
  • 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).

Development

npm install            # zod + esbuild (dev only)
npm run build          # bundles src/client into lib/client.js

lib/client.js is committed and shipped; no build step runs on install.

Limitations

  • 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.

License

MIT

Acknowledgements

This project is promoted on the LINUX DO community.

常见问题常见问题

在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:penguin-oo/dsh-bookmarks。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。