Introduction¶
DeepSeek Harness (DSH) provides an environment for running agents. When an agent needs to interact with GitHub directly, manually writing scripts or relying on external tools is often cumbersome and poses security risks. This plugin aims to provide DSH with a unified GitHub operation interface, encapsulating the capabilities of the GitHub CLI as plugin tools.
Plugin Overview¶
Positioning: Zero-dependency GitHub workflows for DeepSeek Harness (DSH), built on the GitHub CLI.
Maintainer: Planckbaka
Category: Workflows
Core Features¶
The plugin provides 11 tools, covering major operations in the GitHub ecosystem:
- github_auth: Authentication management, including status checking, PAT login (via stdin), token refresh, and account switching.
- github_repo: Repository operations, supporting view, list, create, clone, fork, edit, sync, rename, archive, and delete.
- github_pr: Pull Request operations, including create, list, view, diff, checks, comment, review, merge, close, reopen, edit, mark as ready, checkout, and status view.
- github_issue: Issue operations, supporting create, list, view, status management, comments, close (with reason), reopen, edit, and development (linked branches).
- github_commit: Read-only commit browsing; lists, views, and compares branches via the GitHub REST API.
- github_release: Release management, supporting create (with notes and generation), list, view, upload/download, edit, and delete.
- github_actions: GitHub Actions management, supporting run list/view/logs/watch/rerun/cancel/delete, and workflow list/view/trigger.
- github_codespace: Codespaces management, supporting list, create, non-interactive SSH, file operations, start/stop/rebuild, log viewing, and delete.
- github_search: Search functionality, supporting searches for repositories, Issues, PRs, code, and commits.
- github_api: Generic interface for REST/GraphQL requests, serving as an escape hatch to access labels, milestones, projects, Gists, organizations, and more.
- github_git: Local Git operations, supporting status, add, commit, push, pull, fetch, branch, log, and remote.
- github_cli: Raw passthrough interface for the GitHub CLI, disabled by default; enable it by setting
allowRaw: true.
Installation and Enabling¶
Before installing, ensure that Node.js 18 or higher and the GitHub CLI (gh) are installed.
Run the following command in DSH to install:
install_bundle → target: github:Planckbaka/dsh-plugin-github-workflows
Typical Usage¶
The following shows a typical workflow example from code commits to release publishing:
github_auth action: status # 验证认证状态
github_git action: status # 查看变更
github_git action: add paths: ["src"]
github_git action: commit message: "Fix ..."
github_git action: push setUpstream: true
github_pr action: create title: "Fix ..." fill: true
github_actions action: run_watch runId: <id> # 监控 CI 运行
github_pr action: merge mergeMethod: squash, deleteBranch: true, confirm: true
github_release action: create tag: v1.1.0, generateNotes: true, confirm via notes
Applicable Scenarios and Notes¶
- Type Safety: All operations are typed tools defined by JSON Schema. Commands are executed as argv arrays and do not enter a shell, avoiding injection risks.
- Security Policy: Safe by default. Destructive operations (such as merging, deleting, force-pushing, and rebuilding a Codespace) must explicitly set
confirm: true. This can be globally controlled via theallowDestructiveconfiguration option. - Zero-Configuration Authentication: The plugin automatically reuses the
ghlogin state, theGH_TOKENenvironment variable, or attempts to read credentials from the git credential helper when gh is not logged in. - Zero Dependencies: Uses only built-in Node.js modules; no additional build or dependency management is required.
- License: MIT.
- Environment Requirements: Node >= 18, gh CLI.
Ecosystem Background¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. This plugin is listed in the community directory and aims to provide DSH with unified GitHub interaction capabilities.
More details and source code:
* Community Directory
* GitHub Repository