Introduction

The core idea of DeepSeek Harness (DSH) is “everything is a plugin.” When developing agents or during everyday interactions, managing Git repositories and driving GitHub workflows often requires frequently switching terminal windows. dsh-git-manager (formerly gitcompass) aims to solve this problem. It visually integrates Git operations and GitHub workflows into the DSH Web interface, while also providing structured tool interfaces for agents.

Plugin Overview

dsh-git-manager is a GitHub-connected Git visual manager. It is maintained by Dayi-Z and licensed under the MIT License. In addition to providing a visual operations panel, it includes guided GitHub workflows and structured Git tools, aiming to reduce the complexity of version control for agents.

Core Features

Guided Flow Bar
The top provides a visual step indicator that guides you through the standard GitHub Flow process: branch creation → commit → push → create PR → review and merge.

Branch and Change Management
- Branch Management: supports viewing local/remote branches and performing switch, create, delete, rename, merge, fetch, and checkout remote branch operations.
- Change View: displays file status (staged/unstaged/untracked), and supports staging/unstaging, committing, viewing diffs, pushing, pulling, and fetching.

Commit Graph and PR Management
- Commit Graph: uses a lane-based visualization layout similar to GitLens, displaying SHAs, commit messages, and PR markers. Supports cherry-picking commits to the current branch or reverting commits.
- PR Management: supports viewing the PR list, displaying details (including checks, reviews, and comments), creating PRs, squash merging, and performing reviews (approve/request changes/comment), as well as adding comments.

Issue Management
Provides Issue lists, detail viewing, creating new Issues, and adding comments.

GitHub Integration
- Supports device-flow OAuth login, PAT input, and reuse of the gh CLI.
- On Windows, tokens are encrypted with DPAPI and stored securely.

Structured Tools for Agents
Provides standardized Git and GitHub tool-calling interfaces for models, including the series of tools such as git_status, git_diff, git_branches, git_commit, github_pr_*, and github_issue_*.

Agent Activity Monitoring
Monitors every agent tool call (start/completion/failure) in real time via SSE. Meanwhile, the workspace observer polls workspace state and captures external Git operations performed outside plugin tools (such as new commits, branch switches, and working tree changes), marking them in the activity stream.

In-Panel Approval
For write operations, the panel pops up an approval card, supporting direct “approve” or “reject.” This mechanism races with DSH native modals, and the first one wins. Regardless of approval policy settings (including the never policy), the in-panel approval path remains available. If the panel is not connected, the call fails fast and prompts to open the panel.

Themes and Internationalization
- The panel UI is fully built on DSH theme tokens, requiring no manual skin switching, and supports Light/Dark mode and third-party skins.
- Automatically follows the DSH Web language setting (Chinese/English).

Installation and Activation

Install the plugin:

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

Local development mode:

dsh plugin --profile web add link:/path/to/dsh-git-manager

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

Architecture and Host Modes

The plugin is registered as a Cordis plugin and includes HTTP routes, tool definitions, SSE event streams, and frontend UI.

Dual Host Modes
- When dependent on dsh-better-sidebar: the plugin registers as a tab in the sidebar, abandons the independent right column, and panel content is switched through the sidebar.
- When not dependent on dsh-better-sidebar: the plugin remains in independent right-column card mode, with a collapse handle in the card header. After collapsing, only the header remains, and background polling is stopped.

Workspace Awareness
The panel resolves the cwd of its associated session. At the same time, the plugin monitors path parameters of file tools (read, write, etc.), automatically searches upward for repository root directories and registers them. Automatically registered repositories are marked as name · auto, with a maximum count of 20, and the oldest auto entries are evicted first.

Notes

  • The plugin has been renamed from gitcompass to dsh-git-manager (since 2.0.0), affecting the package name, HTTP routes (/gitm/*), and CSS variables.
  • Permissions: the plugin runs with the current DSH process permissions; source code and license should be checked before installation.
  • Dependencies: dsh-better-sidebar is an optional dependency used for sidebar mode; if it is absent, the plugin automatically falls back to independent card mode.
  • Environment: depends on DSH version >=0.1.0-rc.6 and Node.js ^22.19 || >=24.

Summary

dsh-git-manager visually integrates Git operations and GitHub workflows, while enhancing an agent’s control over codebase state through structured tools and activity monitoring. Its dual host mode design ensures compatibility in both sidebar and non-sidebar environments, making it a practical assistant when building DeepSeek Harness agents.

Directory Page | GitHub Repository