SuperAPI AI 工具集

extension-migration

编程与开发

查看项目

更新于 10-16 08:19

技能介绍

用途

Extension Migration 用于把 Chrome 扩展从 Manifest V2(MV2)迁移到 Manifest V3(MV3)。它面向需要升级旧扩展、适配 MV3 新规范并重新提交 Chrome 应用商店的开发者,围绕迁移过程中涉及的破坏性变更提供系统化的操作指引。

主要能力

该技能覆盖 MV2 到 MV3 迁移的核心内容,包括:

  • 迁移工作流:从审计现有 MV2 扩展(API、权限、后台脚本)开始,到更新 manifest_version、转换后台页、替换废弃 API、更新权限与 CSP、迁移网络请求、本地化远程代码、跨 Chrome 版本测试,直至提交 Chrome 应用商店。
  • 关键破坏性变更对照:以表格形式列出后台、浏览器操作、网络拦截、脚本注入、远程代码、CSP、Web 可访问资源、主机权限、URL 辅助方法、持久化存储等领域的 MV2 与 MV3 差异。
  • 迁移优先级清单:以勾选列表形式给出逐项检查点,例如 manifest_version 设为 3、后台转为 Service Worker、localStorage/sessionStorage 改为 chrome.storage.*、XMLHttpRequest 改为 fetch、setInterval/setTimeout 改为 chrome.alarms、browser_action/page_action 改为 action、tabs.executeScript 改为 scripting.executeScript、chrome.extension.getURL 改为 chrome.runtime.getURL、权限中的主机条目移入 host_permissions、web_accessible_resources 改为对象格式、content_security_policy 改为对象格式、移除远程代码、webRequest 阻塞改为 declarativeNetRequest。
  • API 映射速查:提供 MV2 到 MV3 的 API 替换对照,例如 chrome.extension.getURL() → chrome.runtime.getURL()、chrome.tabs.executeScript() → chrome.scripting.executeScript()、chrome.tabs.insertCSS() → chrome.scripting.insertCSS()、chrome.browserAction.* → chrome.action.、chrome.pageAction. → chrome.action.*、webRequest(阻塞)→ declarativeNetRequest、localStorage → chrome.storage.local、XMLHttpRequest → fetch()、setInterval(后台)→ chrome.alarms。同时说明 document/window 在 Service Worker 中不可用,chrome.extension.getBackgroundPage() 已废弃,应改用消息传递。
  • Manifest 差异示例:给出 MV2 与 MV3 的 manifest 配置对比,展示 background、action、permissions、host_permissions、content_security_policy、web_accessible_resources 等字段的写法变化。
  • 参考文件:包含 Breaking Changes(含前后代码对比)、Service Worker Migration(后台转 SW 指南)、Network Request Migration(webRequest 转 declarativeNetRequest)、Migration Checklist(含测试的分步清单)。
  • 相关技能:extension-manifest(MV3 manifest 生成)、extension-testing(迁移后测试)、extension-security(迁移后安全审计)。

使用方式

资料中提供了官方迁移指南链接:https://developer.chrome.com/docs/extensions/develop/migrate。技能建议在迁移 MV2→MV3 时考虑采用 WXT 或 CRXJS 框架,以获得内置 MV3 支持、自动 manifest 生成和现代工具链。资料还提到可通过 https://app.extensionbooster.net/dashboard/services/extension-ai-kit 获取 Premium 版本。具体安装命令与调用方式暂未提供。

适用场景

适用于需要将旧版 Chrome 扩展升级到 MV3 的开发者,尤其是涉及后台页转 Service Worker、网络请求拦截迁移、权限与 CSP 结构调整、远程代码本地化等复杂改动的项目。也可用于迁移前的兼容性排查和迁移后的功能验证。

限制

资料未说明该技能支持的具体 Chrome 版本范围、是否支持其他浏览器、迁移的自动化程度以及收费细节。部分内容(如 Premium 版本的具体功能)仅给出链接,未展开说明。