Introduction

DeepSeek Harness (DSH) is a plugin-based platform designed to extend its core functionality through modular extensions. Managing Git workspaces directly in the Web UI usually requires switching to an external client, which interrupts the workflow. This plugin integrates Git operations to keep workspace management within the DSH Web UI, providing a unified interactive experience.

Plugin Overview

A DSH client plugin maintained by MoonlitDropOfBlood. It does not depend on external Git clients and provides Git workspace management capabilities directly within the DSH environment.

Core Features

  • Repository-Aware Entry: Displays a Git button on the input box toolbar, shown only when the current directory is a Git repository (60-second polling cache).
  • Settings-Style Panel: 800px centered modal, 24px rounded corners, glassmorphism backdrop, and the DOM is rendered to the body layer through a Portal.
  • Change Management: Supports staged/unstaged/untracked files, provides unified diff rendering, and supports commit and amend.
  • Branch Management: Supports local/remote branch lists, as well as creating, switching, renaming, deleting, and merging branches.
  • History Viewing: Provides commit history with branch graph lines, refs badges, and cherry-pick functionality.
  • Conflict Resolution: Provides banner prompts, supports selecting ours/theirs file by file, or resolving conflicts through manual editing.
  • Worktree Management: Supports Worktree lists, adding, and deletion. After adding a Worktree, it is automatically registered as a DSH workspace.
  • Theme Adaptation: Colors follow DSH design tokens and automatically adapt to light and dark themes.

Installation and Enablement

Install using the official dsh plugin command.

dsh plugin --profile web add @duke-dsh-plugins/dsh-git-manager

After installation, restart DSH. When the current workspace is a Git repository, a Git button appears next to the “Mode” selector on the input box toolbar.

Usage

  1. Open the Panel: Click the Git button on the input box toolbar (branch icon + current branch name).
  2. Change Operations: Select files to stage or unstage, click a file to view the diff, and enter a commit message at the bottom to commit.
  3. Remote Synchronization: Perform Fetch/Pull/Push at the top; the branch list displays ahead/behind status.
  4. Branch Management: Supports creating, switching, renaming, merging, and deleting branches.
  5. History Viewing: Click a commit to view the file-level diff for that commit, with cherry-pick support.
  6. Conflict Resolution: During merge conflicts, select ours/theirs file by file in the panel or edit manually.
  7. Worktree: Add a Worktree (optionally with a new branch); after successful addition, it is automatically registered as a DSH workspace.
  8. Close the Panel: Press Esc or click the backdrop to close.

Notes

  • Security: All destructive operations (such as force push, deleting branches, and discarding files) require a second confirmation in the UI. Force push only allows --force-with-lease.
  • Performance Limits: Diff output larger than 1.5MB is truncated with a prompt; Log loads 200 entries per page by default.
  • Path Validation: Operations involving file writes (such as discarding untracked files or manually resolving conflicts) first verify that the path does not go outside the repository root.
  • Unofficial Product: This project is a community plugin built on DeepSeek Harness and is not an official DeepSeek product.