mcpField
O
ops-doctor

ops-doctor

github.com/davepoon开发3.7k73 次安装今天更新
代码仓库

关于 ops-doctor

ops-doctor 是用于诊断 ops 插件的 Claude Code 技能,可安排 Agent 处理发现的错误和警告。check-only 选项只报告结果,不继续修复。

主要功能

  1. 01运行插件健康诊断
  2. 02以 JSON 报告错误和警告
  3. 03支持仅检查并报告
  4. 04安排 Agent 修复问题
  5. 05修复后再次验证

适用场景

  1. 01检查插件配置与健康状况
  2. 02查找清单或注册表中的问题
  3. 03通过后续诊断验证修复

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/davepoon/buildwithclaude --skill ops-doctor

安装后在 Claude Code 中输入/ops-doctor确认已加载。

详细介绍

运行时上下文

诊断前,加载:

  1. 偏好设置:cat ${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json — 检查所有已配置的渠道和服务
  2. 守护进程健康状态:cat ${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json — 主要诊断输入
  3. 密钥:验证密钥解析链是否正常:Doppler MCP → 环境变量 → Doppler CLI → 密码管理器

OPS ► DOCTOR

CLI/API 参考

ops-doctor 二进制脚本
命令用法输出
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor运行完整的健康诊断包含 errors、warnings、tools、env_vars、registry 的 JSON
${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"]}'运行并使用回退方案JSON 或错误标记
诊断读取的关键文件
文件用途
${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json主要守护进程健康状态输入
${CLAUDE_PLUGIN_DATA_DIR}/preferences.json已配置的渠道和服务
${CLAUDE_PLUGIN_ROOT}/.claude-plugin/plugin.json插件清单验证
${CLAUDE_PLUGIN_ROOT}/scripts/registry.json项目注册表验证

阶段 1 — 运行诊断

运行诊断脚本以获取完整的健康报告:

${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null || echo '{"errors":["diagnostic_script_failed"],"warnings":[]}'

解析 JSON 输出。显示摘要:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 OPS ► DOCTOR — [timestamp]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 Plugin:     [version] at [plugin_root]
 Skills:     [count] defined
 Agents:     [count] defined
 Bin scripts:[count] available

 ERRORS      [count]
 [list each error with description]

 WARNINGS    [count]
 [list each warning with description]

 TOOLS
 [table of CLI tool availability]

 ENV VARS
 [table of env var status]

 Registry:   [status] ([project_count] projects)
 Preferences:[status]
 Cache:      [versions list]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Agent Teams 支持

如果已设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1,当发现多个相互独立的修复类别时(例如清单问题 + 权限问题 + 注册表问题),使用 Agent Teams。这样可以:

  • 修复 Agent 并行处理不同的问题类别,互不干扰
  • 你可以设定优先级:“先修复清单错误,再处理权限”
  • Agent 之间共享上下文,因此修复清单时获取的信息可以帮助修复注册表

团队设置(仅在启用标志且存在多个问题类别时):

TeamCreate("doctor-fixers")
Agent(team_name="doctor-fixers", name="fix-manifest", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-permissions", subagent_type="ops:doctor-agent", ...)
Agent(team_name="doctor-fixers", name="fix-registry", subagent_type="ops:doctor-agent", ...)

如果未设置该标志,或只有一个问题类别,则使用单个 doctor-agent 子 Agent。

阶段 2 — 决策

如果 $ARGUMENTS 包含 --check-only:到此为止,仅显示结果。

如果存在错误或警告:

显示:“发现 [N] 个问题。正在启动 doctor agent 自动修复……”

然后启动 doctor agent(或 Agent Team — 参见上文):

Agent({
  subagent_type: "ops:doctor-agent",
  prompt: "Fix the following ops plugin issues.\n\nDIAGNOSTIC_JSON: [paste full JSON]\nPLUGIN_ROOT: ${CLAUDE_PLUGIN_ROOT}\nCACHE_DIR: ~/.claude/plugins/cache/ops-marketplace/ops\n\nFix all errors and warnings. Re-run diagnostics after to verify.",
  description: "Fix ops plugin issues"
})

如果没有错误和警告:

显示:“所有检查均已通过。插件运行正常。”

阶段 3 — 修复后验证

Agent 完成后,重新运行诊断:

${CLAUDE_PLUGIN_ROOT}/bin/ops-doctor 2>/dev/null

显示更新后的结果。如果仍有错误,向用户报告并提供手动修复说明。


原生工具用法

WebSearch — 查找已知问题

诊断发现错误时,使用 WebSearch 检查该问题是否为已知的 Claude Code 插件缺陷、MCP 服务问题或配置问题。附上相关 GitHub 问题或文档的链接。

WebFetch — MCP 健康检查

对于看起来已断开连接的 MCP 服务,使用 WebFetch 直接测试其底层 API(例如,向 https://api.linear.app/graphql 发送简单查询),以区分“MCP 故障”和“API 不可用”。

评论

支持 Markdown