@codigoconelmer/dsh-github
v0.1.0
Published
Native GitHub workflows for DeepSeek Harness
Readme
dsh-github
Safe, native GitHub workflows for DeepSeek Harness.
@codigoconelmer/dsh-github adds three host-only slash commands that guide the current DeepSeek Harness agent through GitHub work using the official gh CLI, git, and DSH's existing terminal tools. It is intentionally a small adapter: it does not reimplement the GitHub API, ship a web UI, or run shell processes from the plugin.
Created by Elmer Jacobo · elmerjacobo.dev
What problem does it solve?
GitHub issues, pull requests, local changes, and the implementation workflow often need to be connected. This plugin gives the agent a consistent, safe starting point for that flow:
GitHub Issue
|
| /gh-issue 42
v
Issue analysis -> /opsx-propose or focused change analysis
|
v
Implementation and verification
|
| /gh-review
v
Read-only review
|
| /gh-pr
v
Pull Request plan -> explicit confirmation -> gh pr createThe plugin asks the agent to use gh through DeepSeek Harness's existing terminal tools. The handlers themselves only register commands and steer an instruction message to the current agent.
Requirements
- DeepSeek Harness
0.1.1-rc.2or a compatible release - Node.js
>=20.19.0for development and packaging - The official GitHub CLI (
gh) - A GitHub CLI login in the environment where DSH runs
Authenticate the CLI before using the commands:
gh auth loginThe agent will check that gh is installed and authenticated and that the current directory is a GitHub repository. The plugin never reads or prints GitHub tokens.
Commands
/gh-issue
Read and analyze an issue without changing files, git state, or GitHub.
/gh-issue 42
/gh-issue improve the retry behavior for failed requestsFor an exact number, the agent is guided to use a read-only query such as:
gh issue view 42 --json number,title,body,state,labels,assignees,commentsThe result should summarize the issue, requirements, context, labels, assignees, comments, possible affected files and tests, risks, open questions, and a suggested next step. If a number is not supplied, the input is treated as a description or search query rather than being guessed into a command.
/gh-review
Perform a read-only review. It never comments, approves, requests changes, closes, merges, or otherwise modifies a pull request or repository.
/gh-review
/gh-review 123Without a number, the agent reviews the current git status, diff, branch/base information, recent commits, and only checks that are known to be non-mutating. Fixers, generators, installs, and other commands that alter files are skipped. With a number, it is guided to inspect the pull request, checks, reviews, comments, commits, and changed files using read-only gh pr commands.
The output should contain actionable quality, security, testing, correctness, and regression findings, with file/line references when possible.
/gh-pr
Prepare a pull request plan without creating it automatically.
/gh-pr
/gh-pr 42The agent reviews the status, diff, commits, branch information, relevant tests/builds, and—when supplied—related issue context. It then proposes:
- a pull request title;
- a description with summary, changes, verification, risks, and issue reference;
- the commands that would be used to create the pull request.
/gh-pr never runs gh pr create without explicit user confirmation. Any write action must be described before execution. The plugin also forbids merge, force-push, destructive reset, issue close, branch deletion, and token exposure.
Installation in DeepSeek Harness
From npm
dsh plugin --profile web add @codigoconelmer/dsh-githubRestart DSH after installation so the profile is recomposed with the plugin bundle.
From a local checkout
dsh plugin --profile web add /Volumes/T7SHIELD/Projects/dsh-githubYou can replace the path with the location of your checkout. The package declares a DSH bundle patch, so the profile installer adds it to the profile's bundle list.
Architecture
This is a host-only Cordis plugin:
src/index.tsexports the stable plugin identitydsh-github, declaresinject = ['commands'], and applies the plugin.src/commands.tsregisters exactlygh-issue,gh-review, andgh-prthroughctx.commands.Each handler preserves
invocation.rawInput, creates a DSH user message, and callsinvocation.agent.steer(...).src/harness-message.tsusescreateUserMessagefrom@deepseek-ai/dsh-llmwith this source:{ kind: 'plugin', plugin: 'dsh-github', form: 'instructions', }The current agent performs the actual repository and GitHub CLI work through existing DeepSeek Harness tools.
There is no React, client plugin, GitHub API client, token handling, or direct process execution in this first version.
Development
Install dependencies without running package lifecycle scripts:
pnpm install --ignore-scriptsRun the strict type check, tests, and build:
pnpm run check
pnpm test
pnpm run buildInspect the package contents before publishing:
pnpm pack --dry-runThis project is independent of dsh-openspec. It can be used alongside that plugin, but does not copy its workflows or depend on its package.
License and links
This project is available under the MIT License.
- Author: Elmer Jacobo
- Website: https://elmerjacobo.dev
- Repository: https://github.com/elmerjacobo97/dsh-github
