dsh-git: Visual Git Panel for DeepSeek Harness

Introduction

DeepSeek Harness (DSH) is designed around the philosophy that “everything is a plugin.” In an agent development workflow, frequently switching terminals or opening external Git tools disrupts session continuity. The dsh-git plugin encapsulates core Git operations into a sidebar panel, allowing developers to complete version control tasks without leaving the current interface.

What Is This

dsh-git is a client-side plugin maintained by EasyTZ. It provides a visual Git panel for DeepSeek Harness. It does not require memorizing command-line syntax; instead, it handles operations such as staging, committing, pushing, and branch switching directly in the interface.

Installation and Activation

Before installing, ensure your environment meets the following dependencies:
* dsh version >= 0.1.1-rc.2
* git is installed on the machine and available in the system PATH
* pnpm is available

Install it from the command line:

dsh plugin --profile <name> add @easytz/dsh-git

<name> is the required profile name. It is usually web for the desktop version and tui for the TUI version. After installation, restart dsh. A Git button appears at the bottom of the sidebar.

Core Features

This plugin provides the following core capabilities:
* View changes: Displays the list of changed files in the current repository.
* Stage files individually: Stage or unstage each file separately.
* Commit and push: Write a commit message directly in the panel and push it to the remote.
* Switch branches: Quickly switch branches via a drop-down menu and view the ahead/behind count against upstream.
* Browse history: View recent commits, and click one to inspect details, including changed files and line-count statistics.
* Undo the latest commit: Rolls back the most recent commit.
* Multi-repository support: Manage multiple independent Git repositories under one workspace.

Typical Usage

  1. Open the panel
    Click the Git button at the bottom of the sidebar to open it.

  2. Select a repository
    If the current workspace contains multiple repositories, a “Repository” drop-down appears at the top of the panel. Select the target repository.

  3. Stage files
    In the “Changes” list, click + to the right of a file to stage it. For an already staged file, click − to unstage it.

  4. Commit
    Write a message in the commit box and click the Commit button.

  5. Push
    Click the Push ↑n button. n is the number of local commits ahead of the remote.

  6. Switch branches
    Use the drop-down menu in the branch row to switch branches. The number next to it shows progress relative to upstream.

  7. View history
    Click any item in “Recent commits” to open a detail window showing the full commit message and file changes.

  8. Undo a commit
    Only the latest commit has an undo button on the right. Click it once to enter a red confirmation state; click again within three seconds to perform the action:

    • For unpushed commits, reset --mixed is executed, returning the changes to the working tree.
    • For pushed commits, revert is executed, generating a reverse commit.

Notes

  • Undo limitation: Only the latest commit can be undone.
  • Push conflicts: If the remote rejects the push (for example, due to conflicts), the panel prompts you to run git pull in the terminal and does not handle it automatically.
  • Untracked files: New files are not staged automatically. You must click + for each file to stage it explicitly.
  • Caching: The browser-side plugin bundle uses a one-year immutable cache. After an upgrade, restart dsh for the changes to take effect.
  • Multi-repository scanning: The plugin scans only the immediate subdirectories of the workspace root as repositories. It automatically skips directories such as node_modules, dist, and others.

Scenarios

This plugin is suitable for developers who need to perform high-frequency Git operations inside DSH, especially those who prefer quick version control from the sidebar without frequently switching windows.

Conclusion

dsh-git simplifies Git workflows in DSH through visual controls, bringing version control closer to the actual workflow. For more details, see the plugin directory or the GitHub repository.

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye