Skip to content

pm 席位 GraphQL 限流:高频读改走 REST(curl+代理凭证),GraphQL 只留给 mutation-only 操作 #11181

Description

@os-zhuang

维护者 2026-08-23 指示:「项目经理经常被 GraphQL 限流……rest api 余额很多,排查哪些请求可用 REST,能用 REST 的尽量用 REST。」本卡由 skills 席(session 757f0dc0-5dae-51d7-9053-c15c57ebfe3b)带实测立卡。

实测(2026-08-23 01:1x UTC,共享身份,GET /rate_limit 免费端点)

本小时 usedlimit
core(REST)~5015000
graphql~49655000
search030/min(独立桶)

两个结构性证据(不受并发席位噪声影响):

  1. MCP list_issues 返回 pageInfo.startCursor/endCursor = GraphQL Connection 游标——issue 列表走 GraphQL;
  2. 夹逼测量:MCP 调用间 graphql used +7/+4,core 几乎不动。

即:所有席位共用一个身份,GraphQL 桶是公共牧场且已在天花板上;REST 桶几乎全空。

路由表(PM 循环高频操作)

操作现走改走 REST
拉 backlog(按标签列 issue)list_issues(GraphQL 已证)GET /repos/{o}/{r}/issues?labels=…&state=open&per_page=…
决策重读(评论翻页到最后)issue_read get_commentsGET /issues/{n}/comments?per_page=100&page=N
卡正文/状态读issue_read getGET /issues/{n}
标签读-改-写get_labels + POSTGET /issues/{n}/labels + POST(POST 两条已在 #11112 进 allowlist)
PR 读(正文/文件/commits)pull_request_readGET /pulls/{n}/files/commits
CI 判定get_check_runsGET /commits/{sha}/check-runs(本席今日已用)
PR 正文改写update_pull_requestPATCH /pulls/{n}(本席今日已用,含 sanitizer 尾读回)

保留 MCP/GraphQL(无 REST 等价或语义缺失):enable_pr_auto_merge(mutation)、resolve_review_thread / unresolve_review_threadpull_request_read get_review_comments(线程 isResolved 态 REST 不给)。search_* 独立桶,不动。

交付物

  1. .claude/settings.jsonpermissions.allow 增补 curl GET/PATCH 条目(比照 Make the additive label POST the prescribed write and permit it for dev agents #11112 的两条 POST 形状,objectstack+objectui 双仓),使席位免弹窗走 REST。⚠️.claude/** 属 governed:draft PR + 人工合并。
  2. 路由指引落在哪:platform-readings.md 134/134 零余量、SKILL.md 682/682 零余量——允许以真删付账(优先挖重复),付不起就只落 allowlist、prose 部分显式移交 Whole-text restructuring round of the pm-dispatch protocol face — maintainer-ordered, fires when the skills-lane backlog drains #11086 全文重构轮(在 PR 正文声明)。
  3. 曾有席位汇报过被限流的现象记录可引用本卡实测,不必重测。

验证

  • allowlist 生效:worktree 内以 seat 权限跑一条表内 curl GET 不弹窗;
  • 不回归:.claude/hooks/* selftest 全绿;若动 prose,line-ratchet 门绿并在 PR 正文给付账明细。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions