Introduction

During development with DeepSeek Harness (DSH), you often need to check the status of a GitHub repository: whether Actions runs passed, recent commits, and new releases. Switching windows or tabs each time interrupts the workflow. @angel-gp/dsh-client-ui-gitpeek is a networked tool plugin that displays GitHub Actions, Commits, and Releases data directly in the DSH chat interface.

Plugin Overview

This is a read-only GitHub data panel for DSH. After installation, it appears as the third tab in DSH, next to Trajectory. It displays Actions runs, Commits, and Releases in three side-by-side columns, each scrolling independently. Data is fetched in the browser through the GitHub REST API. It is maintained by Angel-GP and follows the MIT license.

Core Features

  • Three-column layout: Actions runs, Commits, and Releases are displayed in three side-by-side columns, each scrolling independently.
  • Encrypted storage: Remembers multiple repositories and a PAT token. The token is encrypted using AES-256-GCM (Web Crypto) and stored in localStorage. The key remains in the browser, and stored values are never plaintext.
  • Paginated loading: Each column paginates using GitHub’s Link header and provides a Load more button (30 runs / 30 releases / 100 commits per page).
  • Automatic refresh and caching: Cached data is displayed when entering a session, then refreshed once in the background; switching saved repositories triggers an automatic refresh; click Refresh to manually refresh.
  • Parallel fetching and independent error reporting: The three columns fetch data in parallel; failure of one column does not affect the other two, and errors are reported separately.

Installation and Activation

Before installing, make sure your environment meets the following requirements:
- dsh and pnpm are in the PATH (included with the DSH Desktop installation; open a new PowerShell).
- git is in the PATH and can access github.com.
- Confirm which profile the current GUI is running under. DSH Desktop uses the desktop profile by default, while web is a separate configuration.

  1. Run the installation command
    It is recommended to have the Agent execute the following commands:
dsh plugin --profile web add github:Angel-GP/dsh-gitpeek#main
dsh --profile web --dump-config

If using DSH Desktop, replace web with desktop.

  1. Verify the installation
    Check whether the --dump-config output contains the following:
# == @angel-gp/dsh-client-ui-gitpeek
- id: gitpeek
  name: '@angel-gp/dsh-client-ui-gitpeek'
  1. Restart
    Manually restart the DSH Web Host. After restarting, the GitHub tab should appear next to Trajectory.

Usage

  1. Obtain a PAT token
    Generate a Fine-grained token in GitHub Settings and grant only the minimum required permissions: Actions (read-only), Contents (read-only), and Metadata (read-only), scoped to a specific repository.

  2. Configure the PAT
    Enter the generated PAT token in the GitHub plugin in the DSH interface.

  3. View data
    Enter the repository name (for example, owner/repo) in the GitHub plugin and click Refresh to load the three columns of data.

Security and Precautions

  • PAT encryption security: The PAT is encrypted with AES-256-GCM, and the key is kept in the browser. Although the stored value is ciphertext, any script that can run JavaScript in that browser (such as an extension or same-origin script) can decrypt it. Therefore, grant only minimum permissions and do not reuse this token in other services.
  • Persistence scope: The plugin stores data in the browser’s localStorage, scoped to the origin (protocol + host + port). If the DSH Web Server starts with a different port each time, localStorage may be cleared and saved data may disappear.
  • Profile configuration: You must use the profile that the GUI actually runs under when installing. DSH Desktop uses the desktop profile by default; if mistakenly installed into the web profile, the tab will not appear in the GUI.

Summary

By displaying key GitHub data side by side in the DSH chat, this plugin reduces context-switching time. It provides encrypted storage and automatic refresh, making it suitable for agent development scenarios where repository status needs to be checked frequently.