DeepSeek Harness (DSH) is well suited for multiple Agents working in parallel across different Worktrees. However, in a terminal, relying solely on git log makes it difficult to simultaneously answer questions about branch origin, WIP comparison, and Agent session state. dsh-gitKraken integrates this information into DSH’s native Git Graph tab, providing a visual history graph and a secure Workbench.

The plugin is maintained by maintainer nateEc and is open source under the MIT license.

Environment Requirements

Requires Node.js >= 22.19.0 and DeepSeek Harness >= 0.1.1-rc.2.

Installation

Run the following command in your target profile:

pnpm add '@nateec/dsh-gitkraken@github:nateEc/dsh-gitKraken#1b7cda88f3bba07e859a653d15d46b9db2238e14'

After installation, pin the version in your profile, restart DSH, open a session in any Git workspace, and the Git Graph tab will appear at the top.

Core Features

  • Git Graph: Provides multi-branch DAG, branch/tag/remote references, author and change statistics, server-side pagination, Repository Sonar Minimap, and zoom and jump features.
  • Search & Filter: Supports search filters such as message:, author:, file:, change:, commit:, and @me, with case-sensitive matching, regular expressions, whole-word matching, and navigation across paginated results.
  • Inspect & Compare: Displays commit details, historical file Diff, full Patch, and Multi-diff, supporting comparison between any two points among Commit/Branch/WIP.
  • WIP & Commit: Supports per-file staging/unstaging, Stage All, Copy Patch, Commit Composer, and creating and switching branches.
  • Agent Workspaces: Displays multi-Worktree WIP, AgentTeams Kanban, Agent Activity, regular and sub-agent DSH session status, and direct links.
  • Safe Workbench: Provides Stash, Undo Commit, Rebase preview, recovery refs, and ours/theirs conflict resolution, supporting Continue/Abort.
  • DSH Model Tools: Uses the current DSH session Provider to generate Review, Explain, and Changelog, without reading or copying model API Keys.
  • Remote: Supports Fetch, fast-forward-only Pull, and normal Push; the optional GitHub/GitLab Pull Request Provider is disabled by default.

Typical Usage

  1. Open a session for a real Git repository in DSH.
  2. Switch to the Git Graph tab.
  3. In the Graph, search, filter, and select a commit or WIP; in the right-side Inspector, view files and diffs.
  4. Switch to the Agents page to view all Worktrees, AgentTeams tasks, and DSH sessions.
  5. Switch to the Workbench to perform batch staging, Stash, model review, or history operations with recovery points.

Search Syntax Examples

  • message:fix timeout: Search for commits whose messages contain the specified text.
  • @me: Search for content committed by the current Git user.
  • file:src/client: Search for commits that modified the specified path.

Security and Limitations

This plugin performs real Git operations. Security constraints are product features, not footnotes:

  • The backend accepts only real paths for workspaces registered in DSH, and HTTP interfaces allow only local loopback access.
  • Git commands are always executed using argument arrays, without shell concatenation.
  • Pull is allowed only as fast-forward; Push does not provide a force mode.
  • Undo Commit performs a soft reset only in a clean working tree; file changes are retained in the staging area.
  • Rebase requires a clean working tree and a non-detached current branch, and creates recovery refs and requires precise confirmation before rewriting.
  • Stash uses preserving Apply and does not automatically Pop; recovery operations do not perform a hard reset.
  • Currently, Discard, deleting local/remote branches, force push, and skipping hooks are not provided.
  • There is no telemetry or automatic update logic.
  • The GitHub/GitLab Provider is disabled by default; private repositories only read a plugin-specific environment variable Token, which is not returned to the browser or reused as DSH model credentials.

Project repository: https://github.com/nateEc/dsh-gitKraken