gateway-diagnose 是来自 joelhooks/joelclaw 仓库的一个技能,主题为网关诊断(Gateway diagnosis)。其官方页面(https://www.skills.sh/joelhooks/joelclaw/gateway-diagnose)给出的说明围绕如何排查网关故障展开,以下按资料内容整理。
用途与定位:该技能用于诊断网关失败。核心做法是先从已有证据入手,包括守护进程日志、会话记录、Redis 状态以及 OTEL 遥测,找到失败的请求、事件、运行或流程 ID,以及原本的预期行为。资料特别说明,诊断本身并不授权发送探测消息,也就是说排查行为与主动发消息验证是两回事。
主要能力与流程:
-
读取当前网关入口、服务配置以及归属/运行手册(ownership/runbook)。通过 joelclaw gateway --help 查看支持的状态、事件和诊断命令。
-
在探测依赖之前先确定服务部署位置(service placement);本地没有集群并不能作为远程归属依赖失败的证据。
-
沿实际路径追踪:入站(ingress)、持久队列、策略、网关会话、适配器、投递回执。比较时间戳、关联 ID、进度以及配置的超时。资料指出,队列年龄本身不能证明 agent 挂起;依赖降级时仍可能允许对通道和会话进行有用的诊断。
-
沿第一个相关故障追到根因。如果目的是审计,就报告;如果是已授权的修复,就修复该故障并继续独立诊断。不因为第一个探测失败就中止整个任务。
-
使用配置的模型、提供方、进程归属和当前启动源。历史错误字符串只是线索,不是恢复旧的嵌入式控制器、轮询归属租约或模型固定的命令。
安全与边界约束:保留单一的传输与网关归属。不要启动竞争的轮询器或网关,不要削弱访问控制,不要按名称杀进程,不要重置共享检出。在获得授权时,使用所属服务的作用域内重启或恢复路径。
验证与报告:验证受影响的正确行为并报告确切观察结果。队列提交成功不能证明投递成功。诊断报告中绝不能打印令牌、原始私信或认证文件。
适用场景:适用于网关故障排查、Telegram 全链路分诊(守护进程 → Redis 等)、请求/事件/运行/流程的失败定位与根因分析,以及授权范围内的修复验证与审计报告。
限制与缺失事实:资料未提供该技能的具体安装命令、支持平台、价格或收费方式、依赖版本等信息,这些暂未提供。诊断本身不授权发送探测消息,授权修复与审计是两种不同动作,需要注意区分。