Preface¶
When conducting multi-turn conversations in DSH Web, the message list grows continuously. To revisit a specific user query, view the corresponding model response, or check the sending time, duration, and token throughput, repeated scrolling is often required. dsh-history-tree is a plugin designed for the DSH Web interface, providing a 1:1 conversation timeline dot matrix consistent with Codex, along with a floating history overview card. Below, we introduce its capabilities, installation methods, and how to launch and view it.
What is this¶
The project repository for dsh-history-tree is z953218350/dsh-history-tree. The version in package.json is 1.0.3, the license is MIT, and the author field is DSH Harness Agent.
Its purpose is straightforward: to provide a vertically centered timeline dot matrix on the left side of the DSH Web conversation interface, generating tick marks based on actual user queries, and displaying the user’s query, the model’s final response, and bottom metadata for each turn in a floating card.
Core Features¶
Left-side Timeline Dot Matrix¶
The timeline dot matrix is fixed at the vertical center of the viewport, adjacent to the right boundary of the workspace/sidebar, and does not move with message scrolling. Tick marks are generated based on actual user queries on the right side, excluding artifacts, tool executions, and system placeholder nodes.
When there are too many conversation turns, the dot matrix applies an adaptive maximum height limit and supports smooth scrolling with the mouse wheel.
Floating Overview Card¶
When the mouse hovers over the timeline dot matrix, a staggered wave expansion and zoom animation effect appears. The floating card displays content in a frosted glass style, including:
- User query text
- The model’s final response and explanatory body text
- Single-line bottom metadata: sending time, duration, token throughput
The card content filters out Think, Bash tool executions, and file artifacts.
Click Positioning and Upward History Loading¶
Clicking any tick mark or floating card smoothly scrolls to the corresponding conversation turn.
When the mouse hovers over the top tick mark, or when scrolling upward reaches the top, the plugin automatically loads earlier historical conversations and dynamically extends the timeline dot matrix upward.
Installation and Activation¶
Under DSH’s plugin-based installation method, you can first install using the DSH CLI.
Install Using DSH CLI¶
dsh plugin --profile web add -w dsh-history-tree
Install in the Web Profile Directory¶
Alternatively, you can enter the Web Profile directory and use npm or pnpm:
cd ~/.dsh/profiles/web
npm i dsh-history-tree
Or:
pnpm add -w dsh-history-tree
After completing the steps above, ensure that the dsh.profile.bundles array in ~/.dsh/profiles/web/package.json includes dsh-history-tree.
Install Using Local Source Directory¶
If you are developing the plugin locally, you can add it using the link method:
dsh plugin --profile web add -w "link:/path/to/dsh/plugin/dsh-history-tree"
Replace /path/to/dsh/plugin/dsh-history-tree with your local plugin directory.
Launch and Viewing¶
Start the DSH Web service:
dsh --profile web
Or:
dsh web
Open your browser and visit:
http://127.0.0.1:3080/
Open any conversation with multiple turns, and you will see the vertically centered timeline dot matrix on the left side.
Use Cases and Precautions¶
This plugin is suitable for developers who frequently review multi-turn conversation histories in DSH Web and need to quickly locate specific user queries or model responses.
Before installation, note the following:
- The plugin runs with the permissions of the current
dshprocess. Before installation, you should review the source code and license. - The DSH community directory is an independent site and is not equivalent to the official app store. Third-party plugins require your own review.
- If starting after
addresults in an error indicating duplicate subpackage declarations, check thedsh.profile.bundlesarray in~/.dsh/profiles/web/package.jsonto ensure it only contains the root package and avoids including subcomponent packages. - In
package.json,client.injectdeclares dependencies on@deepseek-ai/dsh-client-runtimeand@deepseek-ai/dsh-client-locale, withplatformset toweb. - In
package.json,dependenciesis an empty object, andpublishConfig.registryishttps://registry.npmjs.org/.
Summary¶
The value of dsh-history-tree lies in transforming DSH Web’s multi-turn conversation history into a visible timeline dot matrix on the left side, providing a context overview through floating cards. It is suitable for scenarios requiring quick review of conversation turns, viewing final responses, and basic metadata.
Repository URL: https://github.com/z953218350/dsh-history-tree