获取 AX Code · 免费文档

本页译自英文文档。命令、标识符和示例保持原样。运行时 7.24.4 · SDK 2.6.7。 英文原文

执行证据

状态:生效 范围:当前状态 最近审阅:2026-08-25 负责人:AX Code 运行时

每个 AX Code 会话在运行时都会被记录。本页介绍把该记录变成可审阅、可比较、可导出和可撤销之物的命令。

当智能体已经完成、而你需要回答这些问题时使用它:它做了什么、风险有多高、它与另一次尝试相比如何,以及我如何回到原状?

记录了什么

一次运行期间,AX Code 写入两件相互独立的东西:

  • 带类型的事件日志——路由决策、模型活动、步骤边界、工具调用和工具结果。这是 graph、replay、compare、trace 和 audit 的来源。
  • 文件快照——捕获到位于你的仓库之外、AX Code 数据目录下的 Git 对象存储中,使用 refs/snapshots/<hash>。你的工作树和项目的 .git/ 不会为了存储它们而被修改。

两者都在本地。不会上传任何东西。

重建一次运行

ax-code graph <sessionID>

把会话重建为执行图:时长、风险摘要、token 计数、使用的智能体,以及每一步及其工具调用和计时。

## Session ses_01H8XK

Duration: 9m 54s | Risk: HIGH (53/100) | Tokens: 167,650 in / 18,494 out
Agents: architect

### Step 1 (8s) | tokens: 12263/587

- read: api.ts → ok (5ms)
- grep: rateLimit → ok (12ms)

当你想在另一个工具中查看该图时,--format 选择替代输出,包括 Mermaid 和拓扑视图。

请注意这是会话执行图——智能体做了什么。它不是仓库代码图;那是 ax-code index 和代码智能层。

比较两次运行

ax-code session compare <sessionA> <sessionB>
ax-code session compare <sessionA> <sessionB> --deep

报告风险增量、变更的文件、工具失败次数、每次运行采取的决策路径,以及按事件类型的计数。--deep 通过回放比较增加步骤级分歧分析。

这比较的是运行,不是源代码。它回答的是“第二次尝试得分更差——它在哪里分叉”,而不是“给我看代码差异”。

一个典型用途是为同一任务在两种策略之间做决定:

  Risk Comparison
  ----------------------------------------
  Score: 53 → 93 (+40) ↑
  Level: HIGH → CRITICAL
  Files: 8 → 25
  Failures: 0 → 15

检查已记录的事件日志

ax-code session replay <sessionID> --mode summary
ax-code session replay <sessionID> --mode verify
ax-code session replay <sessionID> --mode reconstruct
ax-code session replay <sessionID> --mode export

verify 检查已记录日志的一致性。reconstruct 从事件重建步骤流。export 写出可移植的回放包。

回放是重建;它不会重新执行。 它不会重新运行模型、重新调用工具或再现外部状态。execute 模式准备一条重建的流,以便与原始流做程序化比较,它用于测试,而不是用于重新运行工作。

阅读风险信号

ax-code risk <sessionID>
ax-code risk <sessionID> --explain
ax-code risk <sessionID> --json

分数是从已记录信号导出的确定性启发式,包括变更了多少文件、变更是否跨越多个顶层区域、多少工具调用失败、是否运行了验证、是否存在差异快照、多少 API 表面受影响、运行如何结束(被阻止的完成门控,或步骤上限/停滞结束,都会增加权重),以及是否触及了安全敏感路径。每个起作用的驱动因素都连同其权重列出,并附有建议的缓解措施。

它是审阅辅助。它不是概率、校准过的置信度,或代码安全的声明。未验证变更上的 LOW 分数仍然意味着该变更未经验证。

精确撤销

当安装了 Git 且启用了 snapshot 时,文件快照在 Git 仓库和普通项目目录中都可用。AX Code 把快照 Git 存储放在你的项目之外;它不会创建项目 .git 目录。忽略规则和不支持路径的排除仍然适用。

TUI 还原会撤销消息和已捕获的文件变更。使用 snapshot: false 时,或对于从未捕获基线的较旧回合,它只能撤销消息;文件编辑仍留在磁盘上。现在启用快照不能重建更早的文件内容。没有文件变更的已捕获回合也没有什么可恢复。

ax-code session rollback <sessionID> --list      # show recoverable points
ax-code session rollback <sessionID> --dry-run   # show what would change
ax-code session rollback <sessionID> --step 4    # restore one step
ax-code session rollback <sessionID>             # restore the whole session

--list 把持久的步骤事件与执行图细节结合起来,因此你可以针对特定步骤,而不是还原整个运行。--dry-run 使用与应用相同的回滚规划器,并列出其文件账本对结果有贡献的任何委派会话。

当嵌套的子会话写入了父会话的确切工作目录时,回滚会跟随它们。它恢复边界之后的文件变更,同时保留它们的记录。在另一个工作树或目录中运行的后代被排除,如果任何被纳入的会话仍在运行,回滚会失败关闭。

在依赖它之前值得知道的边界: 回滚从运行期间拍摄的快照恢复。从未被快照的文件——因为它在会话之外被更改,或不处于可恢复状态——不能用这种方式恢复。对任何重要内容先使用 --dry-run。

尝试另一种策略

ax-code session branch <sessionID>
ax-code session branch <sessionID> --from <messageID>

分叉会话的已存储状态,使第二次尝试从选定的点开始,而不是从头开始。

这分叉的是会话状态——消息和目标。它不是 Git 分支,也不是工作树。隔离的 Git 候选见 已验证的多模型变更。

诊断

ax-code session trace <sessionID>
ax-code session trace <sessionID> --logs

由回放支持的诊断,带有按风险评分的时间线。--logs 切换到旧式日志文件分析,而不是回放事件;当你调查的是运行问题而不是审阅变更时,这很有用。

导出证据

ax-code audit export --all --since 2026-08-01     # JSON Lines
ax-code audit export --all --risk HIGH            # filter by minimum risk
ax-code audit report <sessionID>                  # Markdown report
ax-code audit otlp <sessionID>                    # OpenTelemetry spans
ax-code audit prune --days 90                     # delete old events

JSONL 和 OTLP 使运行记录可以被你自己的审阅或可观测性流水线消费。Markdown 报告供人把证据附到 PR 或变更记录上。

浏览它

ax-code run-report                 # latest session
ax-code run-report --index         # session index

在浏览器中打开本地运行报告,包含运行摘要、时间线、变更、验证状态、风险细节、分支信息和回滚点。服务器只绑定环回。