AI 工具包更新日志

@tiptap-pro/ai-toolkit

0.7.0

小幅更新

  • e656fc6: 为 acceptSuggestion 添加一个 tr 选项,使调用方可以在不派发的情况下,将已接受的建议应用到现有的 ProseMirror transaction 上。

0.6.1

修复更新

  • 46deb98: 修复流式预览建议在多个流式 tick 中累积的问题。

0.6.0

小幅更新

  • 425d7bc: acceptSuggestion 现在会返回一个 range 属性,其中包含文档中插入内容的范围。当建议无法应用时,该范围为 null
  • a9134a5: 新增实验性的 findContentRange 方法,可通过 _hash 和/或精确的 HTML 内容定位 ProseMirror 范围。

0.5.0

小幅更新

  • 81a6803: 为插入内容工作流添加修订跟踪支持
  • f41bb00: 为 tiptapRead 方法添加 ignoreSuggestions 选项

修复更新

  • 81a6803: 当插入内容工作流生成新建议时,保留其他建议。

0.4.0

小幅更新

  • b41d288: 为 AI Caret 扩展新增 aiCaret:positionChanged 事件。只要在流式传输或编辑操作期间更新 AI 光标位置,该事件就会触发,载荷为 { position: number }——即 ProseMirror 文档位置。通过 editor.on('aiCaret:positionChanged', handler) 订阅以响应 AI 的书写位置,例如实现自动滚动。

修复更新

  • a8ac0a0: 改进 tiptapReadSelection 工具,使其使用更少的 tokens,并且不会导致 AI 将所选内容误认为选择所在节点的内容。
  • fd30961: 当 AI 想要替换整个文档时,通过比较文档的当前状态与 AI 上次读取文档时的状态,防止它覆盖用户的编辑内容。
  • 99f0fde: 用于校验 AI 不会覆盖用户更改的哈希函数更高效。

0.3.10

修复更新

  • 61cfeb6: 避免在流式传输 AI 工具包更新时重建建议跟踪状态;当这些更新会立刻替换建议时,跳过不必要的重建。
  • fb9430c: 性能优化:在流式传输期间,当批处理里不会应用任何操作时,跳过不必要的计算。这使得校对工作流在流式传输时更加高效。

0.3.9

修复更新

  • 19c0fb9: 停止在编辑器加载和文档更新期间分配 _hash 值。现在哈希扩展仅定义 _hash 属性。

0.3.8

修复更新

  • 99d0172: 确保 tiptapReadChunks 在返回分块内容前修复缺失的文档哈希。

0.3.7

修复更新

  • 0608c46: 小的 Bug 修复和改进

0.3.6

修复更新

  • 3ec3fe2: 在解析 HTML 时保留行内空白,避免将块节点周围的格式空白转换为独立的 AI 编辑块。

0.3.5

修复更新

  • 8d4641c: 还原解析 HTML 为 ProseMirror 片段时的空白保留。

0.3.4

修复更新

  • a0ef231: 在解析 HTML 为 ProseMirror 片段时保留空白。

0.3.3

修复更新

  • f09d930: 保留节点哈希以确保校对替换期间连续校正能可靠地定位到相同内容。

0.3.2

0.3.1

修复更新

  • edd30dc: 向分割视图添加 ResizeObserver,当容器宽度变化(例如侧边栏切换)时重新计算间隔高度,并带有防抖和冷却以防止振荡。

0.3.0

修复更新

  • 6fd2db6: 通过按垂直位置排序输入来修复分割视图间隔对齐
  • 55562f3: 修复 AI 工具包操作解析独立表格 HTML(如 <tr> 内容)时的表格行哈希问题。
  • 35e5476: fix(ai-toolkit): 补偿分割视图间隔中损坏的 CSS 边距折叠问题

0.2.3

修复更新

  • a631995: 修复校对工作流,以便应用所有有效的连续更正。

0.2.2

修复更新

  • daaa0b3: 添加支持在模板字段上存储元数据,并暴露一个助手从 Tiptap JSON 模板读取字段内容及元数据。
  • d531d09: fix(split-view): 解决接受/拒绝问题并改善用户体验
  • 2c96594: 允许 AI 编辑操作在具有固定周围架构槽(如必需的页眉和页脚)的文档中插入和替换有效的块内容。

0.2.1

修复更新

  • bb69e24: 改进校对替换匹配跨越标点边界,以便替换可以针对相邻于连字符和斜杠等字符的单词。

0.2.0

