快速操作通过在编辑器中直接提供一键式AI驱动的建议,简化了常规内容转换。此功能提高了速度、相关性和可用性,尤其适用于可重复或简单的任务。对于会更改文档的建议,编辑器会显示预览,并且仅在每个建议被接受或拒绝后才应用更改。对于仅打开预填提示词的聊天窗口的操作,请参阅Chat。该API包括调用默认和优化的系统操作的能力,或定义您自己的操作。

预览转换和操作API调用是无状态的:每次调用都是独立的,不会保留之前的交互,不像持续的Chat对话。快速操作会打开带有预填提示词的聊天窗口,转而交由对话API处理。

快速操作功能作为TinyMCE的tinymceai插件的一部分提供,并通过操作API使用。本页涵盖了两者:

  • 插件部分描述了面向用户的功能和配置(快速操作配置)。

  • API部分涵盖REST API访问(从操作API开始)。

演示

实时演示加载了带有聊天窗口、快速操作和审查功能的完整TinyMCE示例。

HTML

<textarea id="tinymceai-actions">
<h1>内容创作的未来:将生成式AI融入现代工作流</h1>
<p>数字内容创作的格局正在经历一场剧变。多年来,写作、编辑和发布的过程很大程度上仍依赖于人工操作,每一篇草稿都需要耗费大量的认知负荷。然而,生成式AI(GenAI)的出现引入了一种新的范式。通过将智能直接嵌入到写作发生的地方(工具中),组织可以释放出前所未有的生产力和创造力。</p>
<figure class="image"><img style="width: 566px; aspect-ratio: 1536 / 1024; display: block; margin-left: auto; margin-right: auto;" src="https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/preview/" sizes="(min-width: 1536px) 1536px, 100vw" srcset="https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/100x/ 100w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/200x/ 200w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/300x/ 300w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/500x/ 500w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/750x/ 750w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/1000x/ 1000w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/1250x/ 1250w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/resize/1500x/ 1500w,https://tiny.ucarecdn.com/c273f5d9-8931-4f66-86a4-347a6137ca88/-/preview/ 1536w" alt="复古波普艺术插画,采用红蓝半色调风格,描绘了一个友好的机器人与三名使用笔记本电脑和平板电脑的人员协作,象征着AI辅助内容创作和团队合作。" height="357">
  <figcaption>通过将智能直接嵌入到写作发生的地方(工具中),组织可以释放出前所未有的生产力和创造力。</figcaption>
</figure>
<h2>从外部工具向原生集成的转变</h2>
<p>许多早期采用AI技术的用户依赖于外部聊天界面。虽然功能强大,但这种“复制粘贴”的工作流引入了阻碍,并打断了创作思路。原生集成——即AI存在于文本编辑器本身——能让创作者保持专注。创作者无需切换标签页来生成摘要或核对事实,而是让AI作为一个协作伙伴,理解当前文档的上下文。</p>
<h3>集成式AI的主要优势</h3>
<ul>
  <li><strong>上下文感知:</strong>AI可以分析现有文本,建议相关的后续要点或保持统一的品牌语调。</li>
  <li><strong>降低认知负荷:</strong>通过自动化格式化和基础校对等重复性任务,作者可以将精力集中在高层面的策略和叙事上。</li>
  <li><strong>简化协作:</strong>集成工具允许团队在单一共享环境中进行头脑风暴并完善想法,从而加快审批流程。</li>
  <li><strong>提升准确性:</strong>当连接到内部知识库时,GenAI可以提供通用模型所缺乏的事实核查能力。</li>
