可用工具

Server AI Toolkit 通过 POST /v3/ai/toolkit/tools 暴露工具定义,并通过 POST /v3/ai/toolkit/execute-tool 执行工具调用。

请参阅 REST API 参考 了解端点定义。

注意

目前,Server AI Toolkit API 以通用格式返回工具定义。请将它们转换为你的提供方或框架(OpenAI、Anthropic、Langchain)所需的格式。

每次调用 POST /v3/ai/toolkit/execute-tool 都需要以下参数:

  • input(必填):由 AI 模型生成的工具输入。
  • toolConfig?(可选):开发者提供的工具特定参数。

响应包含以下字段:

  • outputunknown):应由 AI 模型读取的工具响应。
  • toolResultunknown,可选):一种专为开发者解析而设计的工具响应格式。不供 AI 读取。

以下是可用工具列表。

tiptapRead

读取一段顶层文档节点。它也会编辑文档,以便为高效编辑做准备。

工具配置(toolConfig

null

工具输入(toolInput

  • fromnumber):要读取的第一个顶层节点的从零开始索引。

工具输出(toolOutput

成功响应:

  • successtrue):表示读取请求成功。
  • totalNodeCountnumber):文档中的顶层节点总数。
  • nodeRange[number, number]):已读取的顶层节点范围。
  • contentJSONContent[] | string):返回范围内的文档内容。当 formatjson 时,这是一个 Tiptap JSON 片段。当 formatshorthand 时,这是一个 Tiptap Shorthand 字符串。

错误响应:

  • successfalse):表示读取请求失败。
  • errorstring):错误信息。
  • totalNodeCount?number):顶层节点总数。

工具结果(toolResult

null

tiptapEdit

通过替换目标、在目标前插入或在目标后插入来编辑文档节点。目标是来自 tiptapRead 的节点哈希,或者整个文档使用 "doc"

工具配置(toolConfig

null

工具输入(toolInput

  • operationsarray):按顺序应用的编辑操作。操作格式在工具定义中有说明。如果你是客户,请联系我们以获取有关操作格式的更多信息。

工具输出(toolOutput

成功或部分成功响应:

  • successboolean):所有操作是否都已成功完成。
  • operationResultsarray):每个操作的结果。
    • successboolean):操作是否成功完成。
    • targetstring):操作所针对元素的字符串标识符。
    • errorstring | null):失败原因;如果操作成功则为 null

错误响应:

  • successfalse):表示编辑请求失败。
  • reason'validationError' | 'unexpectedError'):错误类别。
  • errorstring):错误信息。

工具结果(toolResult

null

getThreads

读取已持久化的评论线程、其评论以及它们在文档中的位置。

需要 Tiptap Cloud 文档

此工具要求在请求体中包含 experimental_documentOptions,因为线程存储在 Tiptap Document Server 上。请传入一个引用你的 Tiptap Cloud 文档的 documentId

工具配置(toolConfig

null

工具输入(toolInput

  • fromnumber):要读取的第一个线程的从零开始索引。

工具输出(toolOutput

成功响应:

  • successtrue):表示读取请求成功。
  • totalThreadCountnumber):文档中的线程总数。
  • threadRange[number, number]):已读取的线程范围,格式为 [from, to)
  • threadsarray):返回的线程对象。
    • idstring):唯一的线程标识符。
    • nodeRange[number, number] | null):线程所在的节点范围;如果线程未在文档中被标注,则为 null
    • contentJSONContent[] | string | null):线程标注的内容。当 formatjson 时,这是一个 Tiptap JSON 片段。当 formatshorthand 时,这是一个 Tiptap Shorthand 字符串。null 表示该线程未在文档中被标注。
    • commentsarray):线程中的评论。
      • idstring):唯一的评论标识符。
      • contentstring):评论文本。
      • userIdstring):创建该评论的用户 ID。
      • createdAtstring):评论创建时的 ISO 时间戳。
      • updatedAtstring):评论最后更新时间的 ISO 时间戳。
    • resolvedAt?string | null):线程被解决时的 ISO 时间戳;如果未解决,则为 null
    • createdAtstring):线程创建时的 ISO 时间戳。
    • updatedAtstring):线程最后更新时间的 ISO 时间戳。
    • data?Record<string, unknown>):公开的线程元数据。

错误响应:

  • successfalse):表示读取请求失败。
  • errorstring):错误信息。
  • totalThreadCount?number):已持久化线程的总数(如果已知)。

工具结果(toolResult

null

editThreads

创建、更新、移除、解决或取消解决评论线程和评论。

需要 Tiptap Cloud 文档

此工具要求在请求体中包含 experimental_documentOptions,因为线程存储在 Tiptap Document Server 上。请传入一个引用你的 Tiptap Cloud 文档的 documentId

工具配置(toolConfig

null

若要为新生成的 AI 线程或评论附加元数据,请在 execute-tool 请求中传入 experimental_commentsOptions

工具输入(toolInput

  • operationsarray):按顺序应用的线程操作。操作格式在工具定义中有说明。如果你是客户,请联系我们以获取有关操作格式的更多信息。

工具输出(toolOutput

成功或部分成功响应:

  • successboolean):表示所有操作是否都已成功完成。
  • operationsarray):每个操作的结果。
    • typestring):已执行的操作类型。
    • successboolean):操作是否成功完成。
    • messagestring):可供人类阅读的操作结果。
    • threadId?string):用于创建或引用线程的操作的线程 ID。

错误响应:

  • successfalse):表示请求在处理操作之前就已失败。
  • errorstring):错误信息。

工具结果(toolResult

null

readDocument

读取整个文档的内容。

工具配置(toolConfig

null

工具输入(toolInput

{}

工具输出(toolOutput

成功响应:

  • successtrue):表示文档已成功读取。
  • contentJSONContent[] | string):整个有效文档内容。当 formatjson 时, 这是一个 Tiptap JSON 片段。当 formatshorthand 时,这是一个 Tiptap Shorthand 字符串。

返回整个文档

工具输出包含整个文档的内容,可能会超出上下文窗口。为避免这种情况,你必须自行管理上下文窗口。

工具结果(toolResult

toolOutput 形状相同。

proofreader

对文档进行小幅编辑。适用于 AI 只进行一个或几个词的小修改的场景。例如,对文档进行校对或检查拼写错误。

此工具仅支持 format: "shorthand"

工具配置(toolConfig

null

工具输入(toolInput

  • operationsarray):按顺序应用的校对操作。操作格式在工具定义中有说明。如果你是客户,请联系我们以获取有关操作格式的更多信息。

工具输出(toolOutput

成功或部分成功响应:

  • successboolean):表示所有操作是否都已成功完成。
  • operationResultsarray):每个操作的结果。
    • targetstring):操作所针对元素的字符串标识符。
    • successboolean):操作是否成功完成。
    • errorstring | null):失败原因;操作成功时为 null

工具结果(toolResult

null