服务商
GitHub
Agent 怎样通过 KeyKeeper 拿到 GitHub 的 key,在 github.com 该选什么,KeyKeeper 怎么验证。
| 模板 id | github(别名 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 轮换或撤销。