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.
- 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.
- Verify the installation
Check whether the--dump-configoutput contains the following:
# == @angel-gp/dsh-client-ui-gitpeek
- id: gitpeek
name: '@angel-gp/dsh-client-ui-gitpeek'
- Restart
Manually restart the DSH Web Host. After restarting, the GitHub tab should appear next to Trajectory.
Usage¶
-
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. -
Configure the PAT
Enter the generated PAT token in the GitHub plugin in the DSH interface. -
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
desktopprofile by default; if mistakenly installed into thewebprofile, 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.