用途:在遇到持续的 Claude API 问题时收集诊断信息,用于排查故障或准备提交给 Anthropic 支持团队的工单。核心数据是每个 API 响应中的 request-id 响应头。
主要能力:捕获 request-id(成功响应通过 message._request_id,异常通过 e.response.headers.get('request-id'));读取速率限制相关响应头,如 anthropic-ratelimit-requests-limit、anthropic-ratelimit-requests-remaining、anthropic-ratelimit-tokens-limit、anthropic-ratelimit-tokens-remaining、retry-after;通过脚本汇总 SDK 版本、运行时版本、鉴权状态、API 连通性、响应头与 API 状态页信息,并打包为带时间戳的压缩文件。
使用方式:需已安装 Anthropic SDK、可访问应用日志,并在环境中设置 ANTHROPIC_API_KEY。先按示例代码捕获 request-id,再运行 anthropic-debug-bundle.sh 脚本生成调试包。脚本会执行 curl 连通性测试、抓取响应头、查询 status.anthropic.com 状态,最后用 tar 打包并清理临时目录。
脱敏规则:必须移除 API 密钥、用户内容与 PII、authorization 头;可安全包含 request-id、错误消息、速率限制头、SDK 版本、状态码和时间戳。归档前需人工检查,确认不含密钥、授权头或客户提示/响应内容。
限制与错误处理:若连通性请求返回 HTTP 错误,保留其状态码、request-id 和速率限制头并记录尝试时间;若状态端点或包查询不可用,应标注该步骤不可用而非编造结果;若无法验证脱敏,不要分享归档,需移除不安全源数据后重新生成。速率限制问题可参考 anth-rate-limits。