Preface

The extension philosophy of DSH (DeepSeek Harness) is “everything is a plugin”. For the Web client, issues like question recall in long conversations, content column width adjustment, and Markdown title positioning all affect reading efficiency. dsh-chat-tools is a DSH Web client plugin. Its package.json shows version 0.1.0, license MIT, and repository path Free-corner/dsh-chat-tools, which can serve as a maintenance reference. It adds width and position controls and a question history menu in the top-right corner, and provides a Markdown outline bar in the chat area and file preview areas. Below are its features, installation methods, and typical usage.

What is it

dsh-chat-tools is a Web client plugin. In package.json, dsh.client.platform is web, and dsh.bundle.patch is ./cordis.patch.yml. It mainly provides three types of capabilities:

  • Adjust chat content column width by percentage, with support for centered or left-aligned display.
  • Question history with numbering, arranged in conversation order, with support for jumping via buttons or hotkeys.
  • Generate an outline bar for Markdown headers, covering the chat area and file preview areas like better-sidebar.

Core Features

Chat Column Width and Position

Two adjustments can be made in the top-right corner:

  • Width: Use a slider to adjust the chat content column width by percentage. 0% is the default width, 100% fills the content area and avoids the left outline area.
  • Position: Choose to display content centered or to the left. When aligned to the left, it automatically avoids the left outline area and does not overlap.

These settings are automatically saved to the browser’s local storage.

Question History

Question history is located in the “Question History” dropdown menu in the top-right corner. Verified capabilities include:

  • Each question is numbered and arranged in conversation order, with the latest question at the bottom.
  • Automatically locates to the latest question when the menu is opened.
  • Buttons ↑ Previous / ↓ Next are provided at the top, or you can use hotkeys Ctrl+↑ / Ctrl+↓ to jump between questions.
  • Clicking any history item jumps to the corresponding location in the conversation.
  • The left edge of the menu can be dragged to adjust width, and the bottom edge to adjust height; settings are persisted.
  • Question records are persisted per session; they remain after the service restarts. They are saved separately per session ID across sessions.
  • Early content is displayed as “Not Loaded” when not yet loaded. Clicking it paginates and loads earlier content, then jumps to the corresponding position; documentation mentions a limit protection to prevent browser crashes.

Markdown Outline Directory

When content contains Markdown headers, the plugin uses an outline bar to display the structure:

  • Generates a bar for #~###### headers in the current response; the bar length decreases with the header level.
  • Hovering over the outline bar area pops up the full outline.
  • Clicking an outline item jumps to the corresponding header.
  • In Markdown rendering within file previews like better-sidebar, the outline bar appears on the right edge of the preview area with the same functionality.
  • The outline bar is only displayed when the content contains headers; it does not interfere with content without headers.

Installation and Enablement

Manual Installation

The documentation marks the plugin market installation status as “Pending”, so manual installation methods are provided here. First, execute:

dsh plugin --profile web add dsh-chat-tools

This step adds dsh-chat-tools to the web profile.

Then add the following to cordis.patch.yml:

- insert:
    - id: dsh-chat-tools
      name: 'dsh-chat-tools'

This configuration is used to declare the plugin entry.

Finally, restart dsh web for the changes to take effect.

Local Development Installation

If you need to use it in a local development environment, execute:

pnpm add "file:/path/to/dsh-chat-tools"

After that, add the dsh-chat-tools configuration mentioned above to cordis.patch.yml and restart dsh web.

Typical Usage

Adjusting Chat Column Width

  1. Open the DSH Web client.
  2. Use the width slider in the top-right corner to adjust the chat content column width by percentage. 0% is the default width, 100% fills the content area and avoids the left outline area.
  3. Use the position option to select centered or left-aligned display; when aligned to the left, it automatically avoids the left outline area.

Browsing Question History

  1. Open the “Question History” dropdown menu in the top-right corner.
  2. View the list of questions with numbers, arranged in conversation order, with the latest question at the bottom.
  3. When the menu is opened, it automatically locates to the latest question.
  4. Use the ↑ Previous / ↓ Next buttons at the top, or hotkeys Ctrl+↑ / Ctrl+↓ to jump between questions.
  5. Click any history item to jump to the corresponding location in the conversation.
  6. Drag the left edge of the menu to adjust width, and the bottom edge to adjust height; settings are persisted.

Using the Markdown Outline

  1. When the response contains Markdown headers, view the outline bar in the chat area.
  2. Hover over the outline bar area to pop up the full outline.
  3. Click an outline item to jump to the corresponding header.
  4. When viewing Markdown files in file previews like better-sidebar, the outline bar appears on the right edge of the preview area; the operation is the same.

Applicable Scenarios and Notes

It is suitable for the following usage scenarios:

  • Using the DSH Web client to handle long conversations.
  • Needing to frequently recall the position of a specific question.
  • Browsing Markdown title structures in file previews.
  • Preferring to use numbering and hotkeys for navigation.

Notes before use:

  • The plugin market status is marked as “Pending” in the documentation; this article does not cover the one-click installation steps from the market.
  • After manual or local development installation, dsh web must be restarted for the changes to take effect.
  • Settings like width, position, and menu size are automatically saved to the browser locally.
  • Question history is saved separately per session ID; early content is displayed as “Not Loaded” when not loaded, and clicking it paginates and loads earlier content with a limit protection.
  • The outline bar is only displayed when the content contains Markdown headers.
  • The plugin runs in the current dsh client process. Before installing, check the source code, dependencies, and license; this plugin’s license is MIT.
  • The Community Directory is an independent site with no official affiliation with DeepSeek / Moonshot AI, and should not be interpreted as an official app store.

Conclusion

The value of dsh-chat-tools is focused: organizing chat column layout, question history navigation, and Markdown title positioning into fixed controls on the Web client. It is suitable for developers who use the DSH Web client daily and frequently browse long conversations or Markdown files. Verified documentation does not provide a directory page URL; the repository address is:

https://github.com/Free-corner/dsh-chat-tools