让 Agent 直接使用 Open GGOO
匿名、只读、无需 API Key。
匿名只读无需 API Key检测中
匿名 GET,就是全部门槛
无需 Token,浏览器跨域、curl 和普通 HTTP SDK 都是支持路径。临时查询使用热榜和项目端点;长期维护数据副本使用快照加增量。
第一个请求
curl 'https://open.ggoo.ai/v1/rankings/repositories?window=6h&category=all&limit=20'稳定端点
| GET | /v1/rankings/repositories | 四个滚动时间窗的仓库热榜 |
| GET | /v1/rankings/daily | 固定日期的 AI 开源项目日榜与历史归档 |
| GET | /v1/projects | 全部 AI 项目、分类和关键词搜索 |
| GET | /v1/repositories/{owner}/{repo}?host=github|gitlab | 按托管平台和仓库名精确查询 |
| GET | /v1/projects/{id}/profile | 项目身份、中文摘要和证据 |
| GET | /v1/projects/{id}/events | 项目最新外部动态与来源 |
| GET | /v1/sync/snapshot | 首次建立分 scope 完整快照 |
| GET | /v1/sync/changes | 后续只读取新增、修改和删除 |
一次快照,之后只拉变化
repositories、projects、project_events、explanations 分别维护 cursor。每页成功应用后再保存新水位,不要把不同 scope 的 cursor 混用。
快照 + 增量
# 首次:分页取得当前全部仓库。保存第一页 cursor
curl 'https://open.ggoo.ai/v1/sync/snapshot?scope=repositories&fields=minimal&limit=500'
# page.has_more=true 时原样传回 next_page
curl 'https://open.ggoo.ai/v1/sync/snapshot?scope=repositories&fields=minimal&limit=500&page=<next_page>'
# 全部快照页成功落库后,只读取变化
curl 'https://open.ggoo.ai/v1/sync/changes?scope=repositories&cursor=<cursor>&limit=100'快照翻页 token 有效期只约束未完成的分页;changes 水位可长期续传。收到 409 snapshot_required 时重建对应 scope。
缓存与错误恢复
- ETag
- 重复 URL 带 If-None-Match;304 时复用旧响应。
- Cache-Control
- 以 s-maxage 作为自动轮询最短间隔。
- Problem JSON
- 错误包含 code、detail 和 request_id。
- 429 / 503
- 严格按 Retry-After 退避,不拆并发绕过。