公开 API
作者 vortwang更新于
DidReset 的重置数据通过一组免费、无需鉴权的接口开放:JSON 状态(/api/status)、JSON 或 CSV 时间线(/api/timeline、/api/timeline.csv)、RSS(/feed.xml)、.ics 日历生成(/api/ics),另有 MCP server(/mcp)与 Markdown 镜像(/index.md)。所有响应都带 Access-Control-Allow-Origin: *,板面数据在边缘缓存 60 秒,每条事件都保留原帖链接。如果你使用这些数据,请回链 didreset.com。
这些数据可以随便用吗?
- 可以。所有接口免费、不需要 API key 或注册,响应都带 Access-Control-Allow-Origin: *,浏览器页面可以直接调用。
- 如果你使用这些数据,请回链 didreset.com:页面上一个可见链接、README 里一行说明,或数据集里的 attribution 字段都可以。
- 转载事件时请保留 sourceUrl。本站每一行都指向原始公开帖子,读者可以自行核对。
- nextEstimate 是节奏估计(上次重置 + 近 10 次重置的中位间隔),不是厂商时间表。展示时请说明。
- 本站与 OpenAI、Anthropic、xAI 无关。数据按现状提供、不作担保;字段可能为 null,请不要写出遇到 null 就崩的程序。
If you use this data, link to didreset.com(使用这些数据请回链 didreset.com)
我该用哪个接口?
| 接口 | 用途 | 格式 |
|---|---|---|
| GET /api/status | 每个厂商的板面状态:上次重置、最新信号、预计下次、统计 | JSON |
| GET /api/timeline | 公告列表,最新在前;每条都带原帖链接 | JSON 或 CSV |
| GET /api/timeline.csv | 同样的事件,CSV 格式,首行为表头 | CSV |
| GET /feed.xml | 最近 100 条公告,给阅读器;?provider= 可按厂商订阅 | RSS 2.0 |
| GET /api/ics | 把你自己的 5 小时 / 周重置时间做成日历文件;不存储 | text/calendar |
| POST /mcp | 给 Agent 用的 MCP server:get_status、get_timeline、get_next_estimate | JSON-RPC 2.0 |
| GET /index.md | 给 LLM 读的出发板 Markdown 镜像 | text/markdown |
| GET /openapi.json | 本页所有接口的机器可读描述 | OpenAPI 3.1 |
GET /api/status 返回什么?
GET/api/status
每个厂商(codex、claude、grok)一个对象:板面状态词、上次官方全员重置、最近一条任意类型的信号、按节奏推算的下次重置时间,以及统计(重置总次数、中位与平均间隔天数、最长等待、UTC 24 桶小时直方图)。
参数
无参数。
curl -s https://didreset.com/api/status{
"updatedAt": "2026-09-18T03:42:59.306Z",
"providers": [
{
"provider": "codex",
"daysSince": 5.82,
"status": "overdue",
"lastReset": {
"id": "2098685367058612394",
"kind": "reset",
"scope": "global",
"announcedAt": "2026-09-12T08:09:17.000Z",
"sourceUrl": "https://x.com/thsottiaux/status/2098685367058612394",
"sourceAccount": "@thsottiaux",
"summary": "Reset all propagated. Sweet dreams. https://t.co/VgKVUixoJG",
"verified": true
},
"nextEstimate": "2026-09-14T12:14:05.000Z",
"stats": { "totalResets": 44, "medianIntervalDays": 2.17, "meanIntervalDays": 8.37, "longestWaitDays": 73.16 }
}
]
}缓存与速率
Cache-Control: public, s-maxage=60, stale-while-revalidate=300。边缘节点 60 秒内返回同一份内容,轮询快于每分钟一次没有意义。没有硬性速率限制,请把频率控制在每客户端每分钟一次以内。
字段说明
- status 取值 reset_now | banked | tease | waiting | overdue | no_data,与板面 STATUS 列用词一致。
- nextEstimate = 上次重置 + 近 10 次重置的中位间隔;历史不足时为 null。值在过去表示「随时可能」,不是错过了时间表。
- lastReset 与 latestSignal 是完整事件对象(与 /api/timeline 同结构)或 null。
GET /api/timeline 返回什么?
公告列表,最新在前。每条事件含 id(帖子 id)、provider、kind、scope、announcedAt、原帖链接与账号、摘录和 verified 标记。加 format=csv 可得到同样行的 CSV。
参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| provider | codex | claude | grok | all | 可选 | 按厂商筛选。默认 all。 |
| limit | 整数 1–500 | 可选 | 事件条数。默认 200。 |
| format | json | csv | 可选 | 响应格式。默认 json;csv 与 /api/timeline.csv 相同。 |
curl -s "https://didreset.com/api/timeline?provider=codex&limit=2"{
"provider": "codex",
"updatedAt": "2026-09-18T03:43:00.208Z",
"events": [
{
"id": "2098685367058612394",
"provider": "codex",
"kind": "reset",
"scope": "global",
"announcedAt": "2026-09-12T08:09:17.000Z",
"effectiveAt": null,
"sourceUrl": "https://x.com/thsottiaux/status/2098685367058612394",
"sourceAccount": "@thsottiaux",
"summary": "Reset all propagated. Sweet dreams. https://t.co/VgKVUixoJG",
"audience": [],
"verified": true
}
]
}缓存与速率
Cache-Control: public, s-maxage=60, stale-while-revalidate=300,与 /api/status 相同。非法查询值返回 400,附 zod issues 数组。
字段说明
- kind 取值 reset | banked | boost | promo | tease。只有 reset 事件参与节奏统计。
- scope 为 global(全员)或 plan:{name}(单个套餐)。只有帖子明确写了稍后生效时间时 effectiveAt 才有值。
- 每条事件在本站的永久页面是 https://didreset.com/{provider}#event-{id}。
怎么把时间线导出成 CSV?
与 /api/timeline 相同的事件,按 RFC 4180 输出、首行为表头,方便表格软件与数据管道。列:id、date(ISO 8601,UTC)、provider、kind、scope、summary、source_url、page_url。
参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| provider | codex | claude | grok | all | 可选 | 按厂商筛选。默认 all。 |
| limit | 整数 1–500 | 可选 | 行数。默认 200。 |
curl -s "https://didreset.com/api/timeline.csv?provider=all&limit=500" -o resets.csvid,date,provider,kind,scope,summary,source_url,page_url
2098685367058612394,2026-09-12T08:09:17.000Z,codex,reset,global,Reset all propagated. Sweet dreams. https://t.co/VgKVUixoJG,https://x.com/thsottiaux/status/2098685367058612394,https://didreset.com/codex#event-2098685367058612394缓存与速率
Cache-Control: public, s-maxage=60, stale-while-revalidate=300。Content-Type 为 text/csv; charset=utf-8,以 inline 方式返回,浏览器可直接看,也可用 -o 保存。
字段说明
- 含逗号、引号或换行的字段会加双引号,内部引号翻倍;行尾为 CRLF。
有 RSS 订阅吗?
GET/feed.xml
RSS 2.0,跨厂商最近 100 条公告,最新在前。每个 item 的链接指向本站该事件的永久锚点;原帖放在 <source> 元素与 description 里。
参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| provider | codex | claude | grok | 可选 | 只看一个厂商。省略则三家都有。 |
curl -s "https://didreset.com/feed.xml?provider=claude"<item>
<title>Codex · Reset · 12 Sep 2026</title>
<link>https://didreset.com/codex#event-2098685367058612394</link>
<guid isPermaLink="true">https://didreset.com/codex#event-2098685367058612394</guid>
<pubDate>Sat, 12 Sep 2026 08:09:17 GMT</pubDate>
<category>codex</category>
<category>reset</category>
<source url="https://x.com/thsottiaux/status/2098685367058612394">@thsottiaux</source>
<description>…摘录与原帖链接…</description>
</item>缓存与速率
Cache-Control: public, s-maxage=300, stale-while-revalidate=600。阅读器每 5–15 分钟拉一次即可不漏事件。/api/feed 是到此地址的 308 别名。
字段说明
- 厂商页也通过 <link rel="alternate" type="application/rss+xml"> 挂出各自的 feed。
怎么把自己的重置时间放进日历?
GET/api/ics
生成 text/calendar(.ics)文件:你传入的每个窗口(5 小时重置、周重置,或两者)各一个 15 分钟事件,附提前 5 分钟的提醒。不存储任何数据,这个文件是唯一副本。/tools/window 的窗口倒计时就用这个接口。
参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
| provider | codex | claude | grok | 必填 | 窗口属于哪个产品(用于事件标题)。 |
| resetAt | 带时区的 ISO 8601 | 可选 | 你的 5 小时窗口重置时间。resetAt / weeklyAt 至少填一个。 |
| weeklyAt | 带时区的 ISO 8601 | 可选 | 你的周窗口重置时间。 |
| tz | IANA 时区名 | 可选 | 只写进描述文字(如 Asia/Shanghai)。 |
| locale | en | zh | 可选 | 事件标题语言。默认 en。 |
curl -s "https://didreset.com/api/ics?provider=codex&resetAt=2026-09-18T15:00:00Z&weeklyAt=2026-09-22T09:00:00Z&tz=Asia/Shanghai" -o codex.icsBEGIN:VCALENDAR
VERSION:2.0
PRODID:-//DidReset//Window Tracker//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:DidReset · Codex windows
BEGIN:VEVENT
UID:didreset-codex-5h-1789743600000@didreset.com
DTSTART:20260918T150000Z
DURATION:PT15M
SUMMARY:Codex 5-hour window resets
URL:https://didreset.com/tools/window
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER:-PT5M
END:VALARM
END:VEVENT
…
END:VCALENDAR缓存与速率
Cache-Control: no-store(查询串里是你的个人时间)。Content-Disposition: attachment。时间缺失或非法返回 400。
字段说明
- 时间以 UTC(Z 后缀)写入,日历软件会转成本地时区。
怎么接 MCP 客户端?
同样的数据也通过 Model Context Protocol 提供给 Agent。服务端走 Streamable HTTP(POST 上的 JSON-RPC 2.0),无需鉴权,允许任意来源。
MCPPOST https://didreset.com/mcp(别名:POST https://didreset.com/api/mcp)
| 工具 | 参数 | 返回 |
|---|---|---|
| get_status | — | 完整状态板,与 GET /api/status 同结构。 |
| get_timeline | provider?: codex | claude | grok | all,limit?: 1–100 | 最近公告,最新在前,每条带 pageUrl(本站永久锚点)。默认 all、20 条。 |
| get_next_estimate | provider: codex | claude | grok | 单个厂商的上次重置、已过天数、nextEstimate、中位间隔与样本数,并注明只是估计。 |
客户端配置
支持 Streamable HTTP 的客户端(Claude Code、Cursor、Claude Desktop 连接器)直接填 URL;只支持 stdio 的客户端可用 mcp-remote 桥接。
{
"mcpServers": {
"didreset": { "url": "https://didreset.com/mcp" }
}
}想看原始 JSON-RPC 报文的话:
curl -s https://didreset.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'缓存与速率
速率限制:每 IP 每分钟 60 次,超出返回 429 并带 Retry-After。发送 Accept: application/json, text/event-stream 的 MCP 客户端得到标准 SSE 帧;不带该头的普通客户端得到同一条 JSON-RPC 消息的纯 JSON 响应。工具结果同时带文本块(JSON)与 structuredContent。
有给 LLM 看的 Markdown 镜像吗?
有。/index.md(英文)与 /zh/index.md(中文)把出发板渲染成纯 Markdown(Content-Type text/markdown):每个厂商的状态行、上次重置与预计下次、最近 6 条公告及原帖链接,以及机器可读接口清单。每次请求重新生成,边缘缓存 60 秒。
- /index.md出发板 Markdown(英文)
- /zh/index.md出发板 Markdown(中文)
- /llms.txtllms.txt:给 LLM 的站点地图
- /llms-full.txtllms-full.txt:全部参考页合成一个文件
OpenAPI 规范在哪?
本页所有接口都写在一份 OpenAPI 3.1 文档里,含参数、响应 schema 与同样的回链请求。可以导入 Swagger UI、Postman 或 SDK 生成器。
常见问题
需要 API key 吗?
不需要。本页所有接口都是公开、无鉴权的,没有注册也没有分级;唯一的请求是使用数据时回链 didreset.com。
数据有多新?
官方账号每隔几分钟轮询一次,每条帖子经人工核对后才上板。API 响应在边缘缓存 60 秒(RSS 为 300 秒),所以一次新重置在确认后一分钟内就会出现在接口里。
nextEstimate 是时间表吗?
不是。它是上次官方重置加上近 10 次重置的中位间隔。厂商不会预告重置;历史不足时该字段为 null,值在过去表示「随时可能」。
可以转载或再分发这些数据吗?
可以,请回链 didreset.com,并保留每条事件的 sourceUrl 以便读者核对原帖。请不要把估计值说成厂商承诺。
出发板 · 非官方站点,与 OpenAI、Anthropic、xAI 无关。(Not affiliated with OpenAI, Anthropic or xAI.)