Aura 代码变更审计
按提交和代码符号记录智能体改了什么、为何修改,并阻止偏离意图的提交。
- Star 数
- ★ 49
- 最近更新
- 27 天前
- License
- Apache-2.0
- 主语言
- Rust
- FA 评分
- 50/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 同时使用多个编码智能体的团队,需要在数月后确认某个函数由哪个智能体修改、当时收到什么请求以及声明的修改意图。
- 不适合
- 需要审计 13 种语言之外代码的团队
- 不愿在仓库中加入 .aura/ 数据、Git notes 和提交钩子的团队
- 需要完整云端同步文档与运维方案的企业
- 源码审查
- 50/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Aura 是构建在 Git 之上的代码变更审计与语义版本层,按提交记录智能体或开发者修改了哪些符号、修改原因及签名来源。它以 Rust 引擎为核心,通过 aura CLI、Tauri + React 桌面应用和 VS Code 扩展共享同一个 .aura/ meaning plane。提交时,Git hook 使用 Tree-sitter 解析代码,将函数和类表示为带调用边的 AST Merkle 图,再把实际变更与声明的意图进行比较。其输出包括可查询的来源记录、语义审查结果、签名元数据、AI 用量与成本记录,以及无需撤销整个提交的函数级回退。数据默认保存在本地 .aura/ 和 Git notes 中,无需服务器;只有配置云同步时才会离开本机。
运行 aura init 后,Aura 会在仓库中安装 Git hooks。每次提交都会经过 AST 解析和节点级差异比较,并与写入中的意图记录关联;若声明要修改登录逻辑却实际触及计费代码,pre-commit gatekeeper 可以阻止提交。aura why <file> 查询某个文件或行的提交、作者或智能体、原始请求、意图和记录方式。CLI 还提供 semantic review、基于 AST 节点的函数级 rewind、Crew 工作循环、AI 用量与成本跟踪,以及通过 aura mcp 启动的 MCP server;桌面端和 VS Code 扩展读取并写入相同的 .aura/ 数据。Aura 支持以 Tree-sitter 分析 Rust、Python、TypeScript、JavaScript、Go、Java、C#、C++、C、Ruby、PHP、Swift 和 Kotlin。
- 同时使用多个编码智能体的团队,需要在数月后确认某个函数由哪个智能体修改、当时收到什么请求以及声明的修改意图。
- 受审计要求约束的工程团队,需要为每个代码符号保留带签名的变更来源和理由。
- 希望在提交前发现任务越界的维护者,例如智能体声称调整重试策略,却删除了身份验证检查。
- 需要撤回单个错误函数、但不希望回滚同一提交中其他有效修改的开发者。
- 在大型代码库中审查架构漂移、层级违规或静默删除的团队,希望基于调用图和 AST 变化而非纯文本 diff 进行检查。
- 使用 Claude Code、Gemini CLI、Codex CLI、Kimi、Cursor 或 OpenCode 的团队,希望把多个工具产生的提交记录汇总到同一仓库内。
如何安装或部署这个 Agent?
预编译安装方式适用于 macOS、Linux 和 Windows,并需要可执行 Bash 安装命令的 shell:
curl -fsSL https://auravcs.com/install.sh | bash
cd your-repo && aura initaura init 会为当前 Git 仓库安装 hooks。若选择从源码构建,需要 Rust 与 Cargo;在仓库根目录运行:
cargo build --release基础的本地运行不需要服务器或云凭据。README 没有给出云同步所需的账户、凭据或配置步骤。
如何使用这个 Agent?
初始化后,正常创建提交即可触发 AST 解析、语义差异计算、意图记录与提交门禁。查询文件的变更原因:
aura why src/billing.rs若要让支持 MCP 的编码智能体直接调用 Aura,可将以下配置加入该客户端的 MCP 配置:
{
"mcpServers": {
"aura-vcs": { "command": "aura", "args": ["mcp"] }
}
}该 MCP server 提供 30 多个工具,其中包括用于读取智能体开销的 aura_usage。如需关闭遥测,可设置以下任一环境变量:
export AURA_TELEMETRY_OPTOUT=1export DO_NOT_TRACK=1这个 Agent 有哪些优点和局限?
- 不仅记录文本行,还在函数和类等符号级别保存意图、来源与签名,适合追踪智能体生成的变更。
- pre-commit gatekeeper 会把声明意图与实际 AST 变化进行比较,可在偏离任务的修改落库前阻止提交。
- 函数级 rewind 操作 AST 节点,可恢复单个函数而无需撤销周边提交,也避免该操作产生文本合并冲突。
- CLI、桌面应用和 VS Code 扩展共享同一
.aura/meaning plane,跨界面查看时不需要迁移记录。 - 核心数据保存在仓库内的
.aura/与 Git notes 中,本地使用无需部署服务器。
- 采用后会在仓库中增加
.aura/数据和 Git notes,并安装提交 hooks,团队需要把这套额外的 meaning plane 纳入工作流。 - 语义分析明确限定为 13 种受支持语言;来源未证明其他语言能够获得同等的 AST 级审计和回退能力。
- 不同智能体的集成深度并不完全相同:Claude Code 有 MCP、状态栏和 transcript parsing,而 Cursor 仅明确列出 workspace detection。
- 云同步是可选能力,但所给材料没有说明部署方式、凭据、费用或同步故障处理,因此无法据此评估跨设备方案。
- 从源码构建依赖 Rust 与 Cargo;桌面应用和 VS Code 扩展还各自拥有独立的构建目录与流程。
这个 Agent 与同类方案有什么区别?
Aura 不替代 Git,而是在 Git 的字节、文本差异、提交和分支之上增加 meaning plane。Git 继续管理原有历史、远端和工作流;Aura 另外维护 AST Merkle 图、逻辑节点、调用边、意图、来源与签名元数据。相较于只显示行级归属的 git blame,Aura 的目标是回答哪个开发者或智能体改动了具体符号、为何修改,以及实际变化是否符合声明意图。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Aura 代码变更审计 当前 | 50 · 缺口较多 | 命令行工具免费 | ★ 49 | 27 天前 | Rust | Codex · Claude Code |
| Argot 仓库风格审查器 | 78 · 表现良好 | 命令行工具免费 | ★ 49 | 2 个月前 | Rust | Claude Code |
| Gortex 代码智能引擎 | 73 · 存在缺口 | 命令行工具免费 | ★ 2k | 今天 | Go | Codex · Claude Code · OpenAI API · Claude API |
| git-lrc 提交前 AI 代码审查 | 66 · 存在缺口 | 命令行工具免费版 + 付费版 | ★ 1.5k | 16 天前 | Go | Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 声称默认本地存储、仅配置云同步后才外传,并列出遥测退出方式;源码显示遥测会基于主机名和用户名生成稳定哈希机器标识并发送事件元数据。未见完整 MCP/云端权限边界,也未见遥测字段和保留策略的完整说明,因此最小权限、敏感数据处理和外部影响仅部分有据。安装会配置 Git hooks,文档提到意图门控及函数级恢复,但样本不足以证明所有写入都经用户确认或恢复总是无冲突。源码署名和签名元数据有明确产品描述,但签名验证流程未在样本中完整展示。
README、CLAUDE.md 与源码模块清单共同呈现 CLI、桌面端、扩展和 MCP 的广泛能力,但 CLAUDE.md 的强制操作要求与 README 的简短使用路径并不完全对应,且其中团队同步、自动推送等效果在给定代码中未获佐证,故自洽性偏弱。Cargo 工作区和本地 crate 路径支持克隆后构建的说法,也列出大量锁定版本依赖;安装脚本和运行时依赖可用性仍缺少细节。daemon 入口对路径解析、配置和服务错误给出错误文本及退出码,得到部分支持。
文档覆盖人类提交和多个编码代理,并列出语言、CLI、桌面端及 VS Code 等场景,场景范围较清晰。隐私说明提及云同步是外传例外,但 MCP 的 30 多个工具、云功能、hook 和桌面动作的权限及能力边界没有在样本中解释。README 给出安装、初始化及 MCP 配置,CLAUDE.md 和 Gemini 技能定义了触发规则;不过技能仅为样本且一份要求写入意图文件,不能据此确认其与所有捕获路径的适用范围。跨平台声明部分得到 CI 的 Linux/macOS 构建支持,但发布矩阵样本未含 Windows。
README 以快速开始、问题、工作方式、功能面、集成、隐私和仓库布局组织内容,另有完整指南、贡献与安全政策入口,信息架构较充分。安装说明偏简略,安装脚本通过 curl 管道执行且没有在样本中展示校验、卸载或逐平台步骤。产品名称稳定,但 README 所列工具数为 30+,CLAUDE.md 标为 29+,且版本提示 0.12.6 与 Cargo 0.19.58 不一致。FAQ 和集成示例实用;SECURITY.md 说明预 1.0、只支持最新版本及服务范围,算是有局限说明。Apache 2.0 正文完整。发布徽章、版本号和发布工作流提供部分版本线索,但没有提供变更日志内容。安全政策描述小团队维护及私密报告渠道;发布身份仍未知,未据品牌加分。
产品目标是记录代理改动及理由,提供意图门控、语义审查和函数级恢复;README 展示了查询输出与 MCP 配置,具备可读的实际产出形式。若这些能力按描述工作,可补足 Git blame 对代理身份和改动目的的不足;但静态样本未证明核心检测准确性。包含 CLI、桌面端、扩展、云同步和多代理协作,带来显著配置与理解成本;快捷安装和集成文档提供部分抵消。
README 的本地存储、遥测退出和多平台 CI 声明,分别能在源码和工作流样本找到部分对应;意图门控、签名、无冲突恢复等核心强主张没有在提供的源文件中充分交叉印证。样本中区分了产品描述、显式安全政策和可见实现片段,但有些 README 断言仍未与代码证据分开验证,因此只给部分分。
- 安装命令会直接把远程脚本传给 shell;样本未展示脚本校验或卸载流程。
- 遥测使用由主机名和用户名导出的稳定哈希标识;评估部署前应审阅实际事件内容和云同步配置。
- README、CLAUDE.md 与 Cargo.toml 的工具数和版本提示不一致;部分关键安全与恢复主张未由所给代码交叉印证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.19.58 v0.19.58 — in front, and fewer places to look
发布说明摘录
This release catches the public tree up with four desktop releases, 0.19.55 through 0.19.58. Panels stopped opening behind the terminal. The terminal is drawn by the graphics card, which makes it a layer the rest of the window cannot stack against — so nine different popovers had been opening underneath it, and clicking one gave you a sliver of a panel instead of a panel. The one people hit most was the small "old aura on PATH" chip in the status bar. …在 GitHub 查看 ↗ -
v0.19.54 v0.19.54 — Share a session, they open your files
发布说明摘录
Share a session and the other person can now open your project's files from their own machine — no clone, no branch, no git setup at all. They see what you see, including work you haven't committed yet. Long conversations also stay quick: a chat used to get slower the longer it ran, and no longer does. Three fixes as well — the app no longer goes blank when you hover a file an agent linked, Chat now shows when a terminal agent is still working instead of looking finished, and a full disk no longer hides the reason the app quit. …在 GitHub 查看 ↗ -
v0.19.47 v0.19.47 — Aura stops overstating what it knows
发布说明摘录
Aura stops overstating what it knows The honest-claims release. Several surfaces used to present a guess with the same confidence as a fact — a file whose reason was inferred from the commit message read exactly like one whose reason was logged by the agent that made the change. They now say which one you are looking at, and say nothing where they have nothing. That sounds small. It is the whole product: an audit trail that pads its gaps is not an audit trail. In this release …在 GitHub 查看 ↗
常见问题
代码或审计数据会上传到外部服务吗?
.aura/ 和 Git notes 中;只有主动配置云同步时才会离开本机。AI 用量跟踪读取本地 Claude Code transcripts,不发起 API 调用。Aura 会改变现有 Git 历史或远端工作流吗?
.aura/ 和 Git notes 增加一层语义记录。必须使用 Claude Code 才能获得审计记录吗?
人工编写的提交也能使用门禁和回退吗?
本地运行需要云账户或常驻服务器吗?
谢谢反馈,我们会据此改进页面。