OpenAI - AI 代理工具

@tiptap-pro/ai-toolkit-openai 包提供了可以添加到你基于 OpenAI 的 JavaScript SDK 构建的 AI 代理中的工具定义。

模型生成的工具调用随后可以在客户端使用 executeTool 方法 执行。

示例用法

安装该包。

npm install @tiptap-pro/ai-toolkit-openai

将工具定义提供给你的 OpenAI 模型。

import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'

const openai = new OpenAI()

const response = await openai.responses.create({
  model: 'gpt-5.4-mini',
  input: [{ role: 'user', content: 'Help me edit this document' }],
  tools: toolDefinitions(),
})

将工具定义与你的自定义工具结合使用。

import OpenAI from 'openai'
import { toolDefinitions } from '@tiptap-pro/ai-toolkit-openai'

const openai = new OpenAI()

const customTools = [
  {
    type: 'function',
    name: 'get_weather',
    description: '获取某地的天气',
    parameters: {
      type: 'object',
      properties: {
        location: {
          type: 'string',
          description: '城市和州,例如 San Francisco, CA',
        },
      },
      required: ['location'],
    },
  },
]

const response = await openai.responses.create({
  model: 'gpt-5.4-mini',
  input: [{ role: 'user', content: 'What is the weather like and help me edit this document' }],
  tools: [...toolDefinitions(), ...customTools],
})

API 参考

toolDefinitions

为 Tiptap AI 工具包创建兼容 OpenAI 的 responses API 的工具定义。

参数 (ToolDefinitionsOptions)

  • tools?: EnabledTools - 通过将值设置为 true(启用)或 false(禁用)来启用/禁用特定工具。
    • tiptapRead?: boolean - 启用/禁用 tiptapRead 工具(默认: true
    • tiptapEdit?: boolean - 启用/禁用 tiptapEdit 工具(默认: true
    • tiptapReadSelection?: boolean - 启用/禁用 tiptapReadSelection 工具(默认: true
    • getThreads?: boolean - 启用/禁用 getThreads 工具(默认: false
    • editThreads?: boolean - 启用/禁用 editThreads 工具(默认: false

返回值

包含已启用工具定义的数组,可用于 OpenAI 的 responses API。完整工具列表请参见 可用工具 页面。

completionsApiToolDefinitions

为 Tiptap AI 工具包创建兼容 OpenAI 的 completions API 的工具定义。

参数 (ToolDefinitionsOptions)

  • tools?: EnabledTools - 通过将值设置为 true(启用)或 false(禁用)来启用/禁用特定工具。
    • tiptapRead?: boolean - 启用/禁用 tiptapRead 工具(默认: true
    • tiptapEdit?: boolean - 启用/禁用 tiptapEdit 工具(默认: true
    • tiptapReadSelection?: boolean - 启用/禁用 tiptapReadSelection 工具(默认: true
    • getThreads?: boolean - 启用/禁用 getThreads 工具(默认: false
    • editThreads?: boolean - 启用/禁用 editThreads 工具(默认: false

返回值

包含已启用工具定义的数组,可用于 OpenAI 的 completions API。完整工具列表请参见 可用工具 页面。