开发者数据接口

免费、无需密钥的 JSON API、一个 MCP 服务器、一个 Atom feed 和一个 iCalendar feed——不只为网页而生,更是为 agent 和机器人准备的。

接口列表

欢迎注明来源:"Data: claudereset.org"。免费使用,边缘节点缓存 5 分钟,支持 CORS。

/api/v1/forecast.json —— 示例

{
  "schema_version": 1,
  "generated_at": "2026-09-23T10:09:51Z",
  "source": "https://claudereset.org",
  "available": true,
  "reset_today": false,
  "p24": 13,
  "p48": 22,
  "confidence": "low",
  "confidence_reasons": [
    "the selected rhythm model (memoryless) doesn't yet beat the climatology baseline in backtesting"
  ],
  "inputs": {
    "avg_gap_hours": 337.0,
    "hours_since_last": 446.0,
    "B": 0.0712,
    "C": null,
    "cad24": 0.0687,
    "official_signal": 0.0,
    "status_signal": 0.2683,
    "issues_signal": 0.0528,
    "S": 0.0671,
    "global": true,
    "rhythm_model": "memoryless"
  },
  "formula_version": "1",
  "disclaimer": "Independent project, not affiliated with Anthropic. Anthropic has never published or promised a reset schedule \u2014 every reset recorded here was announced ad hoc. Percentages are estimates from past announcements, not a schedule.",
  "freshness": {
    "events_checked_at": "2026-09-23T10:03:55Z",
    "signals_fetched_at": "2026-09-23T10:00:44Z",
    "built_at": "2026-09-23T10:09:51Z"
  }
}

/api/v1/timeline.json —— 示例(1 个事件)

{
  "schema_version": 1,
  "source": "https://claudereset.org",
  "events": [
    {
      "id": "2102438800836489554",
      "date": "2026-09-22",
      "ts": "2026-09-22T16:44:06Z",
      "scope": "Pro+Max+Team",
      "kind": "banked",
      "source": "ClaudeDevs",
      "url": "https://x.com/ClaudeDevs/status/2102438800836489554",
      "summary": "Opus 5.5 performs at the level of Fable 5.1, ~30% faster and ~40% cheaper than Opus 5 per task. In Claude Code: 5-hour session limits increase 20% today; Pro, Max, and Team users get a reset to use anytime (available in Settings \u2192 Usage, apply any time until Oct 22).",
      "partial": false,
      "global": false,
      "origin": "official_post"
    }
  ]
}

示例:curl

curl -s https://claudereset.org/api/v1/forecast.json | jq .p24

示例:JavaScript fetch

const r = await fetch("https://claudereset.org/api/v1/forecast.json").then(r => r.json());
console.log(`Next 24h: ${r.p24}% (confidence: ${r.confidence})`);

MCP 服务器

一个只读的Model Context Protocol服务器,地址为 https://claudereset.org/mcp:基于 HTTP POST 的无状态 JSON-RPC 2.0,无需 API 密钥,不提供任何写操作。

claude mcp add --transport http claudereset https://claudereset.org/mcp

工具列表

工具参数返回内容
get_reset_forecastnone当前 /api/v1/forecast.json 的数据。
list_claude_resetslimit(可选,默认 20),since(可选,ISO 日期)已记录事件,按时间倒序。
get_status_signalsnone当前 /api/v1/signals.json 的数据。

更新频率与版本说明

本站按固定计划(而非持续实时)检查状态与 issue 信号——/api/v1/signals.json 中的 fetched_at 会告诉你确切的检查时间。破坏性的结构变更会以新的 /api/v2/ 路径发布;/api/v1/ 本身永远不会被原地修改。

Claude Code 状态栏脚本

在 Claude Code 状态栏中显示 5h: X% · 7d: Y% · reset odds 24h: Z%——读取 Claude Code 自身的 rate_limits.five_hour.used_percentage/rate_limits.seven_day.used_percentage,第三个数字来自本站的预测 API(本地缓存 10 分钟,路径 ~/.cache/claudereset-forecast.json,超时 2 秒)。也可在/usage-check/使用,带你自己粘贴用量 JSON 的解析器。

#!/bin/bash
# claudereset.org example Claude Code status line script.
# Install: save this as ~/.claude/statusline.sh (chmod +x), then set it as your status line
# command per https://code.claude.com/docs/en/statusline — Claude Code pipes the status line's
# JSON into this script's stdin on every prompt render.
#
# Shows your own Claude Code usage (5-hour and 7-day windows, straight from the status line's own
# `rate_limits` object) plus this site's live 24h global-reset-odds forecast. The forecast fetch
# is cached locally for 10 minutes (by file mtime) and capped at a 2-second timeout, so a slow or
# unreachable network never blocks your prompt — it just falls back to showing only the usage
# figures.
set -u
input=$(cat)

# rate_limits is only present for Pro/Max subscribers (or a spend-limited gateway), and only
# after the session's first API response — `// empty` makes jq print nothing rather than "null"
# when it's absent, per code.claude.com/docs/en/statusline's own example.
FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')

LINE=""
[ -n "$FIVE_H" ] && LINE="5h: $(printf '%.0f' "$FIVE_H")%"
[ -n "$WEEK" ] && LINE="${LINE}${LINE:+ · }7d: $(printf '%.0f' "$WEEK")%"

CACHE="$HOME/.cache/claudereset-forecast.json"
mkdir -p "$(dirname "$CACHE")" 2>/dev/null

# 10-minute local cache, judged by the cache file's own mtime (works with either BSD or GNU stat).
CACHE_AGE=999999
if [ -f "$CACHE" ]; then
  MTIME=$(stat -f %m "$CACHE" 2>/dev/null || stat -c %Y "$CACHE" 2>/dev/null || echo "")
  if [ -n "$MTIME" ]; then
    CACHE_AGE=$(( $(date +%s) - MTIME ))
  fi
fi

if [ "$CACHE_AGE" -ge 600 ]; then
  if curl -s -m 2 https://claudereset.org/api/v1/forecast.json -o "$CACHE.tmp" 2>/dev/null; then
    mv "$CACHE.tmp" "$CACHE" 2>/dev/null
  else
    rm -f "$CACHE.tmp" 2>/dev/null
  fi
fi

P24=$(jq -r '.p24 // empty' "$CACHE" 2>/dev/null)
if [ -n "$P24" ]; then
  LINE="${LINE}${LINE:+ · }reset odds 24h: ${P24}%"
fi

echo "$LINE"