deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
AbelKeithsun/dsh-question-nav
In-session question minimap for the DeepSeek Harness Web GUI: a vertical column of round dots overlaid on the left edge of the conversation column, one dot per user question — hover enlarges and shows full text, click jumps to that message.
PROJECT TOPICS
PROJECT README
In-session question navigator for the DeepSeek Harness (DSH) Web GUI: a vertical column of small round dots overlaid on the left edge of the conversation column — one dot per user question. Hover a dot to magnify it (together with its two neighbors on each side) and reveal a vertical cascade of crisp question cards with each question's full text and sent time (clicking any card jumps to it); click a dot to scroll the chat to that question.
It is an external plugin bundle with zero runtime dependencies — the browser
half (lib/client.js) externalizes everything to the DSH shell, so it adds
only a small bundle to the GUI at load time.
Package: @luziyang2026/dsh-question-nav (npm · GitHub).

Plugin settings (rail alignment + dots per page):

questionIndex session projection — the projection
registry folds the whole event log (read-only, the chat's paged window is
never touched), the official projection cache persists it across restarts,
and push frames deliver new questions live.HH:MM on the same day,
MM-DD HH:MM across days, YYYY-MM-DD HH:MM across years). The hierarchy
is two-tier: the center card is the focus — full-contrast text, a brand
accent bar and a raised shadow — while the four neighbors are clean
context cards (same surface, narrower, fewer lines) that light up on
hover to show they are clickable too. Clicking any card jumps to that
question exactly like clicking its dot.loadOlder()) to bring that specific page into view — never the
whole history up front.dsh CLI).>= 20 (matches the DSH SDK peer range).The package publishes two lines under the same name, so pick the one that matches the DSH build your GUI runs on:
| npm dist-tag | Version | Targets the DSH | Status |
|---|---|---|---|
latest |
0.7.x |
0.1.1-rc.1 SDK line |
Stable — recommended for everyday use |
alpha |
0.8.0-alpha.x |
0.1.2-alpha.2 SDK line |
Alpha — for the Alpha GUI build |
latest (stable) line — it tracks the stable DSH
release and is safe for daily use.0.1.2-alpha.2)? Install the alpha
dist-tag instead. The stable build reads a chat snapshot API
(session.getSnapshot().chat) that was removed in the Alpha SDK; the
alpha build reads the live chat through the new conversation service
instead. Installing the stable line on an Alpha GUI would leave the strip
degraded (projection-only dots).dsh --version; if it reports 0.1.1-rc.x, use latest; if it reports
0.1.2-alpha.x, use alpha.Install the prebuilt package from npm and add it to a profile. Use the dist-tag that matches your DSH build (see above):
Stable line (DSH 0.1.1-rc.1, most users):
dsh plugin --profile web add @luziyang2026/dsh-question-nav # latest → 0.7.x
Alpha line (DSH 0.1.2-alpha.2 GUI):
dsh plugin --profile web add @luziyang2026/dsh-question-nav@alpha # alpha → 0.8.0-alpha.x
If you prefer a specific version, pin it explicitly:
dsh plugin --profile web add @luziyang2026/dsh-question-nav@0.7.7 # stable pin
dsh plugin --profile web add @luziyang2026/dsh-question-nav@0.8.0-alpha.0 # alpha pin
Then restart the DSH Web GUI to load the new bundle.
This repository is a standalone plugin project — build it, then add the checkout to a profile as an installable bundle:
pnpm install # install devDependencies (DSH SDK peers, tsdown, vitest)
pnpm build # tsc declarations + tsdown client bundle -> lib/
dsh plugin --profile web add ./dsh-question-nav
pnpm typecheck # tsc --noEmit
pnpm test # vitest run
pnpm build # build host lib/index.js + client lib/client.js
The client half uses the shared DSH client-bundle preset
(tsdown.client.ts, vendored into this repo), which emits
a window.__ModuleLoader__.load({ id, factory }) closure-factory
artifact with CSS Modules inlined and externals resolved through the loader
module table.
MIT.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。