DSH (DeepSeek Harness) uses a plugin-based architecture and supports extending functionality in the Web interface. dsh-git-vcs is a plugin that provides Git version control capabilities. It adds a “Version Control” page to the right sidebar of the DSH Web GUI, integrating core operations such as local change management, commit tree viewing, branch and stash management into the browser side.

Plugin Positioning and Features

This plugin is maintained by TiChuXiXi and is open-sourced under the MIT license. It mainly addresses version control of code in a Web interface, with its functionality modeled on IntelliJ IDEA’s Version Control tool window (Alt+9) and Commit tool window (Alt+0).

Core features include the following:

  • Right sidebar entry: Registers a “Version Control” page in the right sidebar (order: 20), and the onboarding page provides a capsule-style entry. Split view, fullscreen, and expand/collapse are handled by the official @deepseek-ai/dsh-client-ui-sidebar-right plugin.
  • Version control capabilities: Supports viewing local changes and selecting items to commit, commit tree (multi-lane view, supports --all), branch/remote/stash management, and Git command history.
  • Non-repository handling: When the opened directory is not a Git repository, the page switches to a centered empty state and provides a button for one-click repository initialization.

Installation and Setup

  1. Install the plugin
    Install the plugin using the official CLI:
    dsh plugin --profile web add dsh-git-vcs
Make sure the current environment is compatible. This plugin requires DeepSeek Harness version **≥ 0.1.7-rc.2**.
  1. Verify the installation
    After installation, check whether the configuration is effective:
    dsh --profile web --dump-config | Select-String "dsh-git-vcs"
  1. Apply changes
    This plugin uses a zero-build strategy, but after modifying index.js (host side) or cordis.patch.yml, the dsh web process must be restarted for changes to take effect. Modifying lib/client.js (browser side) only requires refreshing the page.

Technical Implementation and Dependencies

  • Zero build: The plugin has no build steps, uses ESM format directly, and does not depend on runtime libraries.
  • Dependent services:
    • subprocess: Executes git commands in the host process (as argv, without invoking a shell).
    • connection: Performs trust fence validation for RPC channels.
    • webServer: Registers the /git-vcs RPC route.
  • RPC channel: The plugin sends Git operation requests to the host through the /git-vcs RPC channel. After execution on the host side, standardized error codes (such as git-vcs/not-a-repo, git-vcs/write-disabled, etc.) and data are returned.

Typical Usage

  1. View repository status: Open the “Version Control” page in the right sidebar to view changes, branches, and commit history under the current session working directory.
  2. Initialize a repository: If the opened directory is not a Git repository, click the “Initialize Git repository in the current directory” button in the center of the page to initialize it.
  3. Invoke commands: Call specific Git command endpoints through the /git-vcs RPC channel (for example, repo/info to get repository metadata, status to get change status, etc.).

Summary

dsh-git-vcs provides complete Git version control capabilities for the DSH Web interface, giving it an IDE-like operational experience. Developers can commit code, manage branches, and review history through the standard RPC interface or the right sidebar UI.

  • Repository URL: https://github.com/TiChuXiXi/dsh-git-vcs
  • Directory page: https://www.skillhub.cn/plugins/TiChuXiXi/dsh-git-vcs