Introduction

When developing agents in the DeepSeek Harness (DSH) environment, reading code, Issues, or PRs on GitHub is a common requirement. Directly invoking gh CLI or curl via Shell inside the sandbox is often limited by TLS certificates or proxy configuration, which can easily cause request failures or consume unnecessary Tokens.

The dsh-github-router plugin aims to solve this problem. It encapsulates the GitHub access logic inside the plugin and provides a set of structured tools, allowing Agents to retrieve data with simple parameter calls without dealing with underlying network exceptions.

Plugin Overview

This is a DeepSeek Harness plugin that provides read-only GitHub access capabilities to agents. It is maintained by AngelosZou and is currently open source.

Core positioning: A proxy toolset that solves GitHub network access issues in sandbox environments.

License: MIT

Core value: Unifies multiple routing methods—API calls, gh CLI commands, Git protocol, and web HTML scraping—inside the tools to ensure stable access.

Core Features

The plugin provides the following tools and routing mechanisms:

Toolset
- github_probe: Detects the available GitHub access routes on the current host and their performance.
- github_pr: Retrieves complete PR information, including metadata, discussions, reviews, commits, and changed files.
- github_issue: Retrieves Issue metadata, body, labels, and comments.
- github_file: Retrieves file contents or directory listings under a specified branch or tag.
- github_api: Provides an escape hatch for GET requests to call any GitHub API endpoint.

Routing mechanisms
The plugin supports route selection inside the tools, including:
- API (api.github.com)
- gh CLI
- Git protocol
- Web HTML
- Mirror sites

In addition, it includes the github-router skill, used to manage this routing logic.

Installation and Enablement

Before installation, make sure the environment meets the dependency requirements: Node.js >= 22.19.

Use the official installation command to add the plugin:

dsh plugin --profile web add dsh-github-router

After installation, restart the DSH backend. The github_probe, github_pr, github_issue, github_file, and github_api tools, as well as the github-router skill, will appear in the Agent’s tool list.

Typical Usage

The following is a concrete invocation example provided by the plugin:

# 探测当前可用的路由
github_probe

# 获取指定 PR 的完整信息
github_pr { owner: "o", repo: "r", number: 12 }

# 获取 PR 信息,并指定本地仓库路径以读取提交和差异
github_pr { owner: "o", repo: "r", number: 12, localRepo: "C:/src/r" }

# 获取指定 Issue
github_issue { owner: "o", repo: "r", number: 34 }

# 获取指定分支下的文件内容
github_file { owner: "o", repo: "r", path: "src/index.js", ref: "main" }

# 调用 GitHub API
github_api { path: "/repos/o/r/commits", query: { per_page: 5 } }

Notes and Use Cases

Functional limitations
- The plugin provides read-only capabilities only; it does not include write operations, pushing, or commenting.
- The code is hosted under <DSH_HOME>/storages/dsh-github-router/. Locally cloned repositories are accessed only through read-only commands (such as git log, diff, and show) and will not modify user repositories.

Network and configuration
- Anonymous API use is subject to IP-based rate limits (60 requests per hour). It is recommended to configure a GitHub Token to increase the quota.
- The mirror site feature is disabled by default and is enabled only after explicit user configuration.
- The plugin provides a framework-declared settings page where you can configure Tokens, proxies, timeouts, caching strategies, and more.

Target users
- Developers who need to reliably retrieve GitHub code or data in the DSH environment.
- Scenarios where proxies or TLS configuration prevent direct access to GitHub from the Agent Shell.

Summary

By encapsulating complex network routing logic inside the tools, dsh-github-router provides DeepSeek Harness Agents with stable, structured GitHub read capabilities. If you need an agent to automatically analyze code repositories or Issues, this is a ready-to-integrate solution.