探索 Tiptap V3 的最新功能

配置建议加载时机

您可以自定义 AI 建议扩展何时调用大语言模型(LLM)来生成建议。这让您能够控制何时加载新的建议,以及建议被重新加载的频率。

启动时加载建议

默认情况下,AI 建议扩展将在编辑器准备好时自动加载建议。您可以通过 loadOnStart 选项禁用此行为。

AiSuggestion.configure({
  // 禁用自动加载建议
  loadOnStart: false,
})

内容更新时重新加载建议

默认情况下,AI 建议扩展会在编辑器内容发生变化时重新加载建议。您可以通过 reloadOnUpdate 选项禁用此行为。

AiSuggestion.configure({
  // 禁用自动重新加载建议
  reloadOnUpdate: false,
})

防抖超时

默认情况下,AI 建议扩展会在用户停止输入后等待 800 毫秒再重新加载建议。这可以防止 API 被过于频繁调用。您可以通过 debounceTimeout 选项配置此超时时间。

AiSuggestion.configure({
  debounceTimeout: 1000,
})

但在某些情况下,您可能希望强制重新加载建议。例如,用户点击“刷新”按钮时,您可能希望重新加载建议。

要手动重新加载建议,请使用 loadAiSuggestions 命令。

editor.commands.loadAiSuggestions()

要延迟加载建议,请使用 loadAiSuggestionsDebounced 命令。延迟时间由 debounceTimeout 选项决定。

此命令内部用于在编辑器内容发生变化时重新加载建议(例如用户在编辑器中输入时)。函数带有防抖处理,因此如果在防抖超时内多次调用,仅执行最后一次调用。

editor.commands.loadAiSuggestionsDebounced()

编程方式设置建议

如果您想将建议设置为某个具体值,而不是通过配置的 API 加载它们,可以使用 setAiSuggestions 命令。此方法适用于以下场景:

  • 您已有一组想要立即显示的建议列表。
  • 您想清空建议。
  • 您想显示来自不同于扩展选项中配置的 API 的建议。
editor.commands.setAiSuggestions(suggestions)

想了解建议对象应包含的数据详情,请查看 API 参考