---
title: "使用修订痕迹"
description: "将 AI 生成的更改显示为修订痕迹，用户可以逐一接受或拒绝。"
canonical_url: "https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/agents/review-changes/tracked-changes"
---

# 使用修订痕迹

将 AI 生成的更改显示为修订痕迹，用户可以逐一接受或拒绝。

> **独立产品:**
>
> [跟踪更改](https://tiptap.zhcndoc.com/tracked-changes/getting-started/overview.md) 是一款与 AI Toolkit 分开的 Tiptap 产品，需单独购买。它默认处理用户编辑内容，并且在与 AI Toolkit 集成后也可以审核 AI 编辑内容。

> **实验性功能:**
>
> [跟踪更改](https://tiptap.zhcndoc.com/tracked-changes/getting-started/overview.md) 扩展目前处于 Alpha 阶段。

> **继续自 AI 代理聊天机器人指南:**
>
> 本指南是对 [AI 代理聊天机器人指南](https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/agents/ai-agent-chatbot.md) 的延续。请先阅读该指南。

将 AI 生成的更改显示为修订内容，这样你的用户就可以逐一审阅并接受或拒绝这些更改。本指南将展示如何将 AI Toolkit 连接到单独授权的 [跟踪更改](https://tiptap.zhcndoc.com/tracked-changes/getting-started/overview.md) 扩展。

> **Interactive demo:** [tracked changes](https://ai-toolkit-demos.vercel.app/tracked-changes)

查看 [GitHub 上的源代码](https://github.com/ueberdosis/ai-toolkit-demos)。

## 显示修订更改

要以修订模式显示 AI 编辑内容，在执行工具时将 `reviewOptions.mode` 设置为 `'trackedChanges'`。

### API 端点

API 端点与 [AI 代理聊天机器人指南](https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/agents/ai-agent-chatbot.md) 中相同。服务器端无需做任何更改即可支持修订更改。

```ts
// app/api/tracked-changes/route.ts
import { openai } from '@ai-sdk/openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-ai-sdk'
import { createAgentUIStreamResponse, ToolLoopAgent, type UIMessage } from 'ai'

export async function POST(req: Request) {
  const { messages }: { messages: UIMessage[] } = await req.json()

  const agent = new ToolLoopAgent({
    model: openai('gpt-5.4-mini'),
    instructions:
      'You are an assistant that can edit rich text documents. Use tiptapRead before tiptapEdit.',
    tools: toolDefinitions(),
  })

  return createAgentUIStreamResponse({
    agent,
    uiMessages: messages,
  })
}
```

### 客户端设置

在客户端，安装并添加 `TrackedChanges` 扩展，然后在 `executeTool` 方法中传入模式为 `'trackedChanges'` 的 `reviewOptions`。

在 AI 进行编辑时，必须将 `TrackedChanges` 扩展配置为 `enabled: false`。

```tsx
import { useChat } from '@ai-sdk/react'
import { EditorContent, useEditor } from '@tiptap/react'
import StarterKit from '@tiptap/starter-kit'
import { AiToolkit, getAiToolkit } from '@tiptap-pro/ai-toolkit'
import { TrackedChanges } from '@tiptap-pro/extension-tracked-changes'
import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from 'ai'

export default function Page() {
  const editor = useEditor({
    immediatelyRender: false,
    extensions: [
      StarterKit,
      TrackedChanges.configure({
        enabled: false,
      }),
      AiToolkit,
    ],
    content: `<p>Ask the AI to improve this document.</p>`,
  })

  const { messages, sendMessage, addToolOutput } = useChat({
    transport: new DefaultChatTransport({ api: '/api/tracked-changes' }),
    sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
    async onToolCall({ toolCall }) {
      if (!editor) return

      const toolkit = getAiToolkit(editor)
      const result = toolkit.executeTool({
        toolName: toolCall.toolName,
        input: toolCall.input,
        reviewOptions: {
          mode: 'trackedChanges',
          trackedChangesOptions: {
            userId: 'ai-assistant',
            userMetadata: {
              name: 'AI',
            },
          },
        },
      })

      addToolOutput({
        tool: toolCall.toolName,
        toolCallId: toolCall.toolCallId,
        output: result.output,
      })
    },
  })

  // ... 渲染编辑器和聊天界面
}
```

AI 编辑文档后，更改将以修订模式显示。用户可以使用 Tracked Changes 扩展提供的 `acceptSuggestion`、`rejectSuggestion`、`acceptAllSuggestions` 和 `rejectAllSuggestions` 命令接受或拒绝更改。

### 最终效果

> **Interactive demo:** [tracked changes](https://ai-toolkit-demos.vercel.app/tracked-changes)

查看 [GitHub 上的源代码](https://github.com/ueberdosis/ai-toolkit-demos)。

## 后续步骤

- 详细了解 API 参考中的 [审阅选项](https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/api-reference/review-options.md)。
- 使用 [流式传输指南](https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/agents/streaming.md) 添加实时流式传输。
- 了解 [Tracked Changes](https://tiptap.zhcndoc.com/tracked-changes/getting-started/overview.md) 扩展的样式和配置选项。
- 使用 [带评论的修订更改](https://tiptap.zhcndoc.com/content-ai/capabilities/ai-toolkit/agents/review-changes/tracked-changes-with-comments.md) 指南，将修订更改与评论结合使用。
