AI 直接接入¶
把本站的公开 URL 交给 AI 助手,让它直接读取接口契约来写调用代码。
给 AI 的 URL¶
| 用途 | URL |
|---|---|
| 索引(先读这个) | https://twitter-api.es007.com/llms.txt |
| 完整接口语义 + 字段级契约 | https://twitter-api.es007.com/llms-full.txt |
| 机器可读能力清单 | https://twitter-api.es007.com/capabilities.json |
| gRPC 参考(含原始 proto) | https://twitter-api.es007.com/grpc/llms-full.txt |
| Python 参考(门面签名与错误处理) | https://twitter-api.es007.com/python/llms-full.txt |
按场景选:写 Python 调用代码读 python/llms-full.txt;用其它语言或需要自行生成 stub
读 grpc/llms-full.txt(内含全部 .proto 原文);判断某个接口能不能用、有什么副作用
读 llms-full.txt 与 capabilities.json。
上述入口默认指向生产最新版。要锁定具体版本或使用测试通道:
| 通道 | 前缀 |
|---|---|
| 生产最新 | https://twitter-api.es007.com/pro/latest/ |
| 生产固定版本 | https://twitter-api.es007.com/pro/X.Y.Z/ |
| 测试最新 | https://twitter-api.es007.com/test/latest/ |
| 测试固定版本 | https://twitter-api.es007.com/test/X.Y.Z/ |
生产版本树与测试版本树完全隔离,测试发布不会改写生产的 latest。
一段可以直接用的提示词¶
请阅读 https://twitter-api.es007.com/llms-full.txt、
https://twitter-api.es007.com/python/llms-full.txt 和
https://twitter-api.es007.com/capabilities.json,然后用 Python 的 twitter_sdk 写代码完成:
<描述你的任务>。
约束:
1. 这是 X 客户端私有协议的封装,不是官方 API v2,不要套用官方 API 的字段名。
2. 平台是导入命名空间(x.android),不要传 platform 参数。
3. 除 login 外每个调用都要传完整 AccountState,并保存返回的最新状态;不要重新生成设备。
4. 只使用 capabilities.json 的 callable 列表中的接口;planned 里的平台当前不可调用。
5. 判断成功要看每个接口标注的业务成功判据,不要用 HTTP 状态码。
6. 重试、幂等、账号锁由调用方实现;非幂等接口重试前先确认上次是否已生效。
7. 多步任务先看 llms-full.txt 里对应的工作流:它写明了步骤顺序与步骤间的参数传递
(例如 media_id 必须原样传给 CreatePost 的 media_ids)。
AI 常犯的三个错误¶
把 implemented 当成已验证。 capabilities.json 里每个接口带
verification 字段:verified 表示真机验收通过(附日期),implemented_not_verified
表示代码完成但从未在真实环境跑通。后者可以调用,但不要在交付物里声称它「已验证可用」。
调用未实现平台。 platforms 中 status 为 unimplemented 的平台(当前是 iOS 与 Web)
没有任何 RPC,它们只出现在 planned 区块,不在 callable 里。调用其命名空间会直接失败。
忽略副作用与幂等性。 side_effects 数组写明了每个写操作在真实账号上留下什么痕迹。
idempotent: false 的接口(发帖、回复、引用、媒体上传)重复调用会产生重复内容,
超时后盲目重试是最常见的事故来源。
版本对应关系¶
Python SDK、Go server 镜像与本文档站由同一个 Git Tag 发布,版本号相同。 混用不同版本的 SDK 与 server 属于未定义行为。