用途
temporal-ops 用于运维和诊断正在运行的 Temporal 环境,包括 Temporal Cloud 和自托管 Temporal Server。它通过命令行工具(temporal、tcld)执行操作,而不是编写 SDK 代码。该技能明确不负责编写工作流、活动或 SDK 代码(应使用 skill-temporal-developer),不提供详尽的 CLI 参数表(可运行 temporal <cmd> --help 或参考 cli-conventions.md),不涉及 Worker 性能调优与容量规划(应使用 skill-temporal-workertuning),也不覆盖 Helm、Kubernetes、数据库管理、监控栈配置等超出 CLI 范围的内容。
主要能力
该技能有两种模式:
运维模式:用户希望执行某项操作,例如创建命名空间、轮换密钥、检查容量、查找不健康的工作流、取消批处理、设置导出。技能会执行正确的命令并解读输出。
诊断模式:用户带着症状而来,例如工作流卡住、证书错误、连接超时、非确定性 panic。技能会按自底向上的分层方式引导排查,直到以置信度评分确定根因。
运维意图覆盖的范围包括:Cloud 命名空间管理(创建、获取、列出、删除、区域增删、故障转移、HA 配置、保留策略、标签、编解码服务器、连接规则、搜索属性、Workflow History Export、Nexus Endpoint 调用方命名空间允许列表)、Cloud 容量(APS/容量模式、按需与预置切换、TRU、APS/RPS/OPS 限制与限流)、Cloud IAM(API 密钥、用户、角色权限、用户组、服务账号)、Cloud 证书(mTLS 证书生成、上传 CA、证书过滤器、轮换)、Cloud 连接(PrivateLink/PSC、连接规则)、自托管管理(集群健康、describe、命名空间 CRUD、搜索属性、Nexus 端点)、工作流健康(通过 list 查询查找卡住/挂起/不健康的工作流、任务队列轮询器状态、工作流计数)、工作流恢复(取消、终止、重置)、批量操作、调度 CRUD、外部完成或失败活动、Cloud Ops API、计费、审计日志、Terraform provider、到期提醒、SAML/SCIM、从自托管迁移到 Cloud 等。
诊断症状覆盖的范围包括:连接被拒绝、DNS 解析失败、TLS 握手失败、证书过期或未生效、未知证书颁发机构、tcld 会话或认证失败、UNAUTHENTICATED、命名空间未找到、RESOURCE_EXHAUSTED、任务队列无轮询器、工作流卡在待处理的活动/定时器/子工作流/信号、非确定性错误、重放失败、HA 故障转移未路由流量、无服务器 Worker 在故障转移后停止处理、context deadline exceeded、工作流繁忙(BusyWorkflow)、负载过大、不可见重试循环、高调度到启动延迟、高重放延迟、调度未触发等。
使用方式
运维路径:
- 识别意图和后端。判断操作针对 Temporal Cloud(使用 tcld 命令,需要 tcld login)、自托管集群(使用 temporal operator 命令),还是数据平面(两种后端均可,使用 temporal workflow、temporal batch、temporal schedule 等)。如果后端不明确,先询问用户是 Cloud 还是自托管,不要默认任何一种。
- 执行并解读。查找意图对应的参考文件,运行命令并解读结果。
- 验证。变更操作后重新运行对应的 get 或 describe 命令,确认新状态符合用户意图。
诊断路径:
- 识别症状。要求用户提供精确复制的错误文本,不接受转述。确认三件事:运行了什么命令或什么 SDK 调用产生了错误、什么环境产生了它、最近有什么变更。
- 收集上下文。
- 自底向上诊断。按层验证:DNS/网络路径、TCP/端口可达性、TLS 握手、认证(API 密钥或 mTLS 客户端证书)、gRPC 健康与 Temporal 前端可达性、Temporal 命名空间/任务队列/Worker、工作流代码(确定性、信号、定时器、子工作流)。始终验证上一层,而不是给出推测性修复。
- 为每个诊断附加 1-10 的置信度评分:9-10 表示症状、操作和确认信号完全吻合;6-8 表示证据良好但至少有一个替代方案仍合理;1-5 表示问题仍不明确,下一步是区分性检查而非根因。
适用场景
适用于需要管理或排查正在运行的 Temporal 环境的场景,包括 Cloud 和自托管两种后端。典型场景如:创建或删除命名空间、轮换 mTLS 证书、检查容量与限流、查找并恢复卡住的工作流、诊断连接或认证问题、排查非确定性错误、处理故障转移问题、查看计费与审计日志、通过 Terraform 管理资源等。
限制
- 不编写工作流、活动或 SDK 代码。
- 不提供详尽的 CLI 参数表。
- 不涉及 Worker 性能调优、容量规划。
- 不覆盖 Helm、Kubernetes、数据库管理、监控栈配置。
- 破坏性操作(不可逆、撤销活跃身份访问、移动生产流量、扇出到所有匹配项)必须先收集证据并向用户提议,不得自行执行;需明确命名目标、说明命令与命名空间,并等待用户明确批准后再执行。
- 诊断时需注意错误代码的歧义性,例如 RESOURCE_EXHAUSTED 可能表示账户限制限流或每个工作流的锁争用。
以上内容基于技能资料整理,具体命令、标志和预期输出请参考各参考文件。