git-ai
git-ai config
git-ai config set <key> <value>
git-ai config set api_base_url http://localhost:5169/starfishapi/api/gitai环境变量
- GIT_AI_API_BASE_URL
AI 归因是跟踪和记录哪些特定代码行是由 AI 编码 agents 生成的,哪些是由人类编写的,以及哪些代表两者之间的协作努力的过程。与仅显示提交作者的传统 git blame 不同,AI 归因将代码与生成它的实际 AI agent、模型和对话连接起来。
当 AI agent 对你的文件进行更改时,Git AI 通过检查点系统捕获这些更改。每个检查点记录:
- 文件更改:哪些文件被修改(通过 diff 对比 HEAD)
- 行归因:哪些特定行是 AI 生成的与人类编写的
- Agent 元数据:使用的 AI 工具(例如 cursor, claude, copilot)、模型名称和会话 ID
- 对话记录:你与 AI agent 之间的对话
工作日志存储
检查点数据持久化存储在 .git/ai/working_logs/<base_commit>/ 的工作日志中。每个条目包含:
- LineAttribution:每个文件范围的作者 ID 和覆盖跟踪
- AgentId:结合工具名称、会话 ID 和模型的唯一标识符
- CheckpointKind:分类为
Human、AiAgent或AiTab
这种中间存储允许 Git AI 在提交期间计算最终归因之前累积多个 AI 会话。
作者身份记录生成
当你运行 git commit 时,Git AI 的提交后 hook 处理工作日志并生成一个 AuthorshipLog,作为 Git Note 存储在 refs/notes/ai 下。此日志包含:
- 证明:每个文件的提示词哈希到行范围的映射
- 元数据:架构版本、基础 commit SHA 和完整的提示词记录
- 提示词记录:关于每个 AI 会话的完整详细信息,包括消息和统计数据
此最终记录可由任何 git-ai 命令查询,并通过 clone、fetch 和 push 等 git 操作随你的仓库一起传输。