小幅更新

  • e3082aa: 标准化 tiptapEdit 操作报告,围绕 operationResults 数组,每个尝试的操作返回一个结果,包括目标、成功状态和任何错误消息。

    streamTooltiptapEditWorkflow 添加 streamingOptions 字段,以自定义内容流式传输的方式。

    在审查模式或预览模式下流式传输内容时显示“打字效果”。可以通过配置 streamingOptions.disableTypingEffect 禁用此“打字效果”。

    向 Tiptap 编辑工作流和校对工作流添加修订跟踪支持。

    在使用带有修订跟踪的 AI 工具包时添加流式传输支持。当流式传输带有修订跟踪的内容时,流式传输支持不显示“打字效果”。相反,它按操作基础流式传输内容。

    破坏性变更:

    • tiptapEdit 工具输出现在包含 operationResults 属性,而不是 successfulfailed
    • tiptapEditWorkflow 现在返回 operationResults 而不是 successfulfailed
    • proofreaderWorkflow 现在返回 operationResults 而不是 operations
  • ecc8c58: 添加并排修订跟踪审查的分割视图

修复更新

  • df85690: 在 AI 工具包修订跟踪读取器中添加对跟踪标记更改建议的兼容性。

    AI 工具包修订跟踪读取层现在识别 markChange 建议类型并更新修订跟踪建议联合,以便仅跟踪标记的建议被解析而不被拒绝或错误分类。

0.1.4

修复更新

  • cc227d4: 通过遵循发出事件并在线程上设置 "suggestionReason" 字段的官方方法,将 AI 工具包修订跟踪功能与评论扩展集成。

0.1.3

修复更新

  • eec70b8: 修复审查模式下流式传输时表格渲染损坏的问题。流式传输现在在审查模式下按操作应用而不是按字符应用,暂时移除打字效果。打字效果将在未来版本中恢复。

0.1.2

修复更新

  • bdbdab4: 修复了一个 bug,当与协作一起使用 AiToolkit 哈希扩展时,在第一次 Yjs 同步后所有节点哈希被重新生成,而不仅仅是重复项。
  • 8016488: 修复了当协作扩展激活时,撤销或重做更改时建议消失的 bug。

0.1.1

修复更新

  • 46addf3: 确保调用 tiptapRead 工具时所有可选择节点都正确设置。修复了 tiptapRead 工具返回的内容中未设置所有可选择节点的 Bug。
  • b95990d: 修复了一个 bug,当与协作扩展和外部创建的 Yjs 提供者一起使用 AiToolkit 扩展时,空段落会在每次页面重新加载时在文档中积累。
  • de48513: 修复 tiptapRead 在预览模式 tiptapEdit 更改文档节点结构后返回损坏内容的问题
  • 27eb52a: 修复了当 AI 生成的 HTML 包含标准表格包装元素(如 <tbody><thead><tfoot>)时,表格插入失败并出现"Invalid HTML content"错误的问题。

0.1.0

小幅更新

  • e214bc6: 启动新的版本控制方案,使所有 AI 工具包和服务器 AI 工具包包在同一版本上对齐。

3.0.0-alpha.89

小幅更新

  • 向 AI 工具包添加可审核变更回顾模式。启用后,AI 编辑会以可审核变更形式写入,而非标准的回顾建议,且当存在 Comments 扩展时,可以将 AI 生成的变更解释作为关联评论附加。
  • 在可审核变更回顾模式下,tiptapRead 现返回应用所有可审核变更后文档的样貌,确保 AI 工具读取的是有效的文档内容,而非包含可审核变更标记的内容。

修复更新

  • 修复重建可审核变更时的差异计算,保证后续重叠编辑正确合并,且不创建多余建议或重复可审核变更。

3.0.0-alpha.88

重大更新

  • 建议非阻塞:对于已有建议的文档,AI 可继续编辑并基于现有建议叠加更多建议,用户在最终审阅所有建议。
  • 破坏性变更tiptapRead 现在返回类型为 TiptapReadResult
  • 破坏性变更tiptapRead 接受的参数类型变为 TiptapReadResult
  • 破坏性变更:向文档添加全局属性 _hash,辅助多层级变更时节点的选择。
  • 破坏性变更:移除可配置的 hashTypesselectableNodeTypes 选项。当前所有非内联节点均允许选择。
  • 破坏性变更:校对操作类型中,将 hash 重命名为 target,以统一与编辑操作的命名。

3.0.0-alpha.87

