Introduction¶
When performing continuous conversations in DSH Web, the reading focus is easily disrupted if the middle dialogue flow is filled with tool call cards. On the other hand, during development, it is often necessary to view files, git status, and branches in the current session workspace, as well as the balance or usage of the current model source.
Below is an introduction to dHR-P/dsh-layout-tools. It is a layout plugin for DSH Web. Its core goal is to organize the middle dialogue flow more cleanly, provide a workspace file tree with git status on the left, and supplement balance/usage information in the bottom status bar.
What is it¶
dHR-P/dsh-layout-tools is maintained by dHR-P and is licensed under MIT. It supports the web profile and primarily solves two problems:
- The middle dialogue flow keeps only AI text output, and tool call cards no longer appear, but the model’s thinking process can still be expanded for viewing.
- The left panel displays the current session workspace file tree, with files colored by git status, and the top displays the current branch.
This plugin no longer includes a tool panel; details of tool calls are suggested to continue using the DSH official trace view.
Core Features¶
Dialogue Flow Purification¶
The middle dialogue flow keeps only AI text output. Tool call cards are hidden via the official slot mechanism shadow + CSS, no longer appearing in the dialogue area.
Thinking Process Display¶
When the model outputs, Thinking / Think lines appear in the dialogue area, which are clickable to expand the full content. This uses the official ReasoningRow component, not an extra right-side panel.
Left Workspace File Tree¶
The left panel displays the directory tree of the current session workspace:
- Click on a directory to lazy-load expand or collapse subdirectories.
- Skip
.git/node_modules. - Top displays the current branch.
- File names are colored by git status:
MModified,AAdded,DDeleted,RRenamed,??Untracked,UConflict. - Directories containing changes are highlighted in red.
- Git coloring refreshes automatically when switching branches and files change.
The panel header provides two buttons:
⟳: Refresh file tree and git status.«: Collapse panel.
Click File to Open¶
Clicking a file opens it with the system default program, behaving similarly to double-clicking a file in Windows Explorer.
Note here: open-file calls system ShellExecute via cmd /c start, and is only available on Windows.
Dialogue Font Size Adjustment¶
A− / A+ buttons are provided in the bottom right to adjust the dialogue area font size, ranging from 12–28px. This setting only applies to dialogue flow nodes.
Sidebar Session Status Coloring¶
Session entries in the left workspace list follow the official status dot coloring for the entire row:
- Conversation ended: Green background.
- Waiting for reply: Yellow background.
- Running: Blue background.
- Error: Red background.
This coloring only applies to the range of the official session row itself, following the official row’s dimensions and border radius.
Bottom Status Bar¶
At the bottom of the dialogue area, below the input box, a line of statistical information is displayed. This shares the position with the official StatsLine, rendered into the official container via portal to replace it.
Main content includes:
- Balance/usage of the currently selected model source, replacing the original “round/step” count.
- Retains time elapsed, speed, and token statistics.
- Click
⟳to refresh balance.
When refreshing balance, the key is only read from ~/.dsh/.credentials.yaml on the host side.
Panel Visibility¶
Window width determines the default state of the left panel:
- Window width
> 1700px: The left panel expands automatically. - Window width
≤ 1700px: The panel is hidden to avoid squeezing the dialogue area. - For temporary viewing, click the
▶handle at the screen edge to expand.
Installation and Enablement¶
Prerequisites:
- DSH is installed and
dsh webis runnable. - Node.js ≥ 22.
- pnpm ≥ 10.
Install command:
dsh plugin --profile web add "github:dHR-P/dsh-layout-tools"
After installation, restart dsh web and refresh the page to take effect.
Typical Usage¶
Below is a common usage path.
- When the window is wide enough, the left file tree appears automatically.
- Click
⟳at the top of the left panel to refresh file tree and git status. - Click on a directory to lazy-load expand subdirectories.
- Click on a file to open it with the system default program; this capability depends on
cmd /c startunder Windows. - When the model outputs thinking content, click the
Thinking/Thinkline in the dialogue area to expand the full content. - Use
A−/A+in the bottom right to adjust the dialogue font size. - Click
⟳in the bottom status bar to refresh the balance/usage of the current model source. - After the window narrows, the left panel hides; if needed, click the edge
▶handle to temporarily expand.
If the window is narrow, it is recommended to prioritize the dialogue area width and only temporarily expand the sidebar when needing to view the file tree.
Local Debugging¶
Use link for local debugging; changes take effect after refresh:
dsh plugin --profile web add link:/absolute/path/dsh-layout-tools
Uninstall¶
Uninstall command:
dsh plugin --profile web remove dsh-layout-tools
Restart dsh web after uninstalling to completely restore the official layout.
Compatibility and Implementation Boundaries¶
dHR-P/dsh-layout-tools’s peerDependencies pins ^0.1.0-rc.6. Based on verified data, this plugin was developed and verified on @deepseek-ai/dsh 0.1.0-rc.6, and currently runs normally with 0.1.1-rc.2; other version lines are not guaranteed. Before upgrading DSH, it is recommended to verify in an isolated environment.
This plugin’s implementation relies on stable markers of the official UI, including:
data-chat-flow-kind
data-variant="think"
conversation.chat.node
conversation.input.dock
If the official UI later upgrades and adjusts these markers, this plugin may become ineffective.
The following routes are provided on the host side:
/dsh-layout/fs-list
/dsh-layout/git-status
/dsh-layout/git-branches
/dsh-layout/git-switch
/dsh-layout/git-log
/dsh-layout/open-file
These routes undergo realpath validation when accessed, and the path must be within a registered workspace. open-file relies on Windows Shell calls, so it is only available on Windows.
Applicable Scenarios and Notes¶
This plugin is suitable for the following scenarios:
- Performing multi-turn conversations via DSH Web and wanting the middle dialogue flow to be less interrupted by tool cards.
- Needing to view the file structure of the current session workspace during development.
- Wanting to quickly identify modified, added, deleted, renamed, untracked, and conflict files based on git status.
- Wanting to view the current branch and check the model source balance/usage in the bottom status bar.
- In a Windows environment, wanting to open files with the system default program after clicking.
Notes before installation:
- The plugin runs under the permissions of the current dsh process; check the source code, route behavior, and dependency scope before installing.
- License is MIT, see
LICENSE. - This plugin depends on DSH official UI markers; version upgrades may affect stability.
- The file opening capability depends on the Windows environment.
- The directory page mentioned here is an independent community directory and is not equivalent to the official app store; this plugin has no official affiliation with DeepSeek or Futu.
Conclusion¶
The value of dHR-P/dsh-layout-tools is quite specific: it does not change the core workflow of DSH but organizes the DSH Web interface layout to better suit continuous conversations and local workspace operations. The middle dialogue flow is cleaner, the left side can see files and git status, and the bottom can see balance/usage; details of tool calls still return to the official trace view for handling.
Directory page: https://www.skillhub.cn/plugins/dHR-P/dsh-layout-tools