Introduction

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture, making it easy for developers to extend functionality. During development or debugging, developers often need to view GitHub repository or discussion content directly within the chat window. Native DSH does not provide this kind of view, which requires frequently switching windows or manually copying links.

dsh-github-sidebar is a DSH client plugin that injects a GitHub information panel directly into the details column on the right side of the chat window. This plugin uses a dual-panel layout to display the topic repository list and repository discussion list separately, reducing the time cost of context switching.

Feature Overview

This plugin adds a GitHub sidebar to the details column on the right side of DSH, containing two stacked panels:

  • Upper panel (topic repositories): Lists repositories under a specified GitHub Topic (default is dsh-plugin), sorted in descending order by star count, and supports pagination. This section uses the GitHub public REST search API and does not require authentication.
  • Lower panel (discussions): Lists discussions for a specified repository (default is deepseek-ai/deepseek-harness). It supports three sorting modes: Newest, Most comments, and Pinned first, and also supports pagination. This section uses the GitHub GraphQL API and requires Token authentication.
  • Token management: The Token is entered in the panel and stored in localStorage; it is only sent to api.github.com.

Installation and Enablement

This plugin must be installed using DSH’s command-line tool. The plugin will install the host-side package and register the client plugin at the same time.

dsh plugin --profile web add dsh-github-sidebar

After installation, restart the dsh web process and refresh the page. The client plugin collection will be scanned and loaded during startup.

Usage Steps

  1. Open a session: Start a DSH Web session.
  2. View the sidebar: The details column on the right will automatically expand and display GitHub Sidebar.
  3. Browse repositories: In the upper panel, browse topic repositories sorted by star count, and use the pagination buttons to switch pages.
  4. Manage discussions:
    • Switch the sorting mode in the lower panel (Newest / Most comments / Pinned first).
    • If you need to access discussions using the GraphQL API, paste your GitHub Token into the panel and click Save.

Configuration and Limitations

Currently, all default parameters of this plugin (topic, repository, page size) are hard-coded in the panel. Although the DSH host side exposes a Config schema in cordis.yml (including topic, owner, repo, pageSize), the browser side does not read this configuration yet, so default values cannot be dynamically modified through a configuration file.

The following limitations should be noted:

  • Details column exclusivity: The details column on the right uses a single-slot design. The GitHub sidebar will replace the default invocation/trace details. It currently cannot coexist with the default details.
  • API request volume: When sorting the discussion list by comment count or pinned status, the full list is fetched first and then sorted on the client side, which generates more GraphQL requests. When browsing large repositories, pay attention to GitHub rate limits.
  • Security: The Token is stored in the browser’s localStorage in plain text. If accessed through a browser, the Token is exposed in the source code. A server-side proxy to isolate the Token has not been implemented yet.
  • State switching: The visibility of the details column is managed automatically by the plugin. During certain layout changes (such as session switching), the details column may briefly close and then be reopened by the plugin.

Conclusion

By embedding a GitHub browser directly into the DSH chat window, dsh-github-sidebar provides developers with a lightweight way to check context. It is suitable for DSH users who frequently need to view specific topic repositories or discussions during conversations.

Plugin details and source code: Olympianz/dsh-github-sidebar