小幅更新

  • 新增 invertSuggestions 方法。该方法执行模拟运行,将所有当前建议应用于文档副本,返回结果文档以及可以撤销这些更改的反向建议。反向建议保留原建议的元数据。预览模式的建议在反向结果中会转为审核模式,反之亦然。

3.0.0-alpha.86

小幅更新

  • diffUtilityExternalDiffUtilityOptions 添加 expandBlockChanges 选项。当匹配的节点类型包含于指定列表且其所有内联内容均被修改时,用单一块级改动代替多个内联改动。默认值为 ['listItem']。仅在 'smart' 模式下生效。

修复更新

  • 修复当差异改动涉及不能作为直接 doc 内容节点(如未包裹的 listItem 节点)时,替换装饰渲染导致崩溃的问题。现在渲染时会先用必要的父节点包裹内容,再添加子改动标记。

3.0.0-alpha.85

小幅更新

  • templateWorkflowfillTemplate 添加 preserveSlotAttr 选项。启用后,填充后的节点保留 _templateSlot 属性,方便识别 AI 填充内容及重新填充模板字段。
  • fillTemplate 增加相邻槽合并功能。多个连续节点如果具有相同的 _templateSlot 属性值,会被视为单一槽,共同替换为一个 HTML 输出。
  • createTemplateValuesSchema 添加 requiredSlotsrequiredConditionsrequiredAttributes 选项。未传参数时所有字段默认必填,传入空数组时对应字段类型所有字段变为可选。
  • 新增 TemplateField Tiptap 扩展,为所有节点类型注册全局属性 _templateSlot_templateIf_templateAttributes。该扩展提供命令(setTemplateSlotunsetTemplateSlotsetTemplateIfunsetTemplateIfsetTemplateAttributesunsetTemplateAttributes)供设置或取消当前选中节点的模板属性。

重大更新

  • 破坏性变更fillTemplate 方法参数签名由位置参数 (template, values, schema) 改为命名选项对象 (options: FillTemplateOptions)
  • 破坏性变更createTemplateValuesSchema 方法参数签名由 (template) 改为 (options: CreateTemplateValuesSchemaOptions)

3.0.0-alpha.84

修复更新

  • 修复启用 groupInlineChanges 时,改动可能错误显示在文档完全不同位置的 Bug。

3.0.0-alpha.83

小幅更新

  • 新增 tiptapReadChunks 方法。

3.0.0-alpha.82

重大更新

  • 破坏性变更:移除 getTextgetHtmlgetJsongetTextSelectiongetHtmlSelectiongetJsonSelection 方法。请改用 Tiptap 编辑器 API 或新方法如 getTextRangegetHtmlRangegetJsonRange
  • 破坏性变更:简化 InsertPosition 类型,由原联合类型中的 8 个选项改为 Range | number。位置参数现在可为数字偏移或 Range 对象,默认值为整个文档范围。
  • 破坏性变更:移除 setHtmlSuggestions 方法,建议改用校对工作流(Proofreader Workflow)。
  • 破坏性变更:移除 smartInlinesmartInlineV2 差异模式,建议改用 smart
  • 破坏性变更:简化 setSuggestionsaddSuggestions 方法,改为直接接受 Suggestion[],不再支持接收 SuggestionsFormat[]compareDocuments 格式也不再支持。建议改用新方法 setSuggestionsFromDiff
  • 破坏性变更:简化 ReplacementOption 类型,由判别联合类型 (SliceReplacementOptionTextReplacementOption) 改为仅包含 content 属性(类型为 string | Slice)的单一接口,移除 typeaddSliceaddText 属性。

小幅更新

  • 新增 setSuggestionsFromDiff 方法,支持比较两个文档并根据差异设置建议,替代旧版 setSuggestions 中的 compareDocuments 格式。

3.0.0-alpha.81

修复更新

  • 修复自定义节点视图嵌套于容器节点(如引用块或列表)时无法正确渲染的问题。

3.0.0-alpha.80

修复更新

  • 修复替换子更改标记跨节点边界时显示错误的问题。
  • 修正 simplifyChanges 误将改动范围扩展到单词边界外的错误。现在相邻的非字母字符(如空格、标点)不被包含在改动范围内。单词边界计算同时检测原文和修改后文档内容。

3.0.0-alpha.79

修复更新

  • 改进编辑后文档节点哈希的稳定性。

3.0.0-alpha.78

修复更新

  • 降低文档节点哈希计算时的碰撞概率。

3.0.0-alpha.77

