Back to home@leilei3167

dsh-bookmark

Codex-style conversation navigator for the DeepSeek Harness web UI

Stars
0
Language
JavaScript
Created
Aug 17, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

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