SuperAPI AI 工具集

writing-assistance-apis

编程与开发

查看项目

更新于 10-15 12:11

技能介绍

用途

该技能面向在 JavaScript 或 TypeScript 浏览器 Web 应用中实现和调试浏览器内置 Writing Assistance APIs 的场景,具体包括 Summarizer(摘要)、Writer(写作)和 Rewriter(改写)三类接口。它适用于为网页应用添加文章、文档或对话摘要,根据简短提示生成新文本,以及在不改变原意的前提下改写现有文本等功能。

主要能力

技能提供了一套结构化的操作流程,覆盖从识别集成入口到验证行为的完整过程:

  • 定位浏览器集成面:检查工作区中的浏览器入口点、UI 处理器以及已有的 AI 抽象层,可通过脚本 node scripts/find-writing-assistance-targets.mjs . 清点可能的前端文件与现有 API 使用情况。
  • 确认 API 可行性并选择合适接口:根据任务选择最窄的接口——Summarizer 用于摘要,Writer 用于生成新文本,Rewriter 用于改写现有文本。
  • 实现带守卫的会话封装:参考 assets/writing-assistance-session.template.ts,将会话创建置于 API 的 availability() 方法之后,使用 monitor 选项监控下载进度,使用 AbortController 支持取消,并在不再需要时调用 destroy()。
  • 接入 UX 与降级行为:为缺失 API、设备不可用、模型可下载或下载中、会话就绪、生成进行中、已中止等状态提供区分,并保留非 AI 降级方案。
  • 验证行为:确认功能检测、安全上下文检查与 availability() 行为,测试批量调用与流式调用,验证取消与销毁逻辑。

使用方式

技能以分步流程组织,每一步都包含具体操作与判断条件:

  1. 识别浏览器集成面:检查工作区,运行清点脚本,若存在多个前端应用则优先选择包含活动路由或用户请求功能的应用;若仍无法确定则停止并询问;若项目不是浏览器 Web 应用则停止并说明该技能不适用。
  2. 确认 API 可行性并选择接口:阅读 references/writing-assistance-reference.md,在需要会话形态时阅读 references/examples.md,在涉及预览标志、浏览器通道、硬件要求或 iframe 约束时阅读 references/compatibility.md,在可用性检查、创建、流式传输或会话清理失败时阅读 references/troubleshooting.md。验证功能运行在安全 Window 上下文中,且相关 permissions-policy 允许当前帧访问。
  3. 实现带守卫的会话封装:将模板适配到工作区的框架、状态模型与文件布局;在用户激活后才创建可能触发下载的会话;会话选项在创建后固定,需通过重建会话而非修改选项来变更。
  4. 接入 UX 与降级行为:在摘要或改写来自渲染页面内容时,先剥离或规范化 HTML;需要完整结果时使用批量方法,需要增量展示时使用流式方法;sharedContext 仅用于会话级持久指导,每次调用的上下文仅用于请求特定背景;语言选项需显式指定。
  5. 验证行为:重新运行清点脚本确认集成面,验证功能检测与安全上下文检查,测试批量与流式调用,确认取消能干净停止生成且已销毁的会话不被复用,运行构建、类型检查或测试。

适用场景

  • 为网页应用添加文章、文档或对话摘要功能。
  • 根据简短提示或写作任务生成新文本。
  • 在不改变原意的前提下改写现有文本。
  • 需要在浏览器端实现上述能力,并关注可用性检查、下载监控、流式输出、取消与清理等细节。

限制

  • 该技能仅适用于浏览器 Web 应用;若项目不是浏览器 Web 应用,或功能必须运行在 worker、服务器或远程模型提供方,则平台不匹配,技能不适用。
  • 这些 API 是仅限 window 的浏览器 API。
  • 会话创建可能触发模型下载,需在用户激活后进行;availability() 是能力检查,不保证创建一定成功。
  • 跨源 iframe 中需要为每个 API 显式委托权限。
  • 不应将通用聊天机器人、工具调用或开放式助手任务路由到这些 API,此类任务应改用 Prompt API 或其他经批准的能力。
  • 目标环境可能依赖预览浏览器标志或特定通道行为,需参考兼容性文档确认。
  • 关于具体收费、价格、平台支持范围等事实,资料中暂未提供。