修复更新

  • 修复用户修改文档后,AI 无法定位用户修改内容下方内容,导致必须重新读取文档的问题。

3.0.0-alpha.76

修复更新

  • 修复 offsetChanges 映射改动时未保留 isInlineGroup 属性,导致内联组信息丢失的问题。

3.0.0-alpha.75

重大更新

  • 破坏性变更:添加新的 smart 差异模式,并将其设为默认。该差异模式可智能适配块级和行内内容。改动不会跨越块边界,从而为结构性文档变更生成更干净的差异。
  • 破坏性变更:将 detailed 差异模式重命名为 inline
  • 破坏性变更:将 ReviewOptions 中的 diffMode 属性替换为 useDiffUtilityboolean)。将 diffMode: 'detailed' 改为 useDiffUtility: true,将 diffMode: 'full' 改为 useDiffUtility: false
  • 破坏性变更:将默认的 changeMergeDistance 设置为 10
  • 破坏性变更:将 displayOptions.showAsDiff 重命名为 displayOptions.showReplacement
  • 破坏性变更:移除 displayOptions.diffPosition
  • 破坏性变更:将 displayOptions.diffAttributes 重命名为 displayOptions.replacementAttributes

弃用提示

  • 弃用 smartInlinesmartInlineV2 差异模式,推荐使用 smart 模式替代。

小幅更新

  • 改进行内差异模式的性能。
  • 修复差异工具中添加内容和删除内容都会以空格结尾的 bug。
  • diffUtilityOptionsExternalDiffUtilityOptions)添加 groupInlineChanges,用于控制何时将行内编辑分组为一个建议。
  • 添加 displayOptions.showSubChangesdisplayOptions.subChangeAttributesdisplayOptions.replacementSubChangeAttributes,用于自定义分组后的行内更改。
  • 为分组后的行内更改在 Suggestion 中添加 isInlineGroup
  • proofreaderWorkflow 中,行内更改默认不再分组。需要时可通过 reviewOptions.diffUtilityOptions.groupInlineChanges 覆盖。

3.0.0-alpha.74

修复更新

  • 修复协文学档中,其他用户删除建议内容时未自动移除该建议的问题。

3.0.0-alpha.73

小幅更新

  • 新增模板工作流:templateWorkflow 方法,支持使用 AI 生成内容填充结构化 Tiptap 模板。
  • 新增 createHtmlTemplate 工具,可将 Tiptap JSON 模板转换为 HTML。

3.0.0-alpha.72

修复更新

  • 修复 ES2025 迭代器辅助函数(如 Map.entries().filter().map() 等)在 Safari 18.4 以下、Firefox 131 以下等不支持此特性的浏览器上导致 TypeError 的兼容问题。

3.0.0-alpha.71

修复更新

  • 修复建议范围内空段落未被正确视觉标记的问题。

3.0.0-alpha.70

小幅更新

  • toolDefinitions()tiptapEditTool() 添加 operationMeta 选项。启用后,AI 每次编辑操作均附带 meta 字段,说明改动原因。

3.0.0-alpha.69

小幅更新

  • 改进 diffUtilitysimplifyChanges 行为。
  • 启用时,单字符词内编辑会扩展至整个单词边界。
  • 支持单字符插入、删除和替换,提高差异可读性。

3.0.0-alpha.68

修复更新

  • 修正校对工作流流处理时报错的问题。

3.0.0-alpha.67

重大更新

  • 改用 Tiptap 位置工具进行位置映射,要求 Tiptap 版本 ≥ 3.12.0。
  • 全新流处理实现,允许 AI 流式期间其他用户编辑文档,相关工具包括:
    • tiptapEdit
    • proofreaderWorkflow
    • tiptapEditWorkflow
    • streamText
    • streamHtml

小幅更新

  • 新增 AiCaret 扩展,流式操作时显示闪烁光标。
  • 移除未使用依赖:@tiptap/y-tiptap@tiptap-pro/extension-comments

修复更新

  • 修正文档更新时活动选择错误更新的问题。

3.0.0-alpha.66

修复更新

  • 使 smartInlineV2 差异模式支持非内联且非块级元素,如表格单元格。

3.0.0-alpha.65

小幅更新

  • diffUtility 新增 smartInlineV2 差异模式。该模式改进 smartInline,能正确展示块元素(例如表格)内的改动。

3.0.0-alpha.64

修复更新

  • 避免使用旧版本不支持的 ProseMirror API,例如 toObject

