Preamble

DeepSeek Harness (DSH) extends its Web interface capabilities through a plugin mechanism. The default three-column layout (sidebar, central conversation, and file preview) may have limited space allocation when handling complex workflows. The zhangsan5213/dsh-right_sidebar plugin refactors the layout architecture, replaces the built-in layout with a five-column structure, and integrates Git workspace management and terminal tools to improve developer efficiency.

Plugin Overview

This is a dual-ended (Host/Browser) Web plugin. It takes over layout ownership, replacing the default DSH three-column layout with a framework containing five column slots. It also uses the /workspace-files RPC channel to communicate with the Host side, providing a Git file tree on the right, diff previews, and a multi-tab terminal at the bottom.

Core Features

  1. Five-column layout refactoring
    The plugin takes over ui-layout and divides the interface into five column slots: sidebar (Sidebar), center (Center), file preview (File Preview), files (File Tree), and details (Details).

  2. Git workspace integration
    The file tree on the right displays Git status badges and supports filtering by changes. The file list provides Content and Diff tabs for viewing.

  3. Source Control
    It provides a visual Source Control panel that groups changes into Staged Changes and Changes. It supports Stage/Unstage operations for a single file or all files, and allows direct commits of staged changes.

  4. Bottom terminal dock
    The plugin implements a real Grid row Dock at the bottom. Opening the Dock automatically creates a PTY session, supports multiple tabs, forwards input to the Host Shell, and echoes output through the /terminal RPC channel. Closing the last terminal automatically hides the Dock.

Installation and Enablement

This plugin depends on the DSH Web Profile.

  1. Ensure that DSH version 0.1.0-rc.5 or higher is installed.
  2. Run the installation command:
dsh plugin --profile web add github:zhangsan5213/dsh-right_sidebar#main
  1. Start the Web Profile:
dsh web

Note: pnpm may print peer-dependency warnings during installation. This is expected behavior because these dependencies are provided by the DSH installation.

Usage Instructions

Layout and Adjustment

After the plugin is loaded, the interface displays a five-column layout. Drag the top edge of the panel to resize the Dock, and double-click the top edge to reset the panel to a width of 280px. The xterm component automatically adapts when resized and maintains a PTY width of 80 columns to accommodate full-screen commands.

Source Control Operations

In the right Rail, click the Source Control icon (below the branch icon). The panel lists the Git status of the current workspace.
* Operations: Select a file or click the “Stage All/Unstage All” buttons to stage changes.
* Commit: Enter a commit message in the message box and confirm the commit.
* View: Click a file name to open the Diff view in the preview area.

Terminal Usage

Click the terminal icon in the collapsed right Rail. The Dock expands, and if no terminal currently exists, one is created automatically. Click the + button to create a new tab. After entering a command and pressing Enter, output is displayed in the terminal in real time. Click the x on a tab to close the individual session.

Notes and Limitations

  1. Permission and operation limitations
    The plugin’s mutations are invoked only through the /scm channel via loopback, and its functionality is strictly limited to git add, git reset, and git commit. Discard, push, and pull operations are intentionally not exposed.

  2. Layout compatibility
    Because this plugin replaces ownership of ui-layout, upstream changes to ui-layout cannot be automatically picked up by this plugin. If the DSH upstream merges a five-column slot design, this plugin can be simplified in the future into a lightweight file tree package.

  3. Terminal limitations
    The current PTY row count is fixed until the Subprocess Seam exposes a terminal resize Verb. In addition, the plugin disables the built-in ui-layout row through cordis.patch.yml and inserts its own dual-ended row, so ui-sidebar and ui-conversation depend on the ctx.layout service provided by the plugin.

Conclusion

zhangsan5213/dsh-right_sidebar provides a complete local development environment solution for the DSH Web plugin ecosystem. Through a five-column layout and integrated Git tools, it changes the original interaction paradigm and is suitable for users who need to manage code and terminals directly during Agent development.