探索 Tiptap V3 的最新功能

为 AI 建议扩展定义规则

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

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 命令来更新规则。

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

editor.commmands.setAiSuggestionRules(newRules)

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

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