ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Voyager 贡献验证指南:从 Build 到 Live 的证据分级与跨浏览器冒烟测试实战

Voyager 贡献验证指南:从 Build 到 Live 的证据分级与跨浏览器冒烟测试实战 AI 应用前端【免费下载链接】voyagerEnhancement suite for Gemini, AI Studio, Claude ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件其中的提示词管理器可用于任意网站如 DeepSeek Harness。项目地址https://gitcode.com/gh_mirrors/ge/voyager点击查看免费下载Voyager 是面向 Gemini、AI Studio、Claude 与 ChatGPT 的浏览器扩展增强套件其代码变更一旦触及扩展运行时、UI、Manifest、权限、打包、原生集成或插件就必须在真实浏览器中完成验证而不仅仅是依赖单元测试与静态检查。本文依据仓库内.agents/skills/voyager-contribute/references/browser-testing.md编写系统讲解 Voyager 贡献流程中的证据分级体系Build → Loaded → Live、按变更风险路由的验证矩阵、四款浏览器的构建产物与加载方法、基线冒烟测试清单以及插件专项检查并辅以 package.json、scripts/build-edge.js、vite.config.chrome.ts、manifest.json 与 CI 工作流中的源码级证据。读完本文你将掌握为 Voyager 贡献代码时如何产出可复现、可审计、可交接的浏览器验证证据。适用范围何时必须阅读这份参考按照 .agents/skills/voyager-contribute/SKILL.md 的流程贡献者只有在下述变更面中至少命中一类时才需要读取本参考并收集真实浏览器证据扩展运行时runtime行为UIpopup、content script、options、welcome 等页面Manifest 与权限声明打包与发布流程原生集成Swift、native messaging、Safari native 部分插件src/features/plugins/下的目录、插件系统或插件行为。纯文档、注释或仅测试代码的变更不要求浏览器验证但需要解释为什么浏览器不适用。这一筛选逻辑与 AGENTS.md 中按变更面选择检查项的验证矩阵一致docs/**/*.md只要求bun run docs:build而扩展代码要求lint:check、test、build:chrome乃至完整的verify:pr。证据分级Build、Loaded、Live 的严格定义浏览器验证的证据必须如实报告实际完成的最高层级不得夸大。三个层级从低到高为层级定义判定标准Build命令成功执行且预期产物存在bun run build:*退出码为 0对应dist_*目录产物齐全Loaded该产物在浏览器中恰好启用一次且无 manifest 或加载错误扩展管理页显示 Voyager 已启用无红色错误条Live重载扩展与目标标签页后被改动的流程可用且既有状态保持完好功能真实跑通、页面刷新后 UI/监听器/样式/通知不重复、设置与存储数据未丢失关键约束一次构建、单元测试或代码审查不能作为Loaded或Live的证据。verify:pr只覆盖本地自动化与生产浏览器构建它无法证明扩展真的被加载或行为真的可用——这一点在.agents/skills/verify-in-browser/SKILL.md中有更直白的表述单元测试夹具无法证明当前宿主 DOM 与我们的假设一致。因此对于Loaded与Live证据必须记录浏览器名称与精确版本号测试场景哪个站点、哪条用户路径结果通过/失败及现象脱敏后的证据截图或录屏不得包含账号数据、对话内容、令牌、签名身份或原生 handoff URL。按风险路由变更类型与所需证据矩阵不同变更的风险等级不同所需的验证深度也不同。原参考文档给出了权威路由表贡献者在评审完成前必须补齐对应证据变更类型评审完成前所需的证据文档、注释或仅测试改动相关自动化检查通过说明为何不适用浏览器验证纯逻辑、不涉及浏览器 API 或可见行为变化bun run verify:pr补充针对性测试Popup、content script、background、共享 CSS、storage 或插件运行时verify:pr然后在 Chrome 与 Firefox 上完成Loaded与Live涉及 Chromium 特有、manifest、权限或打包行为时加验 Edge涉及 Safari 行为时加验 Safari浏览器特有代码、权限、native messaging、Swift、签名、打包或发布工作在每一个受影响浏览器上完成Loaded与Live其余浏览器完成构建并执行功能专项回归检查尽量使用 Safari 或 release 相关技能随附的官方或内置插件bundled official/builtin plugin在 Chrome、Edge、Firefox、Safari 四款浏览器上完成Live验证除非 manifest 明确声明支持的浏览器更少外加下方插件检查清单该路由与仓库 CI 的多浏览器矩阵相呼应.github/workflows/ci.yml 中的构建矩阵覆盖chrome, edge, firefox, safari四款浏览器但 CI 只证明能构建Loaded与Live仍须由贡献者在本地真实浏览器中完成。当本地缺少硬件或访问权限时可以由另一位贡献者补测但必须记录Needs browser test; owner: name例如Needs Safari test; owner: alice。草稿 PR 可以保持打开但在补上所需证据之前它不具备评审就绪review-ready状态。构建产物与加载目标四浏览器命令对照参考文档给出了每款浏览器的构建命令与加载目标逐条对应仓库真实脚本见 package.json 的scripts字段浏览器命令加载目标备注Chromebun run dev:chrome或bun run build:chrome日常开发加载dist_chrome_dev生产验证加载dist_chromedev:chrome即nodemon --config nodemon.chrome.json监听src、public、manifest.json等并自动增量构建开发构建输出目录由 vite.config.chrome.ts 决定Edgebun run build:edgedist_edge由 scripts/build-edge.js 驱动Firefoxbun run build:firefox通过about:debugging临时加载dist_firefox/manifest.json输出目录见 vite.config.firefox.tsSafaribun run build:safaridist_safari随后按.agents/skills/update-safari-extension/SKILL.md执行构建后还会运行node scripts/verify-safari-resources.mjs校验 Safari 资源源码级补充构建命令背后的真实行为build:all与verify:pr默认排除 Edge。原因是 scripts/build-edge.js 的打包环节调用外部zip可执行文件而 Windows 默认没有zip因此本地bun run build:allbuild:chrome build:firefox build:safari和verify:pr都不包含 Edge 打包Edge 的打包由 CI 的Build (edge)任务兜底覆盖。若本地需要完整覆盖四浏览器使用bun run build:browsers即build:all build:edge。Edge 构建复用 Chrome 构建产物build:edge内部先以VOYAGER_BUILD_TARGETedge环境变量执行bun run build:chrome再解析dist_edge/manifest.json删除 Edge 不接受的key字段EDGE_INCOMPATIBLE_FIELDS [key]最后以voyager-edge-v版本号.zip为名将dist_edge内容打包。开发构建的特殊输出目录vite.config.chrome.ts 中输出目录根据构建模式切换——开发模式输出dist_chrome_dev生产模式输出dist_chromeEdge 目标则输出dist_edge。这意味着改了代码但加载的还是旧目录是常见陷阱加载前务必核对扩展页指向的目录。Manifest 基线manifest.json 中基础权限为storage、identity、scripting、alarms、activeTab可选权限含notifications可选主机权限含https://chatgpt.com/*与all_urls。任何把可选权限改为必填权限、或为站点直接声明all_urls的做法都属于需要事先获得 Issue 批准的权限升级。基线冒烟测试每款必需浏览器的固定检查清单对每一款必需浏览器基线冒烟测试必须逐项执行不得跳过仅加载一个已启用的 Voyager 产物且无 manifest 或启动错误打开 popup并在所有受影响站点上跑一遍被改动的流程检查 popup、background/service-worker 与页面控制台是否出现新错误重载扩展与目标页面确认 UI、监听器、样式与通知没有重复重复通常意味着 teardown 缺失确认既有设置与已存储数据保持完好视觉改动检查亮色/暗色主题、对齐、间距、窄/宽布局视适用性而定涉及账号敏感功能时保留/u/index/...的账号作用域执行 .github/docs/REGRESSION_NOTES.md 中匹配该变更的回归检查。为什么重载这一步是技术重点重载扩展 刷新目标标签页与单纯的刷新标签页有本质区别。.agents/skills/verify-in-browser/SKILL.md明确指出仅重载扩展并不会替换已在打开标签页中运行的内容脚本——已注入的 content script 属于旧构建必须在刷新标签页后才会运行新代码。因此任何验证流程都应以确认标签页中出现了本次构建特有的标记或行为变化为证据前提而不能默认重载即生效。此外仓库用真实案例说明静态推理在 Gemini 这类高度动态的 DOM 面前并不可靠详见 .github/docs/regressions/folders-timeline-ui.md用户 turn 的textContent并不等于消息本身气泡还携带读屏器的You said前缀与复制/编辑/展开控件Material Symbols 图标字体的字形本身就是元素文本长 turn 是折叠而非截断全部内容都在 DOM 中只是被 CSS 高度钳制与展开箭头遮挡斜杠 token 之后输入的文字落在提示语自身最后一行中间没有换行任何假设模板与人话之间有行边界的逻辑都不会触发。这三条都曾导致先写错修复、再实测纠正的返工是基线冒烟测试必须覆盖真实页面的直接论据。插件检查src/features/plugins/catalog/与内置插件的专项清单当变更涉及src/features/plugins/catalog/、catalog 映射或 builtin/native 插件时除基线冒烟测试外还必须逐项执行确认插件从预期的捆绑来源恰好出现一次除非有已批准的迁移说明否则默认启用状态与最近的兄弟插件保持一致执行启用 → 禁用 → 再启用 → 重载的完整循环验证状态持久化、teardown 完整且无重复隐藏 UI 不等于禁用功能是仓库内反复强调的硬规则测试每一个声明的目标站点并确认无关站点不受影响内置 JS 插件的启动与停止两条路径都要测试自定义站点访问保持为显式可选授权直接声明all_urls权限必须先获得用户批准——这与 AGENTS.md 中未经明确用户批准绝不授予页面或功能直接all_urls权限的保护性规定一致可见行为附上脱敏截图或录屏绝不暴露账号数据、对话、令牌、签名身份或原生 handoff URL。插件生态相关背景可继续阅读 src/features/plugins/README.md 与.agents/skills/create-voyager-plugin/SKILL.md。需要特别警惕的是为新增站点支持而向manifest*.json追加静态content_scripts或必填host_permissions属于硬性阻止项manifest 权限升级未经 Issue 批准即为一票否决正确路径是通过插件系统走 bundled catalog 或 builtin 插件注册。证据记录与交接让验证结果可审计、可复核只报告实际完成的最高层级做了构建就说Build加载成功才说Loaded跑通流程才说Live绝不混淆。明确职责边界未完成的必需项必须写明浏览器名与负责人Needs browser test; owner: name草稿 PR 可保持打开但不得宣称评审就绪。与回归笔记联动可复现且非显而易见的 bug 应作为 Trap/Rule/Guard 条目记入 .github/docs/REGRESSION_NOTES.md 对应的主题文件如regressions/browser-release.md覆盖浏览器支持、权限与原生行为并运行bun run regressions:checknode scripts/validate-regression-notes.mjs校验格式。诚实声明推断在浏览器里验证了什么、只推断了什么必须在交接信息中如实说明若扩展未能成功重载则该检查等于没有发生必须明说。整个验证链条的最终目标是让任何一位评审者都能依据证据记录复现构建、加载与运行流程从而在无需重复全部手工操作的前提下确认这次变更是构建通过、成功加载还是真实可用。赞分享AI 应用前端【免费下载链接】voyagerEnhancement suite for Gemini, AI Studio, Claude ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件其中的提示词管理器可用于任意网站如 DeepSeek Harness。项目地址https://gitcode.com/gh_mirrors/ge/voyager点击查看免费下载相关推荐BoxMOT 贡献者测试指南从 uv run pytest 到 CI 冒烟测试的完整验证流程BoxMOT 贡献者测试指南从 uv run pytest 到 CI 冒烟测试的完整验证流程 本文是 BoxMOT 仓库 docs/contributing人工智能计算机视觉深度学习PraisonAI Live 冒烟测试实战验证 AI 代码编辑器的 CLI-First 端到端测试体系PraisonAI Live 冒烟测试实战验证 AI 代码编辑器的 CLI First 端到端测试体系 本文以 PraisonAI 仓库中的 Live AI人工智能AI AgentAgent 框架多智能体工作流自动化RAGMCP 服务Mastra 实验 Worker 冒烟测试指南mastra experiment build 与 protocol-v1 NDJSON 协议验证Mastra 实验 Worker 冒烟测试指南 mastra experiment build 与 protocol v1 NDJSON 协议验证 导读 本文人工智能Agent 框架AI AgentRAG后端上一篇ObjectDetection-OneStageDet实战指南从数据准备到模型训练完整流程下一篇TaskoMask安全机制JWT认证与基于角色的访问控制(RBAC)实现创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表