3.0.0-alpha.63

小幅更新

  • executeToolstreamTooltiptapEditWorkflow 增加 tiptapEditHooks 选项,允许在应用 Tiptap 编辑操作前拦截、修改或拒绝操作。beforeOperation 钩子接收操作上下文,返回 BeforeOperationResult,用于控制操作是否被应用及可能的修改。

3.0.0-alpha.62

重大更新

  • 更新 Tiptap 编辑工具中 selectableNodeTypes 参数,默认允许 AI 选择并替换文档中任意块节点。

修复更新

  • 移除评论工具操作中的 console.log 调试语句。

3.0.0-alpha.61

修复更新

  • 改进 createThread 操作,避免极少数情况下创建点错误。
  • 重构代码,减小包体积。

3.0.0-alpha.60

修复更新

  • 修正 editThreads 工具和评论工作流中线程偶尔创建于错误位置的 Bug。

3.0.0-alpha.59

小幅更新

  • editThreads 工具新增操作追踪流式支持,利用计数器在扩展存储中追踪和防止重复执行。工具调用 ID 变化时重置存储。
  • 评论工作流新增流式支持。editThreadsWorkflow 添加 isStreaming 选项,设为 true 时执行所有操作但跳过最后一个;为 false 或未设置时执行全部操作(含最后一个)。操作计数机制防止重复执行,工作流 ID 变化时重置存储。

修复更新

  • 流式 HTML 内容时不再显示尾随的 < 字符。

3.0.0-alpha.58

重大更新

  • executeToolstreamTool 返回类型中,output 属性现返回 JSON 对象,方便日志记录和工具输出解析。

小幅更新

  • diffUtility 新增 smartInline 差异模式。该模式结合块级和内联比较,先识别变更块,然后在块内执行字符级差异。适合局部文档修改,兼顾效率和细节。

3.0.0-alpha.57

重大更新

  • 破坏性变更:重构 Tiptap 编辑实现,提升效率与准确度。移除 HashAttributeExtension,加强 schema 处理和哈希生成逻辑。
  • 破坏性变更tiptapRead 方法返回类型中,nodeRange 属性更名为 contentRange,增强清晰度。
  • 破坏性变更:工作流用户提示输入参数由 nodes 重命名为 content,影响 tiptapEditWorkfloweditThreadsWorkflow,请相应更新调用代码。

小幅更新

  • 统一所有 Tiptap 方法中 selectableNodeTypes 的处理方式。
  • addHashesToDocument 工具迁移至 tiptap-read 目录,优化结构。

修复更新

  • 修正评论工具中评论插入位置错误。
  • 简化 addHashesToDocumentshortHash 中的哈希生成流程。
  • 优化 Tiptap 编辑函数中可选节点的处理逻辑。

3.0.0-alpha.56

修复更新

  • getThreads 分页改用 threadIndexRange 的排他上界。

3.0.0-alpha.55

修复更新

  • 按线程索引分页 getThreads 输出,遵守块大小限制。

3.0.0-alpha.54

修复更新

  • 修正接受或拒绝全部建议时偶发的“范围越界”错误。
  • 修复“比较文档”功能修改结果反馈错误。

3.0.0-alpha.53

小幅更新

  • 新增 tiptapEditWorkflow 方法,执行支持 AI 精准高效编辑文档的工作流。
  • 新增 editThreadsWorkflow 方法,执行支持 AI 管理文档评论和线程的工作流。
  • 新增 getThreads 方法,获取文档所有线程及其评论和定位。

3.0.0-alpha.52

修复更新

  • 修正接受或拒绝建议后,其他建议位置未正确更新的问题。

3.0.0-alpha.51

重大更新

  • 破坏性变更editThreads 工具采用全新更高效格式。新格式更快更省令牌,避免差异不匹配错误,显著提升准确性。

3.0.0-alpha.50

重大更新

  • 简化建议 API,合并普通建议和“比较文档”更改为统一方法集。
  • 移除“比较文档”功能中的 acceptChangerejectChangerejectAllChanges,改用 acceptSuggestionrejectSuggestionacceptAllSuggestionsrejectAllSuggestions,支持两类场景。
  • 重命名 applySuggestionacceptSuggestionapplyAllSuggestionsacceptAllSuggestions,提升一致性和清晰度。

