关于 turbo-doctor
turbo-doctor 是用于交互式诊断和修复 Goldsky Turbo 现有数据管道问题的技能,适合管道运维人员。它按认证、状态、日志和凭据逐步排查,并要求确认后再执行更改。
主要功能
- 01按步骤检查认证与管道状态
- 02分析日志中的常见错误
- 03按需核查管道密钥
- 04给出诊断并征求修复确认
适用场景
- 01排查运行中管道的数据或延迟异常
- 02分析失败管道的日志与原因
- 03检查连接错误涉及的密钥
- 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