服务器评论
赋予您的 AI 代理读取、编写和编辑文档中评论的能力,完全在服务器端完成。
查看 GitHub 上的源码。
继续阅读 AI 代理聊天机器人指南
本指南接续 AI 代理聊天机器人指南。请先阅读它。
启用评论工具
要启用评论工具,获取服务器 AI 工具包 API 的工具定义时,传递 getThreads 和 editThreads 选项。
import { getAuthHeaders } from '@/lib/server-ai-toolkit/get-auth-headers'
const response = await fetch(`${apiBaseUrl}/toolkit/tools`, {
method: 'POST',
headers: getAuthHeaders(),
body: JSON.stringify({
schemaAwarenessData,
tools: {
// 禁用 tiptap 编辑工具,使 AI 不能编辑文档,
// 只能添加评论
tiptapEdit: false,
// 启用评论工具
getThreads: true,
editThreads: true,
},
}),
})执行评论工具
评论工具需要一个 Tiptap Cloud 文档,因为线程和评论存储在 Tiptap 文档服务器上。使用 experimental_documentOptions 时,不需要传递 document 字段 —— AI 服务器会自动从文档服务器获取。
Request body
在请求体中包含 experimental_documentOptions:
documentId(string,必填):文档 IDuserId(string,可选):创建评论的用户 ID。如果省略,则评论将不带用户归属创建。
可选包含 experimental_commentsOptions 以添加元数据:
threadData(Record<string, unknown>, 可选): 当由editThreads工具创建新线程时附加到新线程的元数据。commentData(Record<string, unknown>, 可选): 当由editThreads工具创建新评论时附加到新评论的元数据。
const result = await fetch(`${apiBaseUrl}/toolkit/execute-tool`, {
method: 'POST',
headers: getAuthHeaders(),
body: JSON.stringify({
toolName: 'editThreads',
input: {},
schemaAwarenessData,
sessionId,
// 引用 Tiptap Cloud 文档
experimental_documentOptions: {
documentId: '123',
userId: 'ai-assistant',
},
// 可选元数据
experimental_commentsOptions: {
threadData: { source: 'ai' },
commentData: { source: 'ai' },
},
}),
})最终效果
结果是一个简单但完善的 AI 聊天机器人应用:
查看 GitHub 上的源码。
下一步
- 了解所有可用的工具定义
- 探索REST API 参考