Introduction

The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When performing code reviews or history inspection in the Web GUI, the lack of an intuitive commit graph often forces frequent switching to a terminal to run the git log command. The dsh-git-graph plugin solves this pain point by embedding a GitKraken / vscode-git-graph-style commit graph directly into DSH conversation cards, allowing the assistant to display, inspect, and interact with Git history within the conversational context.

Plugin Introduction

This is a visualization plugin that runs inside the DeepSeek Harness (dsh) Web GUI. By rendering interactive cards in a conversation, it visualizes Git branches, merges, and tag lanes. Users can directly click commit nodes in the card to view file change details and color-highlighted diffs without leaving the browser interface.

Core Features

The plugin mainly provides the following core capabilities:

  1. Commit DAG Graph

    • Drawing logic: Rendered using the git log --all --topo-order command (default: the most recent 500 commits, adjustable up to 2000).
    • Connection rules: The first parent commit is connected directly in the same lane; merge parent commits are connected with curved lines; parent commits outside the window are drawn as open arrows.
    • Visual markers: Lanes are assigned automatically; branches/tags are marked with colored pills to the right of the commit, and HEAD is marked with a highlighted ring.
  2. Commit Details

    • Interaction: Click any commit row.
    • Expanded content: Shows the author, email, time, parent commit information, and full hash (with one-click copy support).
  3. Diff Card

    • Trigger mechanism: Triggered by running the git_show tool.
    • Rendered content: Directly shows the list of changed files in the conversation (including A/M/D/R status badges) and the complete patch with green additions and red deletions (overly long content is automatically truncated).
  4. Read-Only Safety

    • The two tools provided by the plugin, git_graph and git_show, are both read-only operations.
    • Write operations such as checking out or creating branches must be performed in a terminal; a corresponding notice appears at the bottom of the card.

Installation and Enablement

Run the following command in a terminal to install the plugin into the web profile:

dsh plugin --profile web add @samecorner/dsh-git-graph

Running this command reconciles the package into the profile’s bundle layer: server-side tools are registered with the cordis host, and the browser half is automatically compiled into the web startup graph by the dsh.client declaration. After installation, restart the DSH web service for the changes to take effect.

Typical Usage

In a DSH conversation, the assistant automatically recognizes intent and invokes tools. You can trigger them directly with natural language:

  • View the commit graph: Type git_graph or “Display the commit graph for the current repository.”
  • View a specific commit: Type git_show with a hash (for example, git_show aabbccd) or “See what commit aabbccd changed.”

The tools execute in the session working directory (session.header.cwd) and can also point to another repository via the workdir parameter. The assistant returns a text summary, while the browser renders the full JSON view.

Use Cases and Notes

  • Use cases: Suitable for developers and agent developers who need to quickly locate Git history, review code changes, or display project evolution diagrams in a Web interface.
  • Known limitations:
    • Defaults to the most recent 500 commits (maxCount is adjustable up to 2000).
    • Lane assignment uses an approximation algorithm (topologically correct, but compactness may not exactly match vscode-git-graph).
    • git_show for merge commits only shows the difference relative to the first parent commit.
    • Dependency requirements: Depends on the host tools service and the tool.call.toolview slot; DSH version ≥ 0.1.0-rc.6 is required.
    • Theme adaptation: The UI style layer maps --dsw-alias-* variables and automatically adapts to the host’s light/dark themes.

Conclusion

dsh-git-graph seamlessly integrates Git visualization into the DeepSeek Harness conversation flow, reducing context-switching overhead. If you are using DSH for code-assisted development, this plugin can significantly improve the efficiency of understanding code history.

Catalog page: dsh-git-graph on SkillHub
Source code: dsh-git-graph on GitHub