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.
- Launches a
ci_watchbackground task to poll for new failed runs. - Runs
ci_diagnoseto generate a Markdown diagnostic card for the latest failed run or a specifiedrunId. - Generates normalized error signatures, failure categories, suspicious files, and trimmed log excerpts.
- Records historical signatures via a failure signature ledger and marks duplicate failures.
- Reads only GitHub status; does not push, merge, cancel, rerun, or write to the repository.
- 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