dsh-bookmark
其他 活跃维护

dsh-bookmark

leilei3167/dsh-bookmark

轻量级书签插件,适配DS网页端,支持对话记录快速收藏、分类检索与一键跳转,界面风格对齐Codex交互逻辑,无需额外配置即可直接启用,优化长对话场景下的回溯效率。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
97 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:leilei3167/dsh-bookmark
git clone https://github.com/leilei3167/dsh-bookmark.git
git clone git@github.com:leilei3167/dsh-bookmark.git
README.md main

dsh-bookmark

English | 简体中文

A Codex-style conversation navigator for the DeepSeek Harness Web UI. It places a compact rail in the gutter beside the conversation, with one marker for each user message. Hover to preview the turn, or click a marker to jump directly to that message.

Features

  • One marker for every user or steering message.
  • Compact 12 px markers that expand with a Codex-style three-level hover cascade.
  • The message nearest the current viewport is highlighted in black.
  • Hover cards show the user-message title and a preview of the following assistant response.
  • Click or use the keyboard to scroll directly to a turn.
  • Automatically follows the selected session, including previously saved conversations.
  • Loads older history through the native DSH session API when necessary.
  • Repositions itself when the sidebar or conversation layout changes.

Installation

Install directly from GitHub:

dsh plugin --profile web add github:leilei3167/dsh-bookmark

Restart the Web profile after installation:

dsh web

To update an existing installation:

dsh plugin --profile web update dsh-bookmark

Then fully stop and restart dsh web so the browser receives the new client bundle.

Usage

  • Hover a marker: expand it and its nearby markers, then show the user prompt and assistant-response preview.
  • Click a marker: smoothly scroll the matching user message into view.
  • Keyboard navigation: focus a marker and use ArrowUp or ArrowDown; Enter and Space use the native button action.
  • Current position: the marker nearest the viewport anchor is shown in black.

Privacy

The plugin runs entirely inside the DSH Web client. It does not read API keys and does not send conversation content to external services. Conversation data is read from the active DSH session snapshot and the already-rendered chat nodes, and is kept in browser memory only.

Development

Requirements: Node.js 22 or newer and pnpm.

pnpm install
pnpm run typecheck
pnpm test
pnpm run build

Install a local checkout for testing:

dsh plugin --profile web add link:/absolute/path/to/dsh-bookmark

Implementation notes

The navigator reads the current conversation from DSH's sessions client service and uses stable [data-chat-anchor-key] / [data-chat-flow-kind] attributes to link each marker to its rendered message. DOM selectors are retained only as a compatibility fallback; hashed host class names are never used.

The generated lib/client.js is wrapped in the DSH window.__ModuleLoader__ format during pnpm run build.

Discovery and releases

The repository uses the deepseek-harness, dsh, and dsh-plugin GitHub topics so DSH plugin discovery tools can find it. Before publishing an npm release, verify a clean install and then run:

npm publish --access public

License

MIT