服务商

GitHub

Agent 怎样通过 KeyKeeper 拿到 GitHub 的 key,在 github.com 该选什么,KeyKeeper 怎么验证。

模板 idgithub(别名 gh、github-token、github-pat)
字段github-token → GITHUB_TOKEN · 密钥
key 长什么样以 github_pat_ 或 ghp_ 开头,创建时只显示一次
创建页面github.com
KeyKeeper 的验证GET https://api.github.com/user——读取 token 所属的账号(不需要任何权限)
模板核实日期2026-09-15

Agent 做什么

keykeeper providers show github
keykeeper save --provider github --from-clipboard --create --purpose "这个任务是做什么的"
keykeeper run -c github -- <你的命令>

--provider github 会补上凭据 ID 和字段名。这些环境变量就是 GitHub 自家工具读的那个,不需要任何映射。

只有你能做的

登录 github.com(组织要求时需 2FA)
选择资源所有者(你自己或某个组织;组织可能要审批)
设置过期时间
复制 key,然后在 KeyKeeper 的窗口里确认保存。

该选什么

Fine-grained token:Repository access 选 Only select repositories(任务涉及的仓库),权限只给任务需要的(比如 Contents: Read),其余保持 No access。过期:30 天以内。

Agent 被告知的是同一件事。它替你打开页面、说明该选什么;它从不替你登录、过 2FA 或付费。

KeyKeeper 检查什么

  • 写入前: 值必须像一把 GitHub 的 key(以 github_pat_ 或 ghp_ 开头)。贴错了会在存入之前被拒绝,并告诉 Agent 原因——不含值。
  • 保存后: KeyKeeper 自己发送 GET https://api.github.com/user,key 放在 Authorization 请求头里(读取 token 所属的账号(不需要任何权限))。Agent 收到的是「接受」「拒绝」或「联系不上」——从不是值。

轮换与过期

Fine-grained token 在所选日期过期(1–366 天,或永不);一年没用的 classic token 会被删除。 在 github.com 轮换或撤销。