你的编程智能体开始返回错误、超时或空响应。在改配置、重装 CLI 或怀疑自己的代码之前,先花两分钟确认服务商是不是出了故障。这是我们内部使用的流程,一条 curl 加一个 20 行的脚本就够了。
简短回答:用 https://status.claude.com/api/v2/status.json 看状态灯,用 https://status.claude.com/history.atom 看事故列表。如果你用的模型有未解决的事故,问题不在你这边:换一个模型继续工作。

如何快速确认服务商是否宕机?
请求状态页的 status.json。一切正常时,indicator 字段的值是 none。
curl -s https://status.claude.com/api/v2/status.json
2026 年 10 月 29 日的返回如下:
{"page":{"id":"tymt9n04zgry","name":"Claude","url":"https://status.claude.com","time_zone":"Etc/UTC","updated_at":"2026-10-29T12:28:38.680Z"},"status":{"indicator":"none","description":"All Systems Operational"}}
这个接口就是状态灯。它只告诉你有问题,不告诉你是什么问题。要知道详情,需要读事故订阅源。
如何列出最近 24 小时的事故?
状态页在 /history.atom 提供 Atom 订阅源。每个事故是一个条目,包含标题、更新时间和状态历史(Investigating、Update、Monitoring、Resolved)。下面的脚本只用 Python 标准库,每个事故输出一行。
import re
import sys
import urllib.request
import xml.etree.ElementTree as ET
from datetime import datetime, timedelta, timezone
URL = sys.argv[1] if len(sys.argv) > 1 else "https://status.claude.com/history.atom"
HORAS = int(sys.argv[2]) if len(sys.argv) > 2 else 24
NS = {"a": "http://www.w3.org/2005/Atom"}
req = urllib.request.Request(URL, headers={"User-Agent": "statuscheck/1.0"})
xml = urllib.request.urlopen(req, timeout=20).read()
root = ET.fromstring(xml)
corte = datetime.now(timezone.utc) - timedelta(hours=HORAS)
achou = False
for e in root.findall("a:entry", NS):
upd = datetime.fromisoformat(e.find("a:updated", NS).text.replace("Z", "+00:00"))
if upd < corte:
continue
achou = True
titulo = e.find("a:title", NS).text
html = e.find("a:content", NS).text or ""
estados = re.findall(r"<strong>(\w+)</strong>", html)
print(f"{upd:%d/%m %H:%M} UTC | {estados[0] if estados else '?'} | {titulo}")
if not achou:
print(f"No incident updated in the last {HORAS}h.")
保存为 statuscheck.py 并运行。第二个参数是时间窗口(小时):
python3 statuscheck.py https://status.claude.com/history.atom 72
2026 年 10 月 29 日、窗口 72 小时的输出:
28/10 20:05 UTC | Resolved | Elevated errors affecting the Google Calendar connector
28/10 05:48 UTC | Resolved | Elevated errors affecting the Gmail connector
27/10 15:50 UTC | Resolved | Elevated errors for Claude Sonnet 5.5
27/10 09:56 UTC | Resolved | Elevated errors for Claude Sonnet 5.5
第二列是事故的最新状态。Resolved 表示已解决。其他状态(Investigating、Monitoring)说明问题仍可能影响你。
其他服务商也能用吗?
可以,只需换 URL。我们在同一天做了测试:
| 服务商 | 订阅源 | 状态列 |
|---|---|---|
| Claude | https://status.claude.com/history.atom | 正常显示 |
| GitHub | https://www.githubstatus.com/history.atom | 正常显示 |
| OpenAI | https://status.openai.com/feed.atom | 显示为 ? |
OpenAI 的订阅源内容格式不同,脚本无法提取状态,会显示 ?。标题和时间仍然正确。要查看状态,请打开条目链接。另外,OpenAI 的订阅源涵盖多个产品,标题会说明受影响的是哪一个。
事故出在你用的模型上时怎么办?
别再调试了。真实案例:2026 年 10 月 27 日,Claude 的订阅源记录了 "Elevated errors for Claude Sonnet 5.5"。当时使用该模型的人遇到的错误,本地怎么改都解决不了。务实的做法是换一个模型继续工作。
在 Verboo Code 里,就是在会话中使用 /model 命令。由于 Verboo Code 在同一个套餐里提供多个模型,一个模型出问题不会耽误你一整天:选另一个,在同一个对话里继续,token 不设上限。
如何让 Verboo Code 写这个脚本?
不必复制代码,描述需求,让 Verboo Code 来编写和测试。一个有效的提示:
Create statuscheck.py using only the standard library. It reads a status page Atom feed
(URL as 1st argument, window in hours as 2nd, default 24) and prints one line per
incident updated in the window: UTC date, latest state and title.
Test it against https://status.claude.com/history.atom.
还要让它对真实订阅源运行一遍脚本。我们就是这么做的:用当天的数据测试,可以避免脚本只在示例上能跑。
这种检查有什么局限?
- 订阅源只记录服务商已发布的内容。问题开始与事故出现之间存在时间差。
- 状态显示"一切正常"并不能证明错误出在你这边:局部、区域或账号级别的故障可能不会出现。
- 如果订阅源干净而错误持续存在,再去排查你自己的配置。
服务商宕机时,关键是不换工具就能用上另一个模型。这正是 Verboo Code 提供的:在 verboo.ai 创建账号,为下一次事故备好多个模型。



