Introduction

The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. When using agents to handle GitHub tasks, traditional solutions often rely on the gh CLI, which requires configuring PATH in the environment and managing version compatibility. The vclike/dsh-github-companion plugin removes external dependencies by directly calling GitHub REST/GraphQL APIs, providing DSH agents with full GitHub integration capabilities.

Core Features

The plugin is mounted as three cordis bundles and shares the same installation package.

  • 33 REST/GraphQL tools: Registered under ctx.tools, divided into read-only discovery (21) and writable operations (Issues, Git data, repository creation).
  • Zero external dependencies: Does not depend on the gh CLI; directly uses fetch/undici, supporting Windows/Linux/macOS without configuring PATH.
  • In-process permission gate: Provides the github-companion-gate bundle as an implementation example for permission validation.
  • Cost-discipline companion skill: Built-in capability map and workflows help control operation costs.

Installation and Composition

The plugin manages the following components through the directory ~/.dsh/skills/dsh-github-companion/:

  • github-companion: Registers tools; read-only/discovery is enabled by default, and write operations can be enabled through configuration.
  • github-companion-gate: Permission validation logic.
  • github-companion-usage: Contains SKILL.md, defining result specifications, workflows, and failure-handling policies.

Typical Usage

Through natural-language instructions, the agent automatically selects tools:

  • Project insights: Summarize changes in starred projects this week (using list_starred, latest_release, list_commits).
  • Repository management: View the latest updates for owner/repo, upload a local folder as a new private repository, fix README errors, and publish a release.
  • Code synchronization: Compare the differences between a fork and upstream, and synchronize a lagging fork.
  • Collaboration and search: Create an issue upstream for a bug, or directly search code to inspect implementation approaches.

Applicable Scenarios and Notes

  • Repository creation restriction: github_create_repository always creates a private repository, with no public option.
  • Authentication method: Uses PAT, stored via ctx.credentials.resolve or the settings UI in $DSH_HOME/.credentials.yaml.
  • Recommended scopes: Metadata R, Contents RW, Issues RW, Pull requests RW, Workflows RW, Administration RW (required only when enabling repository creation).
  • Error handling: All tools return JSON-safe objects; GitHub API errors return { ok: false, status, message } instead of throwing exceptions.

Conclusion

By replacing CLI usage with direct API calls, this plugin reduces the complexity and maintenance cost of agent interactions with GitHub. For more details, visit the community catalog or view the GitHub repository.