</ul>
<h2>评估工作流的改进</h2>
<p>为了理解GenAI集成的影响,对比传统工作流与AI增强流程是有益的。下表重点展示了常见的内容任务,以及原生AI如何转变不同利益相关者的产出和效率。</p>
<table style="width: 100%; border-collapse: collapse; margin-top: 20px; margin-bottom: 20px; border: 1px solid rgb(206, 212, 217);" border="1">
  <thead>
    <tr>
      <th style="border-color: #ced4d9; background-color: #ecf0f1; width: 26.6364%;">工作流任务</th>
      <th style="border-color: #ced4d9; background-color: #ecf0f1; width: 35.8714%;">传统方法</th>
      <th style="border-color: #ced4d9; background-color: #ecf0f1; width: 37.4922%;">GenAI增强方法</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td style="border-color: #ced4d9; width: 26.6364%;"><strong>起草</strong></td>
      <td style="border-color: #ced4d9; width: 35.8714%;">从空白页开始。</td>
      <td style="border-color: #ced4d9; width: 37.4922%;">AI生成大纲和初稿。</td>
    </tr>
    <tr>
      <td style="border-color: #ced4d9; width: 26.6364%;"><strong>调研</strong></td>
      <td style="border-color: #ced4d9; width: 35.8714%;">在多个标签页中手动搜索。</td>
      <td style="border-color: #ced4d9; width: 37.4922%;">即时检索内部/外部数据。</td>
    </tr>
    <tr>
      <td style="border-color: #ced4d9; width: 26.6364%;"><strong>语调调整</strong></td>
      <td style="border-color: #ced4d9; width: 35.8714%;">针对不同受众手动重写。</td>
      <td style="border-color: #ced4d9; width: 37.4922%;">一键转换(例如,从随意转为正式)。</td>
    </tr>
    <tr>
      <td style="border-color: #ced4d9; width: 26.6364%;"><strong>总结</strong></td>
      <td style="border-color: #ced4d9; width: 35.8714%;">阅读全文并手动精简。</td>
      <td style="border-color: #ced4d9; width: 37.4922%;">自动生成关键要点。</td>
    </tr>
    <tr>
      <td style="border-color: #ced4d9; width: 26.6364%;"><strong>本地化</strong></td>需要外部翻译服务。
     编辑器内多语言支持和翻译。
   
  

克服采用挑战
虽然优势明显,但实施GenAI需要采取战略性方法。关于数据隐私、输出质量和“人性化”的担忧很常见。为了解决这些问题,组织应优先选择提供“人机协同”功能的工具。AI应被视为一个助手——一个提供建议同时将最终编辑控制权留在作者手中的副驾驶。
此外,技术团队必须关注“集成者”体验。为开发人员提供直接的API和预构建的UI组件,可确保这些高级功能能够快速部署,而无需从头开始构建复杂的AI基础设施。展望未来,目标很简单:技术隐入背景,赋能创作者以更少的摩擦完成最佳工作。

JS

// Step 1: Set up session - this should be part of the application's user management process.
// 下面的开源插件仅用于编辑演示HTML(列表、链接、表格)。TinyMCE AI选项是重点。
tinymce.init({
  selector: 'textarea#tinymceai-actions',
  height: '800px',
  plugins: ['tinymceai', 'advlist', 'lists', 'link', 'autolink', 'table', 'wordcount'],
  toolbar: 'undo redo | tinymceai-chat tinymceai-review tinymceai-quickactions | styles | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link',
  sidebar_show: 'tinymceai-chat',
  tinymceai_token_provider: async () => {
    return fetch('/api/tinymceai-token', { credentials: 'include' })
      .then(resp => resp.text())
      .then(token => ({ token }));
  },
  tinymceai_chat_fetch_sources: () => Promise.resolve([{
    label: 'TinyMCE resources',
    sources: [
      { id: 'docs', label: 'TinyMCE Documentation', type: 'web-resource' },
      { id: 'blog', label: 'Tiny Blog', type: 'web-resource' },
      { id: 'survey-2023', label: 'State of rich text editing 2023', type: 'web-resource' },
    ]
  }]),
  tinymceai_chat_fetch_source: (id) => {
    const urls = {
      'docs': 'https://www.tiny.cloud/docs/tinymce/latest/',
      'blog': 'https://www.tiny.cloud/blog/',
      'survey-2023': 'https://www.tiny.cloud/developer-survey-results-2023/',
    };
    return Promise.resolve({ type: 'web-resource', url: urls[id] });
  },
  tinymceai_quickactions_custom: [
    {
      type: 'chat',
      title: 'Challenge',
      prompt: 'Challenge statements, verify facts and identify assumptions'
    }
  ],
  tinymceai_languages: [
    { title: 'English', language: 'english' },
    { title: 'Chinese (Simplified)', language: 'chinese' },
    { title: 'Spanish', language: 'spanish' },
    { title: 'German', language: 'german' },
    { title: 'Japanese', language: 'japanese' },
    { title: 'Portuguese', language: 'portuguese' },
    { title: 'Swedish', language: 'swedish' },
    { title: 'Korean', language: 'korean' },
    { title: 'Hindi (Devanagari)', language: 'hindi devanagari' },
    { title: 'Italian', language: 'italian' },
    { title: 'Klingon', language: 'klingon' },
    { title: 'Dothraki', language: 'dothraki' },
  ]
});

