Zum Hauptinhalt springen
L

dsh-question-index

lijinhao315/dsh-question-index

Frageindex: eine geordnete, einklappbare Liste deiner gestellten Fragen, die rechts neben der Konversation schwebt; klicke auf eine Frage, um die Sitzung an diese Stelle zu springen. Indiziert beim Öffnen automatisch den vollständigen Verlauf jeder Sitzung, speichert ihn lokal und springt zu älteren Fragen, indem das Fenster bei Bedarf erweitert wird.

Installation

dsh plugin --profile web add github:lijinhao315/dsh-question-index

README

dsh-question-index

DSH Web 客户端插件:提问索引(Question Index)。在会话右侧悬浮展示「用户提过的问题」的按序列表,可收起;点击某条问题即可把会话滚动跳转到对应的提问位置。

A DSH client plugin that floats an ordered, collapsible list of the user's asked questions on the right side of the conversation, with click-to-jump into the flow.

What it does

  • A shell.overlay entry (root scope, floating layer) declares the session-level seat question-index.panel.
  • The panel reads the current session's chat snapshot, walks nodes in chat.order order, keeps only user / steering question nodes, extracts their text blocks ({ type: 'text' } content) and renders an ordered list.
  • Clicking an item scrolls the conversation to that question via data-chat-anchor-key inside [data-conversation-scroll] (same anchor logic as ChatView).
  • The panel collapses to a slim right-edge strip and expands again; the collapse state persists across session switches.

Features

  • Ordered question list (numbered from 1) for the active session
  • Click-to-jump into the conversation flow
  • Collapsible floating panel anchored to the right of the conversation
  • Collapse state preserved across session switches
  • Empty state: "No questions yet" when the session has no user questions
  • Localized (English / Simplified Chinese)
  • Auto-indexes full history: opening a session automatically pages through its complete history, so old or never-visited sessions get every question in the index with no manual scrolling.
  • Durable local memory: the index is persisted to localStorage, so it survives page reloads and reopens.

Install

# from npm (recommended: prebuilt, no build-approval step)
dsh plugin --profile web add dsh-question-index

# or from GitHub source
dsh plugin --profile web add github:lijinhao315/dsh-question-index

Development

npm install
npm run build   # tsc -p tsconfig.json && tsdown

Outputs lib/index.js (node half), lib/invariant.js, lib/client.js (browser half).

Known limitations

  • Click-to-jump requires the target row to be rendered (data-chat-anchor-key present in the DOM); unrendered rows are skipped.
  • Long entries render as a single truncated line; the full text is always visible in the conversation body.

Architecture

See docs/architecture.md for how the plugin wires into the DSH shell (overlay seat, panel contribution, module-table externals).

License

MIT

Ähnliche Plugins