lzbaclz / dsh-conversation-outline

Listed

Codex-style conversation outline for DeepSeek Harness Web: a right-edge rail with hover preview and click-to-jump

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:lzbaclz/dsh-conversation-outline

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 76a897cSynced Aug 18, 2026

dsh-conversation-outline

banner

npm license node stars dsh plugin

简体中文 · Usage · Troubleshooting · Security · Publishing Guide · Design Spec

Find any question. Jump to any answer.

Long agent conversations scroll forever. dsh-conversation-outline is a Codex-style conversation outline for DeepSeek Harness Web: a slim, always-visible right-edge rail — one bar per question, like a minimap of the conversation — that expands on hover into a preview panel of every question's opening words. Click a bar or a row and you are teleported to that message in the Chat view, with a flash highlight so you cannot miss it. Bilingual zh-CN / en.

Highlights

  • Right-edge rail (minimap) — thin, pinned to the right edge, one bar per question in chronological order. Out of the way while you read; >60 questions fold into a +N marker.
  • Hover to preview — hover the rail and the panel slides out with each question's opening words (single-line truncated), #turn badge and HH:MM time. Collapses 240 ms after you move away; tap-to-pin on touch, Esc closes. Pure overlay — your content never shifts.
  • Click-to-jump — switches to the Chat view (even from Trajectory), scrolls to the message and flashes it for 1.8 s. Respects prefers-reduced-motion.
  • Search & load older — case-insensitive filtering, plus paging into older history.
  • Live — new questions appear while the session runs; follows the current session and collapses on switch.
  • Zero dependencies at runtime — the browser bundle imports only React (the platform modules); everything else is inlined and purity-checked at build time.

Install

Prerequisites: DeepSeek Harness (dsh available); Node.js ^22.19 or >=24; pnpm 10+. If you run DSH via npx, prefix the commands with npx -p @deepseek-ai/dsh .

# 1) GitHub (works right now — recommended)
dsh plugin --profile web add github:lzbaclz/dsh-conversation-outline

# 2) npm (available once the package is published to the npm registry)
dsh plugin --profile web add dsh-conversation-outline

# 3) from source (local development)
git clone https://github.com/lzbaclz/dsh-conversation-outline.git
cd dsh-conversation-outline
pnpm install && pnpm dev:types && pnpm build
dsh plugin --profile web add "link:$(pwd)"

Zero build scripts on the GitHub path: the built lib/ is committed to this repo (.gitignore deliberately does not ignore it), so a github: install fetches ready-to-load artifacts — no prepare script, no profile allowBuilds configuration. If the npm command reports package not found, the package has not been published yet — use the GitHub path above.

After installing: restart the DSH Web service and refresh the page (link: installs just need a page refresh after pnpm build). Confirm with:

dsh plugin --profile web list

Upgrade with the same add command (optionally pin a version: dsh-conversation-outline@0.1.0).

Usage

Install, restart, open any session that already has messages — a thin strip appears on the right edge. Hover it to preview questions, click a bar or a row to jump, search to filter, Load older to page through history. Full walkthrough: docs/usage.md. Something's not showing up? Troubleshooting.

Preview

Real-screenshot placeholder: after installing, drop a screenshot of the rail + panel at assets/ui.png and it will appear here.

Conversation outline

Development

pnpm dev:types   # symlink @deepseek-ai type packages (one-time)
pnpm typecheck   # host + client dual tsc programs
pnpm build       # tsc(host) → tsc(client) → tsdown bundles lib/client.js
pnpm verify      # offline smoke: manifest/exports/patch/bundle shape + pure-logic asserts

Client-only changes hot-reload: pnpm exec tsdown --watch rewrites lib/client.js, and the DSH client HMR chain (or a plain page refresh) picks it up. Host/manifest changes need a service restart. Scratch-profile testing recipe: docs/implementation-spec.md §4.2.

Talk to us

Issues are welcome any time: open one. Questions, feature ideas, screenshots of what you built with it — all good.

License

MIT — see LICENSE. Client-only plugin: no telemetry, no extra network calls (security notes).

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

Security policyDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 17, 2026, 12:15 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.