快速操作和审查

快速操作适用于转换选区或部分内容(例如语法修正、翻译或语气调整)。审查适用于整个文档的质量分析,建议会出现在审查侧边栏和文档中。

快速操作和审查都可以提出编辑建议,这些建议只有在被接受或拒绝后才会应用。主要区别在于范围和在编辑器中的工作位置:

  • 快速操作:对选区或部分内容进行操作。当未选择任何内容时,预览操作会在整个文档上运行。预览操作(包括类型为 action 的自定义操作)会在文档预览中显示建议的编辑内容,而不是打开聊天。当选择表格单元格时,操作会在所选单元格上运行。快速操作菜单运行一次性操作,例如使用预填充提示的聊天、预览转换、翻译和自定义操作。参见操作类型。

  • 审查:始终在只读审查模式下分析整个文档。建议会出现在审查侧边栏和文档中。有关详细信息,请参见审查。

集成

要开始使用快速操作功能,首先需要在编辑器配置中加载TinyMCE AI插件。有关安装和启用AI功能的详细信息,请参见插件参考。

启用 tinymceai 插件会注册聊天、快速操作和审查工具栏控件。这些控件只有在toolbar配置包含它们时才会出现在主工具栏上:默认工具栏(当 toolbar 被省略或为 true 时)会添加 tinymceai-chat、tinymceai-quickactions 快速操作图标、tinymceai-review 及相关项;使用自定义 toolbar 值时,必须列出每个控件,否则它将保持隐藏状态。

要在 Quickbars 选择工具栏上显示 Quick Actions,请将所需的标识符添加到 quickbars_selection_toolbar 选项中。

工具栏中的 TinyMCE AI Quick Actions 下拉菜单

最后,还可以将单个 Quick Actions 添加到工具栏作为快捷方式,以便更轻松地访问。

例如,添加 ai-quickactions-improve-writing 改进写作图标 按钮,或 ai-chat-explain 解释图标 按钮(可在上方的演示中找到)。还可以将整个类别添加到工具栏。了解更多可用操作。

最终的配置示例如下所示:

tinymce.init({
  selector: '#editor',
  plugins: 'tinymceai',
  toolbar: 'undo redo tinymceai-chat tinymceai-quickactions tinymceai-review | styles | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
  tinymceai_quickactions_menu: [
    'ai-quickactions-chat-prompts',
    'ai-quickactions-improve-writing',
    'ai-quickactions-continue-writing',
    'ai-quickactions-check-grammar',
    'ai-quickactions-change-length',
    'ai-quickactions-change-tone',
    'ai-quickactions-translate'
  ],

  // Configure a sub-menu (e.g., chat commands)
  tinymceai_quickactions_chat_prompts: [
    'ai-chat-explain',
    'ai-chat-summarize',
    'ai-chat-highlight-key-points'
  ],
  // Required for authentication
  tinymceai_token_provider: () => {
    return fetch('/api/token').then(r => r.text()).then(token => ({ token }));
  }
});

AI 控件不会自动添加到 quickbars_selection_toolbar 中;当需要它们出现在该位置时,请将所需的工具栏按钮标识符添加到该选项。

例如:

tinymce.init({
  selector: 'textarea#editor',
  plugins: 'quickbars tinymceai',
  quickbars_selection_toolbar: 'tinymceai-quickactions bold italic',
});

操作类型

快速操作功能中提供两种类型的操作:

  • 聊天操作(如“解释”或“总结”)会打开 Chat 界面,将所选文本作为上下文添加,并使用预填充的提示自动开始对话。

  • 预览操作(如 继续编写、缩短、改进写作 和 修正语法)会显示文档的预览,其中包含建议的编辑内容,以便您进行审阅并应用或跳过每个更改。

