Introduction

The core design philosophy of DeepSeek Harness (DSH) is pluginization, enabling developers to inject various capabilities into the workflow. In code development scenarios, developers often need to directly view repository status, operate branches, or inspect diffs within the conversation context. dsh-git-graph aims to address this need by providing a Git-dedicated panel that integrates core Git operations (status, branches, diffs, and history) into the DSH Web UI, rather than relying solely on the command line or external tools.

Plugin Information

  • Name: dsh-git-graph
  • Description: A plugin for DeepSeek Harness that integrates a Git view.
  • Owner: enoughpower
  • Category: Git, Web UI
  • License: MIT

Installation and Activation

This plugin is a bundle plugin. After installation, the host layer (API) and browser layer (UI) are automatically activated. Use the following commands to install it:

# 本地目录
dsh plugin --profile web add /path/to/dsh-git-graph

# 或已发布的 npm 包
dsh plugin --profile web add dsh-git-graph

Core Features

The plugin provides comprehensive Git repository view support, including mainly:

  • Workspace Status: View the current branch, staged, unstaged, and untracked files, with status codes annotated.
  • Branch Management: Supports listing, switching, creating, deleting, renaming, and merging local/remote branches.
  • Diffs and Commits: View diffs between the workspace and staging area; supports staging files, unstaging, discarding changes, physical deletion, as well as committing and amending commits.
  • History and Blame: Provides commit logs, a commit graph with parent commits, single-file history, line-by-line blame, and viewing commit details and single-file diffs.
  • Remotes and Tags: Supports push, pull, and fetch from remotes; views remote lists and tag lists.

Note: To prevent excessively large diffs from freezing transmission and frontend rendering, diff content is truncated to 2 MiB.

Usage Steps

After installing and activating the plugin, follow these steps to use it in a session:

  1. Install the plugin and open a workspace (i.e., the repository directory) within the session.
  2. A Git tab appears in the session area (on the right side of the conversation trace). Click it to enter the Git panel.
  3. Operate within the panel:
    • The top shows the branch bar and commit graph for viewing the overall status.
    • Selecting a commit allows viewing its details (changed files / diffs).
    • Selecting a workspace file allows staging, committing, or discarding it.
  4. The panel automatically binds to the current session’s working directory.

Compatibility and Notes

  • Compatibility Requirements:
    • DSH host version: >= 0.1.0-rc.5
    • Node.js: >= 20
    • Git: >= 2.28
  • Security Limits: All /git operations are restricted to the path directory in the request. Arbitrary shell execution is not introduced (invoked via execFile parameter arrays). The request body limit is 1 MiB, and the Git output buffer is 64 MiB.
  • Current Feature Status: File browsing and editing features are temporarily disabled. The current version focuses on Git-specific operations.

Conclusion

dsh-git-graph provides DSH users with a complete Git workflow toolset in the browser. It embeds Git operations into the conversation environment through a semi-registered JSON API and browser UI. For more information or to view the source code, visit the plugin directory or GitHub repository.