Preface

For developers using DeepSeek Harness (DSH), plugins can connect common workflows into agent conversations. A common pain point is that after a GitHub Actions failure, one has to open very long raw logs and manually determine which step failed, if it failed before, and which files might be related.

dsh-ci-doctor is a DSH plugin designed to monitor new GitHub Actions failures and diagnose raw logs into structured findings.

What is it

This is a DeepSeek Harness plugin named dsh-ci-doctor.

Its core positioning is:

  • Monitor new failed runs of GitHub Actions
  • Organize raw logs into structured findings
  • Start monitoring or diagnosis via natural language instructions in chat

The repository address provided in the documentation is:

https://github.com/jkrandom-sudo/dsh-ci-doctor

The license is MIT.

Core Capabilities

dsh-ci-doctor mainly provides two types of capabilities: monitoring and diagnosis.

  1. Launches a ci_watch background task to poll for new failed runs.
  2. Runs ci_diagnose to generate a Markdown diagnostic card for the latest failed run or a specified runId.
  3. Generates normalized error signatures, failure categories, suspicious files, and trimmed log excerpts.
  4. Records historical signatures via a failure signature ledger and marks duplicate failures.
  5. Reads only GitHub status; does not push, merge, cancel, rerun, or write to the repository.
  6. Depends on an authenticated GitHub CLI session.

For ci_watch, the first poll sets a baseline, so historical failed runs will not trigger alerts. Log excerpts are trimmed based on a budget and do not invent content.

Installation and Activation

First, confirm that the GitHub CLI on your machine is logged in, as the plugin will reuse this session:

gh auth login

Node engine requirements are:

^22.19.0 || >=24.0.0

Install the plugin:

dsh plugin --profile web add dsh-ci-doctor

Since the plugin runs in the DSH plugin environment and relies on an authenticated gh session to read GitHub status, it is recommended to check the source code and MIT license before installation.

Typical Usage

Below are three types of common instructions.

Starting CI Monitoring

Say in the chat:

Watch CI on this repo and tell me when something fails

This starts the ci_watch background task.

ci_watch parameter example:

{
  "repo": "owner/name",
  "branch": "main",
  "intervalSeconds": 30,
  "timeoutMinutes": 60
}

This task polls for new failed runs. The first poll sets a baseline, so historical failed runs will not trigger alerts. Exponential backoff is applied on transient errors; it gives up after 5 consecutive failures; authentication errors fail immediately.

Diagnosing the Latest Failed Run

Say in the chat:

Why did the nightly build fail?

This runs ci_diagnose on the latest failed run and returns a diagnostic card.

Diagnosing a Specific Run

Say in the chat:

Diagnose run 31782742089 on cli/cli

This performs targeted diagnosis on the specified run.

ci_diagnose parameter example:

{
  "repo": "owner/name",
  "runId": 31782742089
}

Read-Only Boundaries and Signature Ledger

dsh-ci-doctor’s read-only contract is clear:

  • No push
  • No merge
  • No cancel
  • No rerun
  • No write to the repository

The result carries the repositoryWrites: false marker.

The signature ledger is used to record historical signatures and mark duplicate failures. When the profile provides a storage domain, the ledger is persisted to the ci_doctor storage unit; otherwise, it exists only in memory.

Applicable Scenarios and Notes

This plugin is suitable for scenarios where GitHub Actions failure logs need to be handled within DSH conversations. For example, you want the agent to first monitor new failures, then generate a structured diagnostic result for a specific run.

Usage notes:

  • The plugin depends on an authenticated GitHub CLI session.
  • The plugin only reads GitHub status and does not perform write operations.
  • Whether the signature ledger is persisted depends on whether the profile provides a storage domain.
  • Source code and MIT license should be checked before installation.
  • The DSH plugin ecosystem is in the form of a community directory, not an official app store.

Links

The verified documentation does not provide a directory page URL. The repository address is:

https://github.com/jkrandom-sudo/dsh-ci-doctor