你是否厌倦了在浏览器中频繁地在键盘和鼠标之间切换?是否想要像使用 Vim 一样流畅地操作浏览器?今天给大家介绍一个基于 Firefox 的开源浏览器 —— Glide Browser,它让你用 TypeScript 配置浏览器行为,彻底解放鼠标。
源码下载:
glide-main.zip
(9.1 MB, 下载次数: 1)
💡 项目亮点
Glide Browser 是一个可扩展的、键盘优先的 Web 浏览器,基于 Firefox 内核构建。它最大的特色是支持使用 TypeScript 编写配置文件,让开发者可以像写代码一样定制浏览器。
核心特性
1. 键盘导航优先
完全摆脱鼠标依赖,所有操作都可以通过键盘完成。类似 Vim 的操作体验,j/k
上下滚动,gg/G
跳转页面顶部/底部。
2. 模态化键位映射
借鉴 Vim 的设计理念,支持 Normal 模式和 Insert 模式。在 Normal 模式下快速导航,在 Insert 模式下正常输入。
3. TypeScript 配置
这是最吸引前端工程师的特性!配置文件使用 TypeScript 编写,享受完整的类型提示和代码补全。
import type { GlideConfig } from 'glide-browser/glide'
export default {
keymaps: {
normal: {
'j': 'scrollDown',
'k': 'scrollUp',
'<space><space>': 'fuzzyTabManager'
}
}
} satisfies GlideConfig
4. 站点特定配置
为不同网站定义专属键位和行为:
sites: {
'github.com': {
keymaps: {
'gp': () => {
// 快速跳转到 Pull Requests
window.location.href = `/pulls`
}
}
}
}
5. 模糊标签页管理器
按 <space><space>
唤起模糊搜索界面,快速切换标签页。对于经常打开几十个标签页的开发者来说,这是神器级功能。
🏗️ 技术架构
技术栈组成
- 主要语言: TypeScript (82.8%)
- 基础内核: Firefox
- 扩展支持: Web Extensions API
- 许可证: Mozilla Public License 2.0
设计模式
Glide 采用了几个经典的设计模式:
命令模式(Command Pattern)
每个键位映射对应一个命令,支持自定义命令和内置命令的组合使用。
策略模式(Strategy Pattern)
不同网站可以有不同的导航策略,通过站点配置灵活切换。
观察者模式(Observer Pattern)
监听浏览器事件(URL 变化、标签页切换等),触发相应的配置加载。
🎨 实际应用场景
场景一:GitHub 代码审查
sites: {
'github.com': {
keymaps: {
'gp': 'gotoPullRequests',
'gi': 'gotoIssues',
'gc': 'gotoCode',
'<leader>v': () => {
// 在 VS Code Web 中打开
const url = location.href.replace('github.com', 'github.dev')
window.open(url)
}
}
}
}
场景二:视频网站控制
sites: {
'youtube.com': {
keymaps: {
'p': () => document.querySelector('video')?.click(),
'f': () => document.querySelector('.ytp-fullscreen-button')?.click(),
'm': () => document.querySelector('.ytp-mute-button')?.click()
}
}
}
场景三:开发工具集成
commands: {
'openDevTools': async () => {
const url = glide.ctx.url
// 打开 PageSpeed Insights
await browser.tabs.create({
url: `https://pagespeed.web.dev/report?url=${url}`
})
}
}
🚀 快速上手
安装
从 GitHub Releases 下载对应平台的安装包:
- macOS:
.dmg
文件
- Linux:
.tar.zst
源码包
配置文件位置
配置文件位于用户目录下的 .glide/config.ts
,首次启动会自动创建示例配置。
学习曲线
如果你熟悉 Vim 或 TypeScript,上手会非常快。即使是新手,官方文档也提供了详细的键位映射表和配置示例。
💭 我的使用体验
作为一名前端工程师,我最喜欢的是 TypeScript 配置 这个特性。传统浏览器的配置要么是 JSON(缺乏灵活性),要么是 Lua(学习成本高),而 Glide 直接使用 TypeScript,对前端开发者极其友好。
优点:
- 类型安全,配置错误在编写时就能发现
- 代码复用,可以抽取公共配置函数
- 生态丰富,可以直接使用 npm 包
- 调试方便,支持 console.log 和断点
不足:
- 目前还是 Alpha 版本,可能存在稳定性问题
- 社区规模较小,插件生态还在建设中
- 基于 Firefox,对 Chrome 扩展的兼容性有限
🎯 适合人群
✅ 强烈推荐:
- Vim 用户
- 键盘流爱好者
- 前端/全栈工程师
- 喜欢折腾的 Geek
⚠️ 不太适合:
- 习惯鼠标操作的普通用户
- 需要大量 Chrome 专属扩展的用户
📊 项目数据
- GitHub Stars: 642
- 最新版本: 0.1.51a
- 主要语言: TypeScript
- 活跃度: 持续更新中
- 贡献者: 3 位核心开发者
🔚 结语
Glide Browser 代表了浏览器发展的一个有趣方向:Configuration as Code(配置即代码)。它将浏览器的可定制性提升到了新的高度,让开发者可以用熟悉的编程语言打造专属的浏览体验。
虽然目前还处于早期阶段,但项目的设计理念和技术实现都值得关注。如果你也是键盘流的拥趸,不妨试试这款浏览器,说不定会打开新世界的大门。
关注《云栈大前端》,获取更多前端、移动、全栈领域的开源项目盘点!
📎 项目资源
标签: #GlideBrowser #GitHub #TypeScript #开源浏览器 #键盘导航 #Firefox #前端工具 #开发者工具