dsh-git-manager: A Visual GitHub Git Manager for DeepSeek Harness

In development scenarios for DeepSeek Harness (DSH), agents need to interact with Git repositories frequently. Traditional command-line tools lack visual feedback, while native DSH tool calls are often low-level. The dsh-git-manager plugin provides a GitHub-connected visual Git manager, closely integrating Git operations with DSH agents through guided GitHub-Flow steps, a commit graph, and structured tool interfaces.

Introduction

dsh-git-manager is a visual panel plugin focused on GitHub workflows. It provides not only graphical branch management and a changes view, but also exposes structured Git and GitHub tools (such as git_status and github_pr_create) to agents. The plugin is maintained by Dayi-Z and was renamed from gitcompass in version 2.0.0.

Core Features

The plugin primarily includes the following modular capabilities:

1. Workflow Guidance and Visual Management

  • Guided Flow Strip: Provides a visual step indicator at the top, showing the complete stages of GitHub-Flow: branch → commit → push → PR → review → merge.
  • Commit Graph: Provides a lane-based visualization similar to GitLens, using a 3-column layout (lanes / SHA / commit message), with support for PR badges, rebasing, and rollback operations.
  • Branch Management: Supports viewing, switching, creating, deleting, and renaming local/remote branches, as well as fetching and checking out remote branches.
  • Changes View: Displays file status (staged/unstaged/untracked), and supports staging/unstaging, committing, diff viewing (click a file to view changes), staging/popping, and push/pull/fetch operations.

2. PR and Issues Management

  • PR Management: Supports viewing the PR list, browsing details (including checks, reviews, and comments), creating PRs, squash merging, reviewing (approve/request changes/comment), and adding comments.
  • Issues: Supports listing issues, viewing issue details, creating new issues, and adding comments.

3. GitHub Integration and Agent Tools

  • GitHub Integration: Supports device-flow OAuth login, PAT input, reusing gh CLI configuration, and encrypted token storage (using DPAPI on Windows).
  • Structured Git Tools: Provides structured interfaces for the model side, including git_status, git_diff, git_branches, git_commit, git_push, and the github_pr_* and github_issue_* tool families.
  • Agent Activity Monitor: Provides a real-time SSE stream to monitor each agent tool call (start/complete/failure), and acts as a repository observer to detect Bash Git operations executed outside the plugin tools (such as new commits or branch switches).

4. Permissions and UI Interaction

  • In-Panel Approvals: All write operations trigger an approval card inside the panel, allowing direct approval or rejection. This panel approval competes with the native DSH modal (the first decision wins), and is not affected by automatic denial from any approval policy (such as the never full-access policy).
  • Theme and Internationalization: Panel styling fully follows DSH theme tokens (no independent color palette), and automatically follows the DSH Web locale (Chinese/English).

Installation and Activation

To install the plugin, use the DSH plugin installation command:

dsh plugin --profile web add dsh-git-manager

After installation, restart dsh web. Open a session bound to a Git repository, and the “Git Manager” panel will appear in the right column.

Dual Host Modes and Automatic Registration

The plugin supports two host modes:

  1. Sidebar Mode: When the dsh-better-sidebar plugin is installed, dsh-git-manager registers as a sidebar tab (dsh-git-manager:panel) and relinquishes its own column, being hosted by the sidebar instead.
  2. Dock Mode: When dsh-better-sidebar is not present, the plugin keeps an independent right-column card, with support for collapsing (background polling stops after collapse).

The plugin automatically registers repositories based on the path parameter of tools/execute (up to 20 repositories), and displays the current session folder and the repository path being edited in the two-line status bar at the bottom of the panel.

Notes

  • Version Update: The plugin completed the rename from gitcompass in version 2.0.0, involving migration of the package ID (dsh-git-manager), HTTP routes (/gitm/*), and CSS variables (--gm-*).
  • Approval Mechanism: In-panel approvals are in-memory and effective once; if no panel is connected, write operations fail fast and prompt you to open the panel or approve in advance, preventing long hangs.
  • Theme Compatibility: The panel UI uses DSH theme tokens and has no independent color scheme, so it is fully compatible with DSH’s skin system.
羽毛球分组比赛记分
小程序二维码

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

Xiaoye