gh,再输入一个查询词,就会跳到 GitHub 搜索结果页。一路上你会接好一份 manifest.json,并在后台 service worker 中处理输入。你还会练习每个项目都会遵循的开发循环(create → dev → build)。
你将构建什么
| 能力 | 你会得到什么 |
|---|---|
| Omnibox 关键字流程 | 在浏览器地址栏中输入 gh 就能触发扩展行为 |
| 后台事件处理 | 通过 service worker 处理用户输入 |
| 本地开发循环 | 快速运行、加载并验证扩展行为 |
| 渐进增强 | 基础流程跑通后,再加入实时 GitHub 建议 |
计划
让 GitHub 搜索像浏览器原生快捷方式一样快。扩展会保留关键字gh;当你输入 gh 加一段查询后,它会打开 GitHub 搜索结果页。
第 1 步:创建扩展
使用 Extension.js 的create 命令脚手架生成一个名为 github-search 的最小扩展。
第 2 步:创建 manifest 文件
gh 快捷方式,并为用户事件添加一个 service worker。
omnibox.keyword:当你输入gh时,浏览器会触发一个事件。background.service_worker:监听你触发的事件。
第 3 步:创建后台 service worker
在浏览器扩展中,后台 service worker(一个独立于任何可见页面运行的脚本)负责处理浏览器事件。 在这个示例中,添加一个脚本,监听 Omnibox 输入,并把查询路由到 GitHub 搜索。 创建service_worker.js:
第 4 步:加载扩展
你的package.json 文件现在看起来是这样的:
github-search 作为未打包扩展加载,并在终端中打印一条就绪横幅。Chrome 地址栏现在会把 gh 识别为关键字。
输入 gh 后空一格,再输入 extension.js,按下回车。新标签页将打开 https://github.com/search?q=extension.js&type=issues。
第 5 步:让它更好用
通过为 Omnibox 添加输入监听器,让搜索体验更上一层楼——直接在地址栏中显示建议。 更新service_worker.js,在用户输入时拉取 GitHub 建议并展示:
service_worker.js
下一步
- 使用 模板 创建另一个扩展。
- 用 Playwright 端到端测试 添加自动化检查。
- 随着扩展的成长,回顾 故障排查、安全清单 与 性能手册。

