为什么 AI 需要先查身份

让 AI 直接 git push 听起来方便,但有个前提:它得知道用哪个 GitHub 账号、凭据是否健康、有没有对应权限。盲目 push 可能:

  • 用错账号(推到了别人的仓库)
  • 凭据过期导致静默失败
  • 越权操作了不该动的仓库

github_identity_status 就是开工前的"身份体检":先看清楚再动手。

github_identity_status:开工前先照镜子

github_identity_status({})

它返回:

  • 当前生效的 GitHub 账号(免密连接的实际身份)
  • 凭据健康度(有效 / 过期 / 缺失)
  • Git 提交作者信息(user.name / user.email)
  • 权限范围(scopes)
  • 过期时间

什么时候该查

  1. 第一次在某个仓库让 AI 提交前:确认身份对、权限够。
  1. push 失败排查时:先看是不是凭据过期,而不是盲目重试。
  1. 换了机器 / 重装后:身份配置可能丢失,先查再动。

如果没连上 GitHub 怎么办

工具明确说:如果没设置或需要重连,让你(操作员)去 Agent Settings 里连接 GitHub。AI 不会、也不应该自己去申请 GitHub 凭据——这是安全边界。

正确顺序:

  1. github_identity_status 确认状态。
  1. 若缺失/过期 → 提示你去设置页连接(AI 不代申请)。
  1. 重连后再查一次,确认健康。
  1. 才执行 commit / push。

Git 协作的安全姿势

| 动作 | AI 该做 / 不该做 |

|------|----------------|

| git status / git diff | ✅ 随便看 |

| git commit | ✅ 身份确认后提交,写清楚 message |

| git push | ⚠️ 先查身份,只推你授权的仓库 |

| 改 .gitignore / 历史重写 | ⚠️ 先问,别擅自动 |

| 申请 GitHub 凭据 | ❌ 绝不,交给操作员 |

提交纪律

  • message 说人话:"新增 6 篇 OpenClaw 实战文章并重建首页",别写 "update"。
  • 别一把梭 git add -A:确认改动范围,避免把密钥/缓存塞进仓库。
  • push 前先 git pull --rebase:减少冲突,尤其多人仓库。

关键行为(必须知道)

  1. AI 读不到你的 GitHub 密码:连接是 OAuth/凭据托管,模型侧只有"当前身份"的只读视图。
  1. 凭据过期不会自动修复:工具只报告状态,重连得你去设置页。
  1. 权限范围受限:不是所有仓库都能推,按你实际授权来。
  1. 本地 git 作者信息要正确:user.name/email 错了对协作追踪不利,身份体检会一并显示。

标准工作流

  1. 要提交前 → github_identity_status 确认身份健康、权限够。
  1. 缺失/过期 → 提示你去 Agent Settings 连接,不代申请。
  1. 健康 → git add <具体文件> + git commit -m "..."。
  1. push → 先 rebase 再推你授权的仓库。
  1. 失败回查 → 再跑一次 github_identity_status 看是不是凭据问题。

踩坑与反模式

  • ❌ 不问身份直接 push:可能推错仓库或用过期凭据白忙。
  • ❌ 让 AI 去申请 GitHub 登录:安全边界,必须由操作员在设置页完成。
  • ❌ git add -A 一把梭:容易把 .env、密钥、大缓存带进版本库。
  • ✅ 先体检再动手:github_identity_status 是 Git 协作的第一步。

一句话总结

AI 帮你提交代码前,先 github_identity_status 照镜子:身份对、凭据健康、权限够,才 commit/push;缺连接让你去设置页,AI 绝不代申请凭据。


扫码关注公众号,获取更多 OpenClaw 实操技巧:

公众号二维码