小幅更新

  • Suggestion 接口新增 reviewMode 字段,指示建议处于“预览”还是“审核”模式。此字段由 reviewOptions.mode 自动设置。
  • 新增 rejectSuggestionrejectAllSuggestions 方法,用于拒绝建议并返回 AI 关于拒绝更改的反馈。
  • 修改 acceptSuggestionacceptAllSuggestions 方法,返回包含用户接受或拒绝改动的 aiFeedback,涵盖删除和插入内容及状态,指导 AI 改进建议。

3.0.0-alpha.49

修复更新

  • 使用 micro-memoize 替换弃用依赖 moize
  • 移除未使用依赖 debounce

3.0.0-alpha.48

重大更新

  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.19
  • 移除已废弃的 insertFragment 方法。
  • 移除已废弃的 getActiveNodeRangesetActiveNodeRange 方法。

小幅更新

  • 新增 AI 工具包的 proofreaderWorkflow 方法,支持 AI 校对文档流程。
  • 新增 AI 工具包的 tiptapRead 方法,允许 AI 快速高效读取文档。

3.0.0-alpha.47

重大更新

  • 新增并默认启用工具:tiptapEdittiptapReadtiptapReadSelection。移除工具:readNodeRangereadSelectioninsertContentapplyPatch

3.0.0-alpha.46

小幅更新

  • 新增实验性选用工具:tiptapEdittiptapReadtiptapReadSelection,实现更快更高效编辑。

3.0.0-alpha.45

小幅更新

  • diffUtility 增加块级差异对比选项。mode 参数可设为 block,按顶级节点比较文档,适合仅关心段落或标题变动、无需字符级细节的场景。

修复更新

  • 修正 diffUtility 使用 changeMergeDistance 时,不同顶级节点相邻改动被误合并问题,确保不同块改动正确分离。
  • 修复 editThreads 工具 Bug:未读取文档即创建线程,导致线程未被创建。
  • 确保 startComparingDocuments 中被比较的文档与主文档使用相同的 schema。

3.0.0-alpha.44

小幅更新

  • 新增 setMarkdownSuggestions 方法,通过比较 Markdown 内容与当前文档显示建议,需配置并安装 Tiptap Markdown 扩展。
  • 新增 getMarkdownRange 方法,提取文档指定范围的 Markdown 内容,需配置并安装 Tiptap Markdown 扩展。

修复更新

  • 修复 setHtmlSuggestionssetMarkdownSuggestions 替换文本时错误修改 HTML 标签的问题。例如替换 "a" 为 "an" 不会误改标签 <a><an>,且如果删除的文本不含 <>,替换操作只影响文本内容,不修改标签。

3.0.0-alpha.43

修复更新

  • 修复协作事务应用时装饰未正确更新的问题。

3.0.0-alpha.42

修复更新

  • 修复协作事务应用时装饰未正确更新的问题。

3.0.0-alpha.41

重大更新

  • changeMergeDistance 选项替换为 diffUtilityConfig,为文档比较工具提供更多自定义选项。

小幅更新

  • setSuggestions 方法的 compareDocuments 格式中添加 diffUtilityConfig 选项。这允许配置文档比较工具。
  • Suggestion 类型的 displayOptions 中添加 diffAttributes 选项,允许自定义差异装饰的属性。

3.0.0-alpha.40

修复更新

  • 修正文档更新后 AI 读取错误文档内容的问题。

3.0.0-alpha.39

修复更新

  • 修复新线程和评论未正确创建于文档位置的 Bug。

3.0.0-alpha.38

修复更新

  • 修复 applyPatchinsertContent 工具流式处理时未正常工作的 Bug。

3.0.0-alpha.37

重大更新

  • applyPatch 工具采用全新格式,显著提升速度和准确性。
  • 改进所有内置工具输入输出格式及工具定义。
  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.11
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.14
    • @tiptap-pro/ai-toolkit-anthropic@3.0.0-alpha.6
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.10
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.9

3.0.0-alpha.36

重大更新

  • 使 insertContent 工具的内容格式独立,将原 "html" 属性重命名为 "content"
  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.10
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.13
    • @tiptap-pro/ai-toolkit-anthropic@3.0.0-alpha.5
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.9
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.8

修复更新

  • 修复 insertContent 工具中 activeNodeRange 位置无效问题。
  • 修复 insertContent 导致 activeNodeRange 总被重置为 0 的问题。
  • 修正 setHtmlSuggestions 边界错误及格式丢失,边界使用 content.size 替代 nodeSize - 1,应用建议时保留 HTML 格式(如加粗、斜体、链接等)。

3.0.0-alpha.35

