---
title: "审计与回滚"
description: "追加写事件日志、哈希链校验、事务补丁 — 解释并撤销 Agent 工作。"
source: https://carina.nebutra.com/zh-cn/concepts/audit/
---

# 审计与回滚

> 追加写事件日志、哈希链校验、事务补丁 — 解释并撤销 Agent 工作。

> **发生过的事可以解释；应用过的补丁可以回滚。** <Badge variant="info">哈希链</Badge>

## 你将得到

- 事件日志与哈希链如何工作  
- audit / verify / report / export 的准确 CLI  
- patch list / show / apply / rollback  

## 事件流

## 审计保证

- 日志只追加；每个事件都有时间戳与 session id。
- 产生副作用的事件引用对应的 `permission_decision_id`，可以解释 allow / deny / approval 的策略和理由。
- transcript 与审计日志不保存原始媒体字节，只保存内容寻址的 `MediaRef`。
- 文件历史可以追溯到 Agent、任务、补丁和发生时间。
- 目标是拦截工作区外访问、确保日志不出现密钥明文，并记录每个副作用。

## CLI — 检查

```bash title="audit-cli.sh"
carina sessions
carina audit SESSION
carina audit verify SESSION
carina audit last
carina report SESSION
carina export SESSION
carina items SESSION
```

## CLI — 补丁

文件修改在策略要求时按以下事务流转：提出补丁 → 内核裁决 `PatchApply` → 应用与验证 → 带回滚指针提交。中途失败不会留下半应用状态。

```bash title="patch-cli.sh"
carina patch list SESSION
carina patch show SESSION PATCH_ID
carina patch propose SESSION PATH
carina patch apply SESSION PATCH_ID
carina patch rollback SESSION PATCH_ID
```

### Transaction 审阅

<Badge variant="accent">next</Badge>

Fullscreen `/changes` 工作台遵循真实事务边界，而不是发明一套只存在于 Git 视角的审阅模型：

```text
patch transaction
  -> 受影响文件（A / M / D、增加、删除）
     -> 带行号的 hunk、归因与校验证据
        -> 同一 patch + transaction 身份的回滚预览
```

屏幕上的 diff 是有界审阅投影。续行提示表示 viewport 或源数据上限之外仍有内容，不会削弱校验，也不会截断 daemon 中的回滚事务。只有当预览确认 workspace 未变化，且 patch 与 transaction 标识仍完全匹配时，才允许进入确认。

键位、密度、窄屏行为与无障碍说明见 [CLI 与 TUI](/zh-cn/use/cli-tui/#审阅工作台)。

## 配方：错误编辑之后

    ```bash frame="none"
    carina sessions
    carina audit last
    ```

    ```bash frame="none"
    carina patch list SESSION
    ```

    ```bash frame="none"
    carina patch rollback SESSION PATCH_ID
    ```

    ```bash frame="none"
    carina audit verify SESSION
    ```

## 不是 Git 替代品

审计与补丁解释**会话内** Agent 行为；不替代 Git 历史与 PR 审查。

## 失败处理

| 现象 | 处理 |
| --- | --- |
| `audit verify` 失败 | 按完整性事件处理，导出审计包并调查，不要忽略 |
| 补丁列表为空 | 检查 Agent 是否写文件，以及写入是否走 patch transaction |
| 找不到 SESSION | 运行 `carina sessions` 或 `carina audit last` |

## 权威来源

- `docs/security-model.md`  
- CLI：`carina --help` · [CLI 参考](/zh-cn/reference/cli/)  
- 相关：[策略](/zh-cn/concepts/policy/) · [追踪与审计](/zh-cn/observability/traces/)

## 下一步

- [常用工作流](/zh-cn/getting-started/common-workflows/)  
- [方法目录](/zh-cn/api/methods/) — `session.*` 与审计 RPC

---
Source: https://carina.nebutra.com/zh-cn/concepts/audit/
Markdown: https://carina.nebutra.com/zh-cn/concepts/audit/index.md
