mcpField
T
turbo-doctor

turbo-doctor

github.com/goldsky-io数据与数据库124.1k 次安装今天更新
代码仓库

关于 turbo-doctor

turbo-doctor 是用于交互式诊断和修复 Goldsky Turbo 现有数据管道问题的技能,适合管道运维人员。它按认证、状态、日志和凭据逐步排查,并要求确认后再执行更改。

主要功能

  1. 01按步骤检查认证与管道状态
  2. 02分析日志中的常见错误
  3. 03按需核查管道密钥
  4. 04给出诊断并征求修复确认

适用场景

  1. 01排查运行中管道的数据或延迟异常
  2. 02分析失败管道的日志与原因
  3. 03检查连接错误涉及的密钥
  4. 04决定是否重启、恢复或重新部署管道

安装

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

$npx skills add https://github.com/goldsky-io/goldsky-agent --skill turbo-doctor

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

附带文件evals/trigger-eval.json

详细介绍

Pipeline Doctor

边界

  • 以交互方式诊断并修复现有的流水线问题。
  • 不要构建新流水线——这属于 /turbo-builder 的职责。
  • 不要充当命令参考。如果用户只需要查询 CLI 语法或错误模式,请改用 /turbo-operations 技能。

按照结构化的诊断工作流,系统地识别并解决流水线问题。

模式检测

运行任何命令前,检查是否有 Bash 工具可用:

  • 如果 Bash 可用(CLI 模式):直接执行命令并解析输出。
  • 如果 Bash 不可用(参考模式):输出命令供用户运行。请用户粘贴输出,以便你分析并提供建议。

诊断工作流

按顺序执行以下步骤。不要跳过步骤——每一步都基于前一步。

步骤 1:验证身份验证

运行 goldsky project list 2>&1,检查登录状态。

  • 如果已登录: 记录当前项目并继续。
  • 如果未登录: 告知用户需要进行身份验证。使用 /auth-setup 技能提供指导。确认身份验证完成后再继续。
步骤 2:确定流水线

运行 goldsky turbo list,显示所有流水线。

询问用户想诊断哪个流水线。如果用户已指定,确认该流水线存在于列表中。

记录流水线的当前状态(running、paused、error、completed、starting)。

步骤 3:分析流水线状态

根据状态执行相应操作:

  • running — 流水线正在运行。检查问题是否与数据质量、延迟或意外行为有关。继续执行步骤 4。
  • error — 流水线已失败。这是最常见的情况。继续执行步骤 4,分析日志。
  • paused — 流水线已手动暂停。询问用户是否要恢复运行。
  • starting — 流水线正在初始化。询问用户已处于启动状态多久。如果超过 10 分钟,检查日志。
  • completed — 作业模式流水线已完成。询问用户预期行为与实际行为有何差异。
步骤 4:检查日志

运行 goldsky turbo logs <pipeline-name> --tail 100 2>&1 获取近期日志。

分析输出,查找已知错误模式。参考 /turbo-operations 技能中的错误模式,包括:

  • 连接错误 — sink 无法访问、身份验证失败、超时
  • 架构错误 — 列不匹配、类型不匹配、缺少列
  • 资源错误 — OOM、磁盘已满、速率限制
  • 数据错误 — 反序列化失败、区块范围无效
  • 配置错误 — YAML 无效、数据集未知、转换配置错误
步骤 5:检查密钥(如适用)

如果日志显示连接或身份验证错误:

运行 goldsky secret list,确认所有必需的密钥都存在。

如果有流水线 YAML 文件,请与之交叉核对。使用 /secrets 技能,获取创建或更新密钥的指导。

步骤 6:提供诊断结果

按以下格式呈现你的发现:

## Diagnosis

**Pipeline:** [name]
**Status:** [status]
**Issue:** [one-line summary]

**Root cause:**
[Detailed explanation of what's wrong]

**Evidence:**
- [Log line or observation 1]
- [Log line or observation 2]

**Recommended fix:**
1. [Step 1]
2. [Step 2]

**Prevention:**
[How to avoid this in the future]
步骤 7:提出修复方案

如果修复涉及 CLI 命令(重启、更新密钥、重新部署),主动提出代为执行。进行任何更改前,务必先征得用户确认。

常见修复方法:

  • 重启: goldsky turbo restart <name>(如需全新启动,可使用 --clear-state)
  • 更新密钥: 使用 goldsky secret update <name> --value "$(cat /secure/path/secret.json)" 就地轮换现有密钥;JSON 格式和凭据处理方式请参阅轮换凭据。不要删除并重新创建正在使用的密钥。与 create 不同,update 不会提示输入值。切勿在对话中回显凭据。
  • 重新部署: goldsky turbo delete <name>,然后运行 goldsky turbo apply <file.yaml>
  • 恢复运行: goldsky turbo resume <name>(适用于已暂停的流水线)

重要规则

  • 切勿猜测问题所在。务必先查看日志和状态。
  • 如果不确定,请如实说明,并建议提供哪些额外信息会有所帮助。
  • 对于作业模式的管道,请记住它们无法暂停、恢复或重启,只能删除并重新部署。
  • 执行破坏性命令(delete、restart --clear-state)前务必先征求确认。
  • 如果 CLI 无法诊断该问题,请建议用户联系 Goldsky 支持,并提供具体的错误消息。

相关内容

  • /turbo-operations — CLI 命令、生命周期操作和错误模式参考
  • /turbo-builder — 构建并部署新的管道
  • /turbo-pipelines — YAML 配置和架构参考
  • /secrets — 管理 sink 凭据

评论

支持 Markdown