Introduction

When handling long conversations in DeepSeek Harness Web (npx @deepseek-ai/dsh web), users often need to scroll repeatedly to locate context or understand the flow of the conversation. The dsh-conversation-outline plugin registers a “Conversation Outline” tab in the DSH-better-sidebar sidebar, displays the current session structured by turns, generates an LLM title for each turn, and supports one-click navigation.

Plugin Overview

  • Name: dsh-conversation-outline
  • Maintainer: YesSanSan
  • Positioning: Static DSH Web plugin
  • License: MIT
  • Core value: Provides a session structure overview and fast navigation, reducing the need to scroll.

Core Features

  1. Turn-based structural outline
    The plugin groups the current session by turns and displays user messages, assistant replies, tool calls (consecutive calls are automatically merged into collapsible groups), compaction checkpoints, and error lines.

  2. One-click navigation
    Click any entry in the outline to automatically load the history and scroll to the corresponding line in the chat view or trace view.

  3. LLM one-sentence titles
    Titles are generated using the Host’s llm.stream interface (without creating a subagent), cached by content fingerprint, and reused when the branch session prefix is identical.

  4. Fully parallel title generation
    Finished turns generate titles immediately, even if the agent is still processing subsequent turns; only the currently in-progress turn waits for the turn to complete.

  5. Configurable
    The title model, reasoning level, concurrency, single-attempt timeout, failure retries, and disable toggle are all persisted in the gear settings.

  6. Narrow panel auto-collapsing
    When the panel width is ≤360px, inline type labels automatically collapse from text to icons (hover reveals the text), consistent with the trace view behavior.

Install and Enable

Install directly to the web profile; no manual clone is required:

npx @deepseek-ai/dsh plugin --profile web add github:YesSanSan/dsh-conversation-outline#main

Restart DSH:

npx @deepseek-ai/dsh web

Open the + menu in better-sidebar and select “Conversation Outline”.

Configuration

Configuration is persisted to pluginSettings['conversation-outline'] in better-sidebar.

Key Default Range Meaning
model '' — Title model; empty = follow the main session model
reasoningEffort '' off / low / medium / high / max Reasoning level; empty = follow the session
maxConcurrency 3 1–8 Number of client-side workers for concurrently generating titles
timeoutSeconds 60 5–300 Timeout for a single attempt; applies to the entire attempt
maxRetries 2 0–5 Number of failure retries (backoff starts at 0.8s, capped at 5s)
disabled false — Completely disable title generation

Permissions and Data

  • Session logs: The Host uses ctx.sessionQuery (readSession / listEvents) to read the current session logs and build the outline; it does not write back.
  • LLM calls: Title generation sends only the visible text of the current turn (user + assistant blocks, with tool calls removed and truncated) to the configured model route.
  • Browser storage: Titles are cached in localStorage (dsh-conversation-outline-titles:v1).
  • Network access: No network access occurs other than to the configured model provider.

Notes

  • Dependency version: The plugin depends on dsh-better-sidebar v0.12.0+ (requires support for settings.render and pluginSettings). The dsh-better-sidebar package on npm may still be 0.11.0; to use the v0.12.0 features, build from source and link it to the profile.
  • Process restart: After installing or updating, you must fully restart npx @deepseek-ai/dsh web for changes to take effect.
  • Security feedback: Report security issues privately via Issues, or contact the author by email before public disclosure.

Ecosystem Location

  • GitHub: https://github.com/YesSanSan/dsh-conversation-outline
  • Ecosystem directory: https://www.skillhub.cn/plugins/YesSanSan/dsh-conversation-outline