修复更新

  • 修复 streamTextstreamHtml 方法中不必要将 ReadableStream 转为 AsyncIterable 造成性能下降的问题。

3.0.0-alpha.34

小幅更新

  • diffUtilitystartComparingDocumentssetSuggestions(compareDocuments 格式)、setHtmlSuggestions 和所有编辑方法的 reviewOptions 新增 changeMergeDistance 选项。通过指定需要合并的更改之间的最大距离(以文档位置计),可在比较文档时合并相邻更改为单个更改。
  • setHtmlSuggestions 方法新增 reviewOptions 参数。现在用户可以像其他编辑方法一样,自定义建议显示选项(如 diffPositionshowReplacement、自定义 renderDecorations)并添加自定义元数据。
  • 修正 setHtmlSuggestions 中的范围偏移计算。现在在未提供 range 参数时,建议会正确高亮精确文本,修复了位置被错误向前偏移 -1 的问题。
  • 修正 setHtmlSuggestions 的默认 diffPosition,改为使用 'after' 而不是 'before',并可通过 reviewOptions.displayOptions.diffPosition 进行配置。

3.0.0-alpha.33

小幅更新

  • 新增 getSelectedSuggestion 方法,用于获取当前选中的建议。

3.0.0-alpha.32

小幅更新

  • 新增 setActiveSelection 方法,用于设置活动选择区域,覆盖工具如 readSelection 读取的当前编辑器选择。

3.0.0-alpha.31

小幅更新

  • executeToolstreamTool 中新增 commentsOptions 属性,允许传递自定义数据给线程和评论操作。data 用于线程数据(调用 editor.commands.setThread),commentData 用于评论数据(调用 editor.commands.createCommenteditor.commands.setThread)。

3.0.0-alpha.30

修复更新

  • 修复节点属性变更未被正确检测的问题。
  • 实时比较文档时忽略 Unique ID 扩展改动。
  • 实时比较文档时忽略 Comments 扩展改动。

3.0.0-alpha.29

小幅更新

  • 新增 setHtmlSuggestions 方法,通过比较 HTML 内容与当前文档显示建议。

3.0.0-alpha.28

修复更新

  • 修复错误导入导致打包失败的问题。

3.0.0-alpha.27

修复更新

  • 修复 createThread 操作中线程偶尔创建于错误位置的 Bug。
  • 优化 createThread 失败时 AI 接收的错误信息。

3.0.0-alpha.26

重大更新

  • 新增基于 AI 的评论和线程管理工具 editThreadsgetThreads
  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.9
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.12
    • @tiptap-pro/ai-toolkit-anthropic@3.0.0-alpha.4
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.8
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.7

3.0.0-alpha.25

修复更新

  • 修复 applyPatch 流式处理导致最后操作未正确解析回退,防止文本流内容逐渐消失的问题。

3.0.0-alpha.24

重大更新

  • applyDiff 工具重命名为 applyPatch
  • applyHtmlDiff 重命名为 applyHtmlPatch
  • 改进 applyDiff(现 applyPatch)格式及定义,使 AI 生成的补丁操作列表更准确,避免无效跳转,显著降低令牌消耗。
  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.8
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.11
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.7
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.6
    • @tiptap-pro/ai-toolkit-anthropic@3.0.0-alpha.3

3.0.0-alpha.23

小幅更新

  • insertContent 工具新增 activeNodeRange 位置参数,允许 AI 在活动节点范围内插入内容。禁用 applyDiff 工具可提升编辑准确率。
  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.7
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.10
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.6
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.5
    • @tiptap-pro/ai-toolkit-anthropic@3.0.0-alpha.2

3.0.0-alpha.22

小幅更新

  • 在扩展配置中新增 addHtmlSchemaAwareness 方法,为自定义 Node 或 Mark 扩展提供 schema 识别数据。

3.0.0-alpha.21

修复更新

  • 修正流式显示详细差异导致差异持续更新,现仅在流结束时显示详细差异。
  • 修正流式内容开头插入多余段落的问题。

3.0.0-alpha.20

重大更新

  • getSchemaAwareness 改名为 getHtmlSchemaAwareness
  • 优化 schema 识别提示,令 AI 模型判断更准确。

3.0.0-alpha.19

小幅更新

  • 实验性支持 AI 工具包与 Pages 扩展集成,新增 readPage 工具。

3.0.0-alpha.18

修复更新

  • 修复 streamHtmlstreamText 方法返回的 Promise 仅在流结束时 resolve 的问题。

