监视 Actions 失败并生成结构化诊断卡
28/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jkrandom-sudo/dsh-ci-doctor该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 监视Actions新失败
- 原始日志转诊断卡
- 签名账本识别复发
CI 失败,打开日志前就完成诊断 —— DeepSeek Harness 插件,监视 GitHub Actions 的新失败,把原始日志转成结构化诊断卡,用签名账本识别复发问题
README
由 DeepSeek 最新模型翻译生成dsh-ci-doctor
English · npm · DeepSeek Harness
CI 失败了?诊断结果在你打开日志之前就已经就绪。 dsh-ci-doctor 监视 GitHub Actions 的新失败,把原始作业日志变成结构化发现 —— 归一化错误签名、失败分类、嫌疑文件、裁剪后的日志摘录 —— 并记住它见过的每一个签名,老问题复发时一眼认出。全部通过两个 agent 工具和你本机已登录的 gh CLI 完成。
使用方法
直接用自然语言向 agent 提问即可,它会自动选对工具:
- _「帮我盯着这个仓库的 CI,挂了告诉我」_ → 启动 ci_watch 后台监视作业。
- _「 nightly 构建为什么挂了?」_ → 对最近一次失败运行执行 ci_diagnose,直接给出诊断卡。
- _「诊断一下 cli/cli 的 31782742089 这次运行」_ → 针对指定运行的定向诊断。
展开完整文档(README 剩余 1 节)
dsh-ci-doctor
English · npm · DeepSeek Harness
CI 失败了?诊断结果在你打开日志之前就已经就绪。 dsh-ci-doctor 监视 GitHub Actions 的新失败,把原始作业日志变成结构化发现 —— 归一化错误签名、失败分类、嫌疑文件、裁剪后的日志摘录 —— 并记住它见过的每一个签名,老问题复发时一眼认出。全部通过两个 agent 工具和你本机已登录的 gh CLI 完成。
使用方法
直接用自然语言向 agent 提问即可,它会自动选对工具:
- _「帮我盯着这个仓库的 CI,挂了告诉我」_ → 启动 ci_watch 后台监视作业。
- _「 nightly 构建为什么挂了?」_ → 对最近一次失败运行执行 ci_diagnose,直接给出诊断卡。
- _「诊断一下 cli/cli 的 31782742089 这次运行」_ → 针对指定运行的定向诊断。
诊断卡会以 markdown 形式直接出现在对话里:
CI diagnosis: cli/cli run #31782742089
Conclusion: failure · run
Job: Issue Triage (skills-driven)
Failed steps: triage
Signatures:
- 81a0edf32878 (timeout, first time seen) — server:http_server Session timeout configured…
Suspect files: script/triage.ts
Log excerpt
…
功能
1. 监视 —— ci_watch 工具。 启动一个后台作业,轮询新增的失败运行(首次轮询建立基线,历史红色运行永远不会误报):
{ "repo": "owner/name", "branch": "main", "intervalSeconds": 30, "timeoutMinutes": 60 }
- 状态行随时可读,随时可取消。
- 瞬时错误指数退避,连续 5 次失败放弃,认证错误立即失败。
- 发现新失败时以现成的下一步收尾:call ci_diagnose with repo="…" runId=…。
- 显式指定仓库,或省略 repo 监视当前工作目录所在仓库。
2. 诊断 —— ci_diagnose 工具。 指定一个运行(或默认取最近一次失败运行),返回上面那张诊断卡:
{ "repo": "owner/name", "runId": 31782742089 }
- 错误签名经过归一化(掩码时间戳、十六进制 id、数字),同一个失败在不同运行中得到同一个 id。
- 每个签名自动分类:test / build / lint / typecheck / dependency / network / permission / timeout / infra。
- 从日志中挖掘嫌疑文件,自动剔除 vendor 路径。
- 日志摘录按预算裁剪,插入诚实的 … (skipped N lines) … 标记 —— 绝不编造内容。
3. 失败签名账本。 每个诊断过的签名都会被记住 —— 见过几次、首次/最近出现时间、最近的仓库和运行链接。复发问题在报告里显示为 seen 3×,而不是伪装成新问题。宿主提供 storage domain 时账本持久化为 DSH 存储目录下的 ci_doctor 存储单元,否则为内存账本。
只读契约
两个工具只读取 GitHub 状态(通过 gh api),绝不 push、合并、取消、重跑,也不写仓库里的任何东西。每个结果都携带 repositoryWrites: false 标记;包内还附带一个可选的 invariant 伴随插件(dsh-ci-doctor/invariant),在带 invariants 服务的宿主上,一旦结果丢失该标记就会立即报错。
安装
dsh plugin --profile web add dsh-ci-doctor
前置要求:已登录的 GitHub CLI(gh auth login)—— 插件直接复用该会话,无需任何额外配置。
配置项
| 选项 | 默认值 | 含义 |
| pollIntervalSeconds | 30 | 监视轮询间隔秒数(最小 5)。 |
| watchTimeoutMinutes | 60 | 单个监视的存活时长(分钟,最小 1)。 |
| maxLogLines | 200 | 每个作业的日志摘录行数预算(最小 20)。 |
| ghBin | gh | GitHub CLI 可执行文件。 |
| ledgerEnabled | true | 是否把签名记入账本。 |
工作原理
插件只通过文档化的 Cordis 接缝与宿主交互,不 import 任何 @deepseek-ai/* 包:
- tools —— 在真实工具运行时上注册 ci_watch / ci_diagnose。
- jobs —— ci_watch 作为一等流式后台作业运行,归属发起调用的 agent。
- shell —— 所有 gh 调用都走宿主受防护、带沙箱的执行管线。
- storageDomain —— 签名账本持久化为 ci_doctor 存储单元。
开发
pnpm install
pnpm typecheck && pnpm test && pnpm build # 类型、单元测试、打包
pnpm format:check # Prettier
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jkrandom-sudo/dsh-ci-doctor
监视 Actions 失败并生成结构化诊断卡
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,225未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,370已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13941 个插件含 PR 收录与…
★ 355已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。