自定义操作允许集成者定义每个操作是打开 Chat 还是显示预览。请参阅“自定义操作”。

默认操作

默认情况下,Quick Actions 功能包含多个内置操作,可加快内容编辑过程。所有 Quick Actions 都可以通过菜单按钮 快速操作图标 (tinymceai-quickactions) 访问,或者在集成者在 编辑器工具栏配置 中选择时单独访问。还可以将整个操作类别添加到工具栏。

可以通过配置 tinymceai_quickactions_menu 将自定义操作添加到列表中,以及移除或重新排序默认操作。请参阅“配置 Quick Actions 菜单”。

下表列出了内置的 Quick Actions。

  • 编辑器 列是当该操作在编辑器中可用时,Quick Actions 菜单中的标签。

  • 菜单或控件 ID 列列出了 tinymceai_quickactions_menu、tinymceai_quickactions_chat_prompts、tinymceai_quickactions_change_tone_menu 的值,以及添加单个控件时的工具栏(请参阅“配置 Quick Actions 菜单”)。

  • 系统 actionName 或快速操作提示 ID 列是服务标识符。预览操作使用带有 Actions API 的系统 actionName。聊天操作使用快速操作提示 ID 和带有预填充提示的 Chat,而不是系统操作 API。

编辑器菜单或控件 ID系统 actionName 或快速操作提示 ID描述编辑器 UIAPI

解释

ai-chat-explain

explain

使用所选文本和预填充的提示打开 Chat。使用 Conversations API,而不是系统操作路径。

✓

—

总结

ai-chat-summarize

summarize

使用总结提示打开 Chat。使用 Conversations API,而不是系统操作路径。

✓

—

突出关键点

ai-chat-highlight-key-points

highlight-key-points

使用关键点提示打开 Chat。使用 Conversations API,而不是系统操作路径。

✓

—

改进写作

ai-quickactions-improve-writing

improve-writing

提升清晰度、词汇选择和句子结构。

✓

✓

继续写作

ai-quickactions-continue-writing

continue

完成未完成的句子、段落或整个文档。

✓

✓

修正语法和拼写

ai-quickactions-check-grammar

fix-grammar

修正语法、拼写和标点错误。

✓

✓

改变长度

ai-quickactions-change-length

make-shorter, make-longer

缩短或延长选中的内容。每个选项都是一个独立的系统动作。

✓

✓

改变语气

ai-quickactions-change-tone
ai-quickactions-tone-casual
ai-quickactions-tone-direct
ai-quickactions-tone-friendly
ai-quickactions-tone-confident
ai-quickactions-tone-professional

make-tone-casual
make-tone-direct
make-tone-friendly
make-tone-confident
make-tone-professional

改变写作风格;每个菜单选项对应一个独立的系统动作。

✓

✓

翻译

ai-quickactions-translate

translate

将选中的内容翻译成从翻译子菜单中选择的语言。子菜单列出了在tinymceai_languages中设置的语言。单独的语言没有菜单项或工具栏按钮标识符。

✓

✓

  • 编辑器 UI列中的勾选标记表示当包含在tinymceai_quickactions_menu(以及相关的子菜单选项,如tinymceai_quickactions_chat_prompts)中时,该动作可以出现。

  • API列中的勾选标记表示通过系统动作API路径/v1/actions/system/{actionName}/calls调用该动作。破折号表示该命令是基于聊天的,使用的是Conversations API。

  • ai-quickactions-custom标识符(标记为其他)列出了在tinymceai_quickactions_custom中设置的自定义动作。参见自定义动作。

有关系统动作端点、模式和流式传输详细信息,请参阅动作API参考。

自定义动作

tinymceai_quickactions_custom配置属性允许向快速动作功能添加新命令。这些项的类型可以是action(一种快速动作,显示带有AI建议的编辑器内容预览,以便在应用更改之前进行审查)或chat(打开与提示和选择相关的对话的聊天界面)。title用于菜单项,而prompt是实际发送给AI的内容。action类型的命令需要model。了解更多关于动作类型的信息。