3.0.0-alpha.17

重大更新

  • 优化 readSelectioninsertContent 工具定义,修复因用户修改选区导致 AI 插入位置错误的 Bug。

修复更新

  • 修复 streamHtmlstreamText 不支持 ReadableStream 参数的问题。

3.0.0-alpha.16

重大更新

  • 审核选项中将 detailedDiff 重命名为 diffMode,用于控制显示原文与修改内容差异的方式。

3.0.0-alpha.15

重大更新

  • 审核选项新增 detailedDiff,控制是否以详细差异形式展示更改。原 showDiff 选项改名为 detailedDiff,语义更清晰。
  • 工具执行和流处理选项中新增 detailedDiff,默认值为 true,使更改默认以详细差异形式展示。

3.0.0-alpha.14

重大更新

  • 需升级以下提供者库至指定版本或更高:
    • @tiptap-pro/ai-toolkit-tool-definitions@3.0.0-alpha.4
    • @tiptap-pro/ai-toolkit-ai-sdk@3.0.0-alpha.7
    • @tiptap-pro/ai-toolkit-langchain@3.0.0-alpha.3
    • @tiptap-pro/ai-toolkit-openai@3.0.0-alpha.2
  • 移除 executeTool 中的 currentChunk 参数及返回字段。
  • 新增 getActiveNodeRange 方法,获取活动节点范围,替代旧的 currentChunk,提升编辑准确性。
  • 新增 setActiveNodeRange 方法,设置活动节点范围。
  • 移除 readFirstChunkreadNextChunkreadPreviousChunk 工具。
  • 新增 readNodeRange 工具,允许 AI 读取任意顶级节点范围,提高灵活性。

小幅更新

  • 新增 streamTool 方法,支持向编辑器流式输入工具调用结果。

3.0.0-alpha.13

小幅更新

  • 审核选项新增 metadata 字段,允许添加自定义元数据和属性。
  • 新增 streamTextstreamHtml 方法,支持向编辑器流式输入文本和 HTML。

修复更新

  • 修复 insertJson 不支持 ProseMirror Fragment Tiptap JSON 的问题。
  • 修复建议差异视图中显示多余元素(如多余段落)的错误。

3.0.0-alpha.12

修复更新

  • 当编辑器未安装 AiToolkit 扩展时,调用 getAiToolkit 会显示警告。
  • 修复 getJsonChunks 未正确返回 JSON 块格式的问题。
  • 改进 readFirstChunk 的响应格式。

3.0.0-alpha.11

修复更新

  • 修复 diffUtility 错误地将两个完全相同的空文档判定为不同的问题。

3.0.0-alpha.10

重大更新

  • 新增 replaceDocumentWhereChanged 方法,支持高效替换整个文档,仅替换变更部分,避免全部内容标记为替换。
  • 重写 applyHtmlDiffrejectAllChanges,内部实现基于 replaceDocumentWhereChanged

3.0.0-alpha.9

重大更新

  • 新增 rejectAllChanges 方法,用于实时文档比较时一次性拒绝所有更改。

3.0.0-alpha.8

重大更新

  • 新增 acceptChangerejectChange 方法,用于实时文档比较时接受或拒绝单个更改。
  • 移除 applySuggestionToOtherDoc 方法,因功能与 acceptChange 重复且命名易混淆。

3.0.0-alpha.7

重大更新

  • 优化分块格式,包含分块的范围信息。
  • 提升 getHtmlRangegetJsonRangegetTextRange 返回分块索引的准确度。

3.0.0-alpha.6

修复更新

  • 修复错误导入问题。

3.0.0-alpha.5

小幅更新

  • 新增 applySuggestionToOtherDoc 方法,用于实时比较文档时将建议应用于其他文档。
  • 第一次调用 startComparingDocuments 时忽略防抖超时,提升响应速度。

3.0.0-alpha.4

重大更新

  • 移除 executeTool 返回值中的 needsReview,替换为 docChanged
  • 当工具修改文档时,docChanged 设置为 true

3.0.0-alpha.3

小幅更新

  • executeTool 返回类型中新增 needsReview 字段,表明调用是否需要用户审核。
  • 新增一次应用所有建议的 applyAllSuggestions 方法。
  • 优化工具调用失败时错误提示。

3.1.0-alpha.2

修复更新

  • 修复 executeTool 参数中 input 类型,使其兼容 Vercel AI SDK。

3.1.0-alpha.1

重大更新

  • AI 工具包初始 alpha 版发布。