Shyboy0499/dsh-pr-watch ↗★ 1

dsh-pr-watch

DeepSeek Harness plugin (in development): reports what changed in your authored pull requests since your last check — merged, closed, or gone stale. 适合需要跟踪自己提交的PR是否合并、关闭或长期未更新的用户;项目仍在开发中。

Package
dsh-pr-watch
Compatibility
Unverified
Harness peer range
>=0.0.1-rc.1 <0.1.0 || >=0.1.0-rc.1 <0.2.0-0
Cordis peer range
^4.0.1
Version
0.1.0
License
MIT
Last updated
Sep 27, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Shyboy0499/dsh-pr-watch

Usage

Ask the agent to check your pull requests, or call the tool directly.

{
  "staleDays": 14,
  "all": false
}

Typical output:

✅ Merged (2):
  octo/repo#41 — Add Russian locale (last activity 1 day ago)
  octo/repo#38 — Fix broken link (last activity 3 days ago)

⏳ Became stale (1):
  octo/repo#29 — docs: clarify install steps (last activity 21 days ago)

🆕 Newly noticed (1):
  octo/repo#44 — Add MCP server entry (last activity today)

Run it a second time and only genuine changes appear. A merge reported today is never reported again.

Parameters

ParameterTypeDescription
staleDaysintegerWhole days without activity before a pull request counts as stale. Defaults to 14. Must be between 1 and 3650; 0 is refused as a likely mistake.
allbooleanList every open pull request instead of only what changed. Useful on first run, where everything is "newly noticed". Defaults to false.

Configuration

v1 exposes everything through the tool's two parameters above. It reads no settings file, so there is nothing else to configure yet.

SettingDefaultSettable in v1Purpose
staleDays14Yes — tool parameterDays without activity before a pull request is reported stale
pruneDays90No — compile-time constantDrop entries that reached a terminal state this long ago
forgottenDays180No — compile-time constantHow long a pruned outcome is remembered before it can be reported again
Snapshot path$DSH_HOME/pr-watch/snapshot.jsonNo — derived from the environmentFalls back to ~/.dsh/pr-watch/snapshot.json when DSH_HOME is unset

Two further keys appear in the design doc — ignoreRepos and a user-settable snapshotPath — but they are deferred to v2 and not implemented. Honouring them needs a settings loader that does not exist yet, and ignoreRepos additionally needs a rule to evict ignored entries from the snapshot: an entry dropped from enumeration but kept in the snapshot would never resolve, so every check would report it as unresolved forever. See the plan's refinements section for the full reasoning.

Configuration

v1 exposes everything through the tool's two parameters above. It reads no settings file, so there is nothing else to configure yet.

SettingDefaultSettable in v1Purpose
staleDays14Yes — tool parameterDays without activity before a pull request is reported stale
pruneDays90No — compile-time constantDrop entries that reached a terminal state this long ago
forgottenDays180No — compile-time constantHow long a pruned outcome is remembered before it can be reported again
Snapshot path$DSH_HOME/pr-watch/snapshot.jsonNo — derived from the environmentFalls back to ~/.dsh/pr-watch/snapshot.json when DSH_HOME is unset

Two further keys appear in the design doc — ignoreRepos and a user-settable snapshotPath — but they are deferred to v2 and not implemented. Honouring them needs a settings loader that does not exist yet, and ignoreRepos additionally needs a rule to evict ignored entries from the snapshot: an entry dropped from enumeration but kept in the snapshot would never resolve, so every check would report it as unresolved forever. See the plan's refinements section for the full reasoning.