tinymce.init({
  selector: '#editor',
  plugins: 'tinymceai',
  toolbar: 'tinymceai-quickactions',
  // Required for authentication
  tinymceai_token_provider: () => {
    return fetch('/api/token').then(r => r.text()).then(token => ({ token }));
  },
  tinymceai_quickactions_custom: [
    {
      title: 'Add a quote from a famous person',
      prompt: 'Add a quote from a known person, which would make sense in the context of the selected text.',
      type: 'action',
      model: 'gemini-2-5-flash'
    },
    {
      title: 'Summarize in 5 bullet points',
      prompt: 'Summarize the selected text in 5 bullet points.',
      type: 'chat'
    },
    {
      title: 'Rewrite adding more sarcasm',
      prompt: 'Rewrite using a sarcastic tone.',
      type: 'action',
      model: 'gemini-2-5-flash'
    }
  ]
});

配置快速动作菜单

通过指定要包含的动作列表,可以配置快速动作菜单中显示哪些动作。tinymceai_quickactions_menu配置选项控制主菜单项。

子菜单有自己的配置选项:

  • tinymceai_quickactions_chat_prompts:控制“聊天命令”子菜单中的项

  • tinymceai_quickactions_change_tone_menu:控制“改变语气”子菜单中的项

  • tinymceai_languages:控制“翻译”子菜单中的语言

tinymce.init({
  selector: '#editor',
  plugins: 'tinymceai',
  toolbar: 'tinymceai-quickactions',
  // 身份验证所需
  tinymceai_token_provider: () => {
    return fetch('/api/token').then(r => r.text()).then(token => ({ token }));
  },
  // 配置主快速操作菜单
  tinymceai_quickactions_menu: [
    'ai-quickactions-chat-prompts',
    'ai-quickactions-improve-writing',
    'ai-quickactions-continue-writing',
    'ai-quickactions-check-grammar',
    'ai-quickactions-change-length',
    'ai-quickactions-change-tone',
    'ai-quickactions-translate',
    'ai-quickactions-custom'
  ],
  // 配置子菜单(例如,聊天命令)
  tinymceai_quickactions_chat_prompts: [
    'ai-chat-explain',
    'ai-chat-summarize',
    'ai-chat-highlight-key-points'
  ]
});

Actions API

快速操作插件功能基于 Actions API 构建,该 API 提供对操作功能的 REST API 访问权限。操作是快速、无状态的操作——每个请求都是独立的,详见 Stateless actions。对于更改文档的建议,预览流程仅在每个建议被接受或拒绝后才应用编辑。仅使用预填提示词打开 Chat 的操作使用 Conversations API;请参阅Chat。

操作使用 Server-Sent Events 进行流式输出,以便在结果生成时提供实时反馈。

System Actions

内置快速操作——包括标识符、描述,以及每个命令是否使用 system Actions API 或 Chat(Conversations API)——汇总于 Default Actions。

要运行系统操作,请使用Call a system action,并使用上表中 API 列有对勾标记的行中的 actionName。系统操作使用内置提示词,因此请求不需要提示词或模型。对于每个系统操作所需的 token 权限范围,请参阅Actions permissions。

有关系统 actionName 调用的端点详情、请求和响应模式、身份验证以及流式传输行为,请参阅Actions API。

Custom Actions through the API

除了系统操作,还可以通过 API 为特定用例创建自定义操作。自定义操作允许使用自定义提示词进行专门的内容转换,以控制 AI 行为。

与使用默认标识符的系统操作不同,自定义操作使用统一端点 Call a custom action,其中转换行为通过 prompt 参数定义。有关自定义操作端点和实现细节,请参阅Actions API。

自定义操作需要在 JWT token 中具有 ai:actions:custom 权限。请参阅Actions permissions。

Streaming Responses

操作使用 Server-Sent Events (SSE) 进行实时流式结果输出。有关详细的实现信息,请参阅Streaming Responses guide。有关事件及其负载的信息,请参阅 API 参考中的Call a system action和Call a custom action。

API Reference

Actions API 参考(交互式 OpenAPI 文档)是系统和自定义操作端点、请求和响应模式、身份验证、示例以及流式操作响应的完整来源。

Related Features

  • AI Chat:用于与文档分析和上下文进行交互式讨论。

  • AI Review:用于内容质量分析和改进建议。

  • Multi-editor mode:用于在同一页面上的多个编辑器之间共享 Chat、Review 和 Quick Actions。