恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

如何运行 Caveman 浏览器扩展的测试矩阵并构建商店上传包?

  • 首页
  • 资讯中心
  • /
  • 如何运行 Caveman 浏览器扩展的测试矩阵并构建商店上传包?

相关资讯

使用 MLflow 自动记录 PyTorch Lightning MNIST 训练:从 `mlflow run` 到 `autolog` 全流程实战 2026/9/12 2:33:59
约翰·博格尔指数投资模型解析与实战应用 2026/9/12 2:33:59
Repomix MCP 服务器完全指南:让 AI 助手直接打包、搜索与读取你的代码库 2026/9/12 2:33:59

最新资讯

分类垃圾桶结构设计指南:从投放口到仓体配比的工程实践
Fay 数字人框架:从克隆到跑通只需 3 步,把大模型接进数字人
TinyVit学习笔记
AI建站后如何实现业务增长:从上线到获客的实战框架
Android MediaPlayer深度解析:播放链路、状态机与底层原理
毕业论文AI工具实测:10款软件搭配方案与避坑指南

今日推荐

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现
【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)
【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

本周热门

超人会飞不算本事:系统稳定依赖清晰规则与边界设计
超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论
基于CNN的调制信号识别:MATLAB实现时频图分类实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

如何运行 Caveman 浏览器扩展的测试矩阵并构建商店上传包?

