以下是您要求的英文文章的中文翻译,已按照保留原文结构、技术术语和代码块等要求进行处理。
Show HN:Git for AI Agents
Git for AI Agents 为 AI 智能体活动提供版本控制。追踪你的智能体做了什么、每一行代码是由哪个提示词编写的,并在出现问题时回滚。
演示 每一次工具调用都会被自动捕获。无需手动提交。
快速开始
# 通过 Homebrew 安装(macOS/Linux)
brew tap regent-vcs/tap
brew install regent
# 或者通过 Go 安装
go install github.com/regent-vcs/regent/cmd/rgt@latest
# 在你的项目中初始化
cd your-project
rgt init
# 正常使用 Claude Code(每次工具调用都会被追踪)
# 查看发生了什么
rgt log
rgt blame src/file.go:42
就这样。你的智能体活动现在可审计了。
你能获得什么
查看你的智能体实际做了什么
$ rgt log
Step a1b2c3d | 2 min ago | Tool: Edit
│ File: src/handler.go
│ Added error handling to request handler
│ + 5 lines, - 2 lines
Step d4e5f6g | 5 min ago | Tool: Write
│ File: tests/handler_test.go
│ Created unit tests for handler
│ + 23 lines
Step f8g9h0i | 8 min ago | Tool: Bash
│ Command: go mod tidy
│ Cleaned up dependencies
Blame:这一行是由哪个提示词编写的?
$ rgt blame src/handler.go:42
Line 42: func handleRequest(w http.ResponseWriter, r *http.Request) {
Step: a1b2c3d4e5f6
Session: claude-20260502-143021
Tool: Edit
Prompt: "Add error handling to the request handler"
追踪多个并发会话
$ rgt sessions
Active Sessions:
claude-20260502-143021 | 3 steps | Last: 2 min ago
claude-20260502-091534 | 7 steps | Last: 2 hours ago
$ rgt log --session claude-20260502-143021
# 按会话过滤历史记录
查看任何变更的完整上下文
$ rgt show a1b2c3d
Step a1b2c3d4e5f6
Parent: d4e5f6g7h8i9
Session: claude-20260502-143021
Time: 2026-05-02 14:30:21
Tool: Edit
File: src/handler.go
Changes:
+ func handleRequest(w http.ResponseWriter, r *http.Request) {
+ if r.Method != "GET" {
+ http.Error(w, "Method not allowed", 405)
+ return
+ }
- func handleRequest(w http.ResponseWriter, r *http.Request) {
Conversation:
User: "Add error handling to reject non-GET requests"
Assistant: "I'll add method validation to the handler..."
为什么需要这个工具
问题: AI 智能体没有自己的版本控制。你一定经历过这种痛苦:
- “五分钟前还能用的”
- “你为什么改了那个文件?”
- “回到重构之前的状态”——然后复制粘贴代码到一个新的聊天窗口,祈祷能行
解决方案: 三个本应早已存在的基本功能:
rgt log— 这个会话做了什么?rgt blame— 这一行是由哪个提示词编写的?rgt rewind— 恢复到之前的任意步骤(即将推出)
我们给了智能体对代码库的写入权限,却没有给自己一个用于智能体的 Git。re_gent 解决了这个问题。
工作原理
re_gent 将智能体活动存储在 .regent/ 目录中(类似于 .git/):
.regent/
├── objects/ # 内容寻址的 blob(BLAKE3)
├── refs/ # 会话指针(每个智能体一个)
├── index.db # SQLite 查询索引
└── config.toml
每次工具调用都会创建一个 Step:
Step {
parent:
tree:
transcript:
cause: {
tool_name: "Edit"
args:
result:
}
session_id: "claude-20260502-143021"
timestamp: "2026-05-02T14:30:21Z"
}
步骤形成一个 DAG(有向无环图)。每个会话都有自己的分支。共同祖先会被去重。你就能获得 Git 级别的智能体活动可审计性。
技术细节:请参阅 POC.md 获取完整规范。
安装
通过 Homebrew(macOS/Linux)
brew tap regent-vcs/tap
brew install regent
这会同时安装 regent 和 rgt 命令(它们完全相同),并自动为 bash、zsh 和 fish 设置 shell 补全。
通过 Go 安装
go install github.com/regent-vcs/regent/cmd/rgt@latest
这会安装 rgt 命令。
Shell 补全(手动设置):
# Bash
rgt completion bash > /usr/local/etc/bash_completion.d/rgt
# Zsh
rgt completion zsh > "${fpath[1]}/_rgt"
# Fish
rgt completion fish > ~/.config/fish/completions/rgt.fish
从源码安装
git clone https://github.com/regent-vcs/regent
cd regent
go build -o rgt ./cmd/rgt
sudo mv rgt /usr/local/bin/
# 可选:创建符号链接
sudo ln -s /usr/local/bin/rgt /usr/local/bin/regent
对于 shell 补全,请按照上述“通过 Go 安装”的说明操作。
二进制发布版
从 GitHub Releases 下载预构建的二进制文件。
编辑器集成
VSCode 扩展
直接在编辑器中获取内联 blame 注释:
安装选项:
# 1. 从 VSIX 安装(推荐)
# 从以下地址下载最新的 .vsix:
# https://github.com/regent-vcs/vscode-regent/releases
# 然后在 VS Code 中:扩展 > ... > 从 VSIX 安装...
# 2. 从 VS Code 市场安装(即将推出)
# 搜索 "re_gent Blame"
# 3. 从源码安装(开发模式)
git clone https://github.com/regent-vcs/vscode-regent
cd vscode-regent
npm install && npm run compile
# 在 VS Code 中按 F5 启动扩展开发主机
功能特性:
- 内联 blame 注释,显示修改每一行的步骤
- 悬停提示,显示完整的步骤上下文(时间戳、工具名称、参数)
- 侧边栏中的会话时间线视图
- 一键访问对话历史
- 直接 SQLite 集成——无子进程开销
要求: 必须安装 re_gent CLI 并在项目中运行 rgt init。
[查看扩展文档 →](https://example.com)
当前可用命令
| 命令 | 描述 | |------|------| | rgt init | 在当前目录初始化 .regent/ | | rgt log | 显示步骤历史(支持 --session、-n、--since) | | rgt sessions | 列出所有活跃会话 | | rgt status | 显示当前仓库状态 | | rgt show | 显示步骤的完整上下文(工具调用 + 对话) | | rgt blame | 显示文件每行的来源 | | rgt cat | 通过哈希检查任意对象(调试用) | | rgt version | 打印版本信息 | | rgt completion | 生成 shell 补全脚本 |
即将推出
| 命令 | 描述 | |------|------| | rgt rewind | 非破坏性的时间旅行 | | rgt gc | 垃圾回收 | | rgt fork | 从某个步骤创建新会话 |
功能特性
- 内容寻址存储 — BLAKE3 哈希,自动去重
- 快速查询 — SQLite 索引,查找时间低于 10 毫秒
- 每会话 DAG — 并发智能体,无冲突
- 对话追踪 — 在
/compact和/clear后依然有效 - 钩子驱动 — 透明集成 Claude Code