---
title: "为 AI 建议扩展定义规则"
description: "使用规则列表配置 AI 建议扩展以生成建议。"
canonical_url: "https://tiptap.zhcndoc.com/content-ai/capabilities/suggestion/features/define-rules"
---

# 为 AI 建议扩展定义规则

使用规则列表配置 AI 建议扩展以生成建议。

AI 建议扩展必须配置一个规则列表，帮助大型语言模型（LLM）分析编辑器内容并生成建议。

```ts
AiSuggestion.configure({
  rules: [
    {
      id: '1',
      title: '拼写检查',
      prompt: '识别并纠正任何拼写错误',
      color: '#DC143C',
      backgroundColor: 'FFE6E6',
    },
  ],
})
```

每条建议都关联一个规则。如果未提供规则，AI 建议扩展将不会生成任何建议。

每条规则必须有一个唯一的字符串 id，以便每条建议都能匹配到对应的规则。

prompt 属性是一个描述规则的字符串，会提供给 AI 模型帮助它生成建议。

只有 id 和 prompt 会被发送给 AI 模型。title、color 和 backgroundColor 属性用于在编辑器中为建议进行样式设置和展示。

## 规则会存储在 Tiptap Cloud 吗？

如果您使用 Tiptap 内容 AI 云服务为内容生成建议，规则不会被存储在云端。它们会在每次请求时发送。

因为我们不存储您的规则，您可以随时更改规则，并根据您自己的应用程序逻辑启用它们。例如，您可以拥有适用于所有文档的规则、文档特定规则、适用于某些用户的规则，甚至让用户自行定义规则。

如果您希望规则跨会话持久化，应该将它们存储在您自己的数据库中。

## 编辑器加载后如何更改规则

您可以随时更改规则，无需重新加载编辑器。使用 `setAiSuggestionRules` 命令来更新规则。

```ts
const newRules = [
  {
    id: '2',
    title: '语法检查',
    prompt: '识别并纠正任何语法错误',
    color: '#FFA500',
    backgroundColor: 'FFF5E6',
  },
]

editor.commmands.setAiSuggestionRules(newRules)
```

警告：`setAiSuggestionRules` 命令不会自动重新加载建议。您需要调用 `loadAiSuggestions` 命令来基于新规则更新建议。一个常见的做法是将两个命令链式调用。

```ts
editor.chain().setAiSuggestionRules(newRules).loadAiSuggestions().run()
```
