Bundle
dsh-conversation-outline
Codex-style conversation outline for DeepSeek Harness: a floating panel listing every user question in the current conversation with search, load-older and click-to-jump (scroll + highlight). Bilingual zh-CN / en.
- Source
- lzbaclz
- stars
- 7 stars
- License
- MIT
- Updated
- Updated 5 days ago
Readme
# dsh-conversation-outline  [](https://www.npmjs.com/package/dsh-conversation-outline) [](LICENSE) [](https://nodejs.org/) [](https://github.com/lzbaclz/dsh-conversation-outline) [](https://github.com/deepseek-ai/DeepSeek-Harness) [简体中文](README.zh.md) · [Usage](docs/usage.md) · [Troubleshooting](docs/troubleshooting.md) · [Security](docs/security.md) · [Publishing Guide](docs/publishing-guide.md) · [Design Spec](docs/implementation-spec.md) **Find any question. Jump to any answer.** Long agent conversations scroll forever. `dsh-conversation-outline` is a Codex-style **conversation outline** for [DeepSeek Harness](https://github.com/deepseek-ai/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](https://github.com/deepseek-ai/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 `. ```sh # 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: ```sh 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](docs/usage.md). Something's not showing up? [Troubleshooting](docs/troubleshooting.md). ## Preview > Real-screenshot placeholder: after installing, drop a screenshot of the rail + panel > at `assets/ui.png` and it will appear here.  ## Development ```sh 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](docs/implementation-spec.md). ## Talk to us Issues are welcome any time: [open one](https://github.com/lzbaclz/dsh-conversation-outline/issues). Questions, feature ideas, screenshots of what you built with it — all good. ## License MIT — see [LICENSE](LICENSE). Client-only plugin: no telemetry, no extra network calls ([security notes](docs/security.md)).
Install
dsh plugin --profile web add github:lzbaclz/dsh-conversation-outline#76a897cdea1fea25ec76edb4088d23e5de66e333
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-conversation-outline from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.