前言¶
對使用 DeepSeek Harness(DSH)的開發者來說,插件可以把常見工作流接進智能體對話裏。一個常見痛點是 GitHub Actions 失敗後,需要打開很長的原始日誌,再人工判斷哪一步失敗、是否之前也失敗過、哪些文件可能相關。
dsh-ci-doctor 是一個 DSH 插件,用來監視 GitHub Actions 的新失敗,並把原始日誌診斷成結構化發現。
這是什麼¶
這是一個包名爲 dsh-ci-doctor 的 DeepSeek Harness 插件。
它的核心定位是:
- 監視 GitHub Actions 的新失敗運行
- 將原始日誌整理成結構化發現
- 通過聊天中的自然語言指令啓動監視或診斷
資料中給出的倉庫地址是:
https://github.com/jkrandom-sudo/dsh-ci-doctor
許可證爲 MIT。
核心能力¶
dsh-ci-doctor 主要提供兩類能力:監視和診斷。
- 啓動
ci_watch後臺任務,輪詢新的失敗運行。 - 運行
ci_diagnose,對最新失敗運行或指定runId生成 Markdown 診斷卡。 - 生成歸一化錯誤簽名、失敗類別、可疑文件和修剪後的日誌摘錄。
- 通過失敗簽名賬本記錄歷史簽名,並標記重複失敗。
- 僅讀取 GitHub 狀態,不推送、合併、取消、重跑或寫入倉庫。
- 依賴已認證的 GitHub CLI 會話。
其中,ci_watch 首次輪詢會設置基線,歷史紅色運行不會觸發報警。日誌摘錄按預算裁剪,不發明內容。
安裝與啓用¶
先確認本機 GitHub CLI 已登錄,插件會複用這個會話:
gh auth login
Node 引擎要求爲:
^22.19.0 || >=24.0.0
安裝插件:
dsh plugin --profile web add dsh-ci-doctor
由於插件會運行在 DSH 插件環境中,並依賴已認證的 gh 會話讀取 GitHub 狀態,安裝前建議檢查源碼和 MIT 許可證。
典型用法¶
下面介紹三類常見指令。
啓動 CI 監視¶
在聊天中說:
Watch CI on this repo and tell me when something fails
這會啓動 ci_watch 後臺任務。
ci_watch 參數示例:
{
"repo": "owner/name",
"branch": "main",
"intervalSeconds": 30,
"timeoutMinutes": 60
}
這個任務會輪詢新的失敗運行。首次輪詢設置基線,因此歷史紅色運行不會觸發報警。遇到瞬時錯誤時會指數退避;連續 5 次失敗後放棄;認證錯誤會立即失敗。
診斷最新失敗運行¶
在聊天中說:
Why did the nightly build fail?
這會對最新失敗運行運行 ci_diagnose,並返回診斷卡。
診斷指定 run¶
在聊天中說:
Diagnose run 31782742089 on cli/cli
這會對指定 run 進行定向診斷。
ci_diagnose 參數示例:
{
"repo": "owner/name",
"runId": 31782742089
}
只讀邊界與簽名賬本¶
dsh-ci-doctor 的只讀契約比較明確:
- 不
push - 不
merge - 不
cancel - 不
rerun - 不寫入倉庫
結果會攜帶 repositoryWrites: false 標記。
簽名賬本用於記錄歷史簽名,並標記重複失敗。當 profile 提供 storage domain 時,賬本持久化爲 ci_doctor 存儲單元;否則僅在內存中。
適用場景與注意¶
這個插件適合需要在 DSH 對話裏處理 GitHub Actions 失敗日誌的場景。例如,你希望智能體先盯住新失敗,再對某個 run 生成一份結構化診斷結果。
使用注意:
- 插件依賴已認證的 GitHub CLI 會話。
- 插件只讀取 GitHub 狀態,不執行寫操作。
- 簽名賬本是否持久化取決於 profile 是否提供 storage domain。
- 安裝前應檢查源碼和 MIT 許可證。
- DSH 插件生態是社區目錄形式,不是官方應用商店。
鏈接¶
已覈實資料未提供目錄頁 URL。倉庫地址爲:
https://github.com/jkrandom-sudo/dsh-ci-doctor