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/↓ Nextare provided at the top, or you can use hotkeysCtrl+↑/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¶
- Open the DSH Web client.
- 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. - 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¶
- Open the “Question History” dropdown menu in the top-right corner.
- View the list of questions with numbers, arranged in conversation order, with the latest question at the bottom.
- When the menu is opened, it automatically locates to the latest question.
- Use the
↑ Previous/↓ Nextbuttons at the top, or hotkeysCtrl+↑/Ctrl+↓to jump between questions. - Click any history item to jump to the corresponding location in the conversation.
- Drag the left edge of the menu to adjust width, and the bottom edge to adjust height; settings are persisted.
Using the Markdown Outline¶
- When the response contains Markdown headers, view the outline bar in the chat area.
- Hover over the outline bar area to pop up the full outline.
- Click an outline item to jump to the corresponding header.
- 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 webmust 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
dshclient process. Before installing, check the source code, dependencies, and license; this plugin’s license isMIT. - 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