发布时间:2026/9/12 2:38:59
如何运行 Caveman 浏览器扩展的测试矩阵并构建商店上传包? 如何运行 Caveman 浏览器扩展的测试矩阵并构建商店上传包【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/cavemanCaveman 仓库里的浏览器扩展extension/扩展名 Caveman Mode — ChatGPT, Claude Gemini是一个 MV3 扩展在 ChatGPT、Claude、Gemini 网页上给你的出站消息前加上 caveman 指令让回复更紧凑它不发任何网络请求全部在浏览器本地运行。如果你要在本地改动扩展代码或准备商店上传物需要跑通它的测试矩阵纯 Node 单测 Playwright 浏览器旅程再用打包脚本生成 Chrome 和 Firefox 两个版本的商店 zip。下面按仓库文档给出的命令把这条路径完整走一遍。测试矩阵由哪几层组成扩展的测试矩阵定义在 package.json 的 scripts 里分四层后一层依赖前面的环境准备脚本命令覆盖范围testnode --test --test-force-exit test/*.test.mjs纯 directive 与 service-worker 测试directive.test.mjs、background.test.mjstest:browserplaywright test真实 Chromium 里的 content-script 与 popup 旅程发送拦截、popup 存储、per-site 开关、review 链接行为全部针对 harness.html 跑test:firefoxnode scripts/firefox-e2e.mjsFirefox 端到端内部会调用node scripts/build-extension-zip.mjs firefox打包后加载验证packagenpm run test:all node scripts/build-extension-zip.mjs node scripts/build-extension-zip.mjs firefox先跑齐testtest:browser即test:all再生成 Chrome 与 Firefox 两个商店 zipPlaywright 行为由 playwright.config.mjs 固定测试目录./test、只匹配*.spec.mjs即 content-script.spec.mjs 与 popup.spec.mjs、单 worker、headless、单测超时 10 秒。准备条件在仓库根目录执行依赖安装都在extension/目录内进行npm --prefix extension ci # 安装固定的 Playwright 工具链playwright/test 1.55.0 npm --prefix extension run setup:browser # 首次运行下载固定版本 Chromium第二条命令会下载浏览器二进制到系统缓存目录是test:browser和package的前置步骤只需执行一次。npm ci会重写extension/node_modules。逐层执行测试先跑纯单测不依赖浏览器npm --prefix extension test通过条件是 node test runner 输出全部用例通过失败时 directive.js / background.js 对应的断言会直接报出用例名。再跑 Chromium 旅程npm --prefix extension run test:browser这一层用真实浏览器打开 harness.html模拟在受支持站点上点击发送、切换 popup 开关等完整流程。文档说明扩展测试覆盖受支持站点且失败时不会真正提交内容所以本地跑不需要登录任何 AI 站点。两个旅程文件是 content-script.spec.mjscontent script 注入与发送拦截和 popup.spec.mjspopup 存储与控件。也可以用一条命令把前两层都跑掉npm --prefix extension run test:all构建商店上传包商店 zip 由scripts/build-extension-zip.mjs生成目标参数决定产物ver取自 package.json 的version字段当前为 1.2.0# Chrome 包默认目标 node extension/scripts/build-extension-zip.mjs # - dist/caveman-browser-ver.zip # Firefox 包 node extension/scripts/build-extension-zip.mjs firefox # - dist/caveman-browser-firefox-ver.zip一次跑完测试并产出两个商店包的完整入口是npm --prefix extension run package需要注意build-extension-zip.mjs同时被 package.json 和 scripts/firefox-e2e.mjs 引用但在当前仓库的extension/scripts/目录中只有firefox-e2e.mjs、render-store-assets.mjs、verify-extension-stage.mjs三个文件该 zip 构建脚本未包含在本仓库中npm run package会在 zip 构建这一步失败。测试矩阵部分npm run test:all可以独立执行不受此影响。打包时验证了什么zip 构建不是简单压缩目录。打包过程会把共享运行时文件icons/、src/、popup.*等平铺暂存到 stage 目录再用显式允许清单校验校验逻辑在 verify-extension-stage.mjs 中允许清单里的每个可发布文件必须齐全LICENSE、PRIVACY.md、manifest.json、popup.{html,js,css}、src/background.js、src/caveman.js、src/directive.js、src/indicator.css、字体与图标等共 16 项stage 目录中出现符号链接或清单之外的文件直接报错exact模式下文件集合必须与清单完全一致manifest_version必须为 3manifest、popup.html、popup.css里的每个本地引用href/src/url()都必须落在允许清单内且文件真实存在content script 注入的 CSS如src/indicator.css中的相对url()会被直接拒绝——因为注入样式表的相对路径相对的是宿主页面而非扩展永远加载不到扩展内资源Firefox 目标额外校验background.scripts形式的后台脚本引用Firefox MV3 不跑service_worker。该脚本也可以单独对任意目录做校验例如node extension/scripts/verify-extension-stage.mjs dist/stage成功时按源码输出形如verified 16 extension files for 1.2.0以实际manifest.version与清单为准。Firefox 上传包的特殊约束Firefox 模板 firefox/manifest.json 有意不写version字段版本由build-extension-zip.mjs firefox在打包时从共享源package.json与 Chrome manifest 版本一致性会被校验注入保证两个 manifest 不会漂移。因此不要直接加载extension/firefox/manifest.json——Firefox 会拒绝没有version字段的 manifest这是设计使然本地临时加载走 stage 产物node extension/scripts/build-extension-zip.mjs firefox生成dist/stage/版本已注入、通过 AMO lint与dist/caveman-browser-firefox-ver.zip然后在about:debugging#/runtime/this-firefox里选extension/dist/stage/manifest.json或直接安装 dist 下的 zip其他 Firefox 侧约束strict_min_version为 140.0AMO 披露字段要求的桌面最低版图标省略非标准的 32pxbrowser_specific_settings.gecko.id为 UUID 形式的 AMO add-on id发布后不可更改。改完代码后的完整核对路径一条可执行的核对链npm --prefix extension ci npm --prefix extension run setup:browser # 首次 npm --prefix extension run test:all # 纯单测 Chromium 旅程 node extension/scripts/build-extension-zip.mjs # Chrome 包脚本存在时 node extension/scripts/build-extension-zip.mjs firefox # Firefox 包脚本存在时 node extension/scripts/verify-extension-stage.mjs dist/stage # 单独复核 stage测试全绿 两个 zip 产物落到extension/dist/ stage 校验通过即为可上传状态上传 Chrome Web Store / addons.mozilla.org 本身属于仓库外的商店后台操作文档到此为止。如果受支持站点改版导致test:browser失败需要更新的位置是 caveman.js 中的SITES映射各站点 composer 与发送按钮选择器带 aria-label 回退改完重跑test:browser验证。【免费下载链接】caveman why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman项目地址: https://gitcode.com/GitHub_Trending/caveman1/caveman创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号