Back to home

temotee2103

dsh-ci-co-pilot

GitHub CI co-pilot for DeepSeek Harness: PR review, CI failure fixing, issue triage and release notes. Everything is a plugin.

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-ci-co-pilot

GitHub CI co-pilot for DeepSeek Harness. Everything is a plugin: PR review, CI failure fixing, issue triage, and release notes.

License: MIT Node dsh-plugin

dsh-ci-co-pilot turns your DeepSeek Harness agent into a GitHub co-pilot that can review pull requests, debug failing CI, triage issues and draft release notes — all with structured data from the GitHub REST API, and zero extra runtime dependencies.

✨ Features

ToolWhat it does
gh_review_prPull a PR with its changed files, unified diff, existing reviews and CI status — the agent then writes the review.
gh_submit_reviewApprove, request changes, comment — with optional inline comments anchored to the diff.
gh_fix_ciInspect failing checks/annotations/log tails for a commit, branch or workflow run.
gh_triage_issuesList issues with triage signals: age, staleness, comments, labels.
gh_update_issueSet labels, assign, comment, set milestone, close/reopen.
gh_release_notesGenerate grouped release notes from PRs merged since the last release, a tag, or a date.

🚀 Install

# from npm (recommended)
dsh plugin --profile web add @temotee2103/dsh-ci-co-pilot

# from GitHub (zero build step — works immediately)
dsh plugin --profile web add github:temotee2103/dsh-ci-co-pilot

# or via the community index (CN mirror + sha256 check)
xlings install dsh:dsh-ci-co-pilot -y

Then restart your Harness session (or start dsh web).

Tip: pin a commit for reproducible installs: dsh plugin --profile web add github:temotee2103/dsh-ci-co-pilot#<40-hex-sha>

🔑 Authentication

Public repos work without a token (GitHub's unauthenticated rate limit applies). For private repos and heavier usage:

# any of these is read by the plugin at startup
export GITHUB_TOKEN=github_pat_...
export GH_TOKEN=...            # gh CLI style

You can also set a default repo and API base in your profile's cordis.patch.yml:

- id: ci-co-pilot
  name: '@dsh-external/dsh-ci-co-pilot'
  config:
    repo: myorg/myrepo
    apiBase: https://github.example.com/api/v3   # GitHub Enterprise Server

💬 Usage examples

Ask your agent things like:

  • Review a PR

    Review PR #42 in deepseek-ai/deepseek-harness. Focus on race conditions and suggest concrete fixes, then submit a review.

  • Fix failing CI

    CI is red on main. Find the failures and fix them, then push.

  • Triage issues

    Triage the open issues in this repo: label the unlabeled ones, close stale duplicates, and leave a comment on the top 3 by comments.

  • Release notes

    Draft release notes since the last release and save them to CHANGELOG.md.

⚙️ Configuration

All knobs are validated config values you can override from your profile's cordis.patch.yml (see the defaults in cordis.patch.yml): review.maxFiles, review.maxDiffChars, ci.maxLogLines, ci.maxFailedChecks, triage.perPage, triage.staleDays, release.perPage.

🧑‍💻 Development

pnpm install
pnpm test        # vitest, mocked fetch — no network, no API key
pnpm check       # syntax checks + tests

🧩 How it works

dsh-ci-co-pilot is a standard Cordis bundle for DeepSeek Harness:

  • cordis.patch.yml — the bundle layer that mounts the plugin row.
  • index.js — plugin entry: registers the six tools on the tools service.
  • src/github.js — a tiny fetch-based GitHub REST client (auth header, pagination, error mapping, AbortSignal).
  • src/tools/* — one module per tool, returning structured canonical values; src/format.js renders them to model-facing markdown.

The plugin ships plain ESM JavaScript — no build step, so dsh plugin add github:... installs and runs immediately.

📄 License

MIT © temotee2103