我写了个免费开源的 GitHub 中文浏览器,项目名/简介/README 一键翻译
逛 GitHub 看到好项目,点进去发现 README 全是英文,浏览器翻译插件又只能整页粗暴翻译——这大概是每个中文开发者的日常痛点。既然没有趁手的工具,那就自己做一个。
为什么会有这个项目
先给新手补个背景:GitHub 是什么,开源是什么
GitHub 是全世界最大的开源代码托管平台,上面有超过 4 亿个仓库。所谓"开源",就是作者把代码免费公开,任何人都能下载、使用、学习,甚至参与改进。无论是学习编程、找工作,还是日常开发,你想要的工具和源码,几乎都能在上面找到。
但对中国开发者,尤其是刚接触开源的新手来说,它有几个实实在在的门槛:
- 发现难:GitHub Trending 榜单没有中文翻译,项目简介看不懂。更别说 4 亿个仓库里怎么挑出好项目——只能看星星数,但星星数背后"为什么火"、适合什么场景,光看英文简介根本看不出来
- 阅读难:README 里的技术说明、使用教程,逐段复制到翻译工具效率太低;浏览器翻译插件又只能整页粗暴翻译,排版乱、还要等页面重新渲染
- 连接难:GitHub 直连经常不稳定,图片加载不出来,下载 Release 压缩包更是看运气。很多人被迫去开梯子,但配置梯子本身又是一道门槛,新手很容易在这一步被劝退
所以我自己动手,用 Python + PyQt6 写了一个桌面应用——GitHub 开源项目浏览器。它的目标很简单:把"发现、阅读、下载"这三个环节的门槛,一个一个拆掉。
这个工具能做什么
1. 发现页:按星星数量排序,滚动加载,还能往指定方向搜索
按星星数量排序:启动后自动从 GitHub Search API 拉取高星项目,统一按星星数量降序展示。星星(Star)是 GitHub 上类似"收藏 + 点赞"的机制,星星越多说明认可的人越多,质量相对有保障——新手不知道从哪看起时,直接看高星榜是最稳妥的起点。
滚动加载更多:往下滚动到底部自动加载更多,每页 50 条、无数量上限,追加的数据会与已有列表排序完美衔接。
领域分类浏览:内置 AI、前端、后端、移动端、DevOps、安全等分类。想看"最近有什么好的 AI 项目",点一下 AI 分类,列表立刻切换成该领域的高星项目,不用自己拼搜索关键词。
相似词 / 方向搜索:搜索栏不只是精确匹配。输入关键词后,软件会直接调用 GitHub 搜索接口,往那个方向去找相似的项目——比如输入"数据库",返回的是数据库领域相关的项目,而不是字面上带"数据库"三个字的仓库;输入"python",会联想出 Python 生态里最值得关注的项目。搜索结果同样自动翻译成中文,并保留原有的排序逻辑。
2. 镜像加速:不用梯子,也能正常逛和下载
这是整个软件最实用的部分,也是和"浏览器直接访问 GitHub"最大的区别。
GitHub 直连慢,本质上是网络路由的问题,个人很难解决。常规做法是开梯子,但梯子要花钱、配置有门槛,而且开了梯子 GitHub 网页偶尔还是加载不全——图片、CDN 资源走了不同线路,一样会卡。
这个软件的做法是内置镜像池:
- 内置多个 GitHub 镜像源,启动时自动逐个测速,选出当前网络下最快的一个,之后所有请求都走它
- 测速结果缓存 30 分钟,到期自动重测;某个镜像挂了,下次自动换下一个,全程无需手动操作
- 下载 Release 也走镜像——很多人遇到过"网页能开、点下载就是转圈"的情况,这个软件里下载走的是同一个加速通道,不用梯子也能正常下
名词解释:所谓"镜像",就是第三方把 GitHub 的内容复制了一份放在国内可达的服务器上,相当于你在国内访问了一个"翻版 GitHub",速度自然快得多。
3. 趋势热榜:官方榜单 + 中文翻译 + 涨跌标记
直接抓取 github.com/trending 官方榜单,支持当日 / 本周 / 本月切换,展示新增星星数量和排名涨跌(🔺 上升 / 🔻 下降 / 🆕 新上榜)。
每天打开软件第一眼看到的就是"今天大家在关注什么"。榜单翻译成中文后,官方排名和涨跌前缀不会被翻译结果覆盖——你可以既看中文介绍,又不丢失原始榜单信息。
4. 多引擎智能翻译:免费、零配置、不打断阅读
先说实话:翻译本身不算什么黑科技,浏览器自带翻译插件也能做到。所以这个软件在翻译上做的事,是把体验做好:
- 免费、零配置:不需要申请任何 API Key,装上就能用。内置三个引擎,失败自动回退,全程无感知:
| 引擎 | 特点 | 需要 |
|---|---|---|
| 微软 Edge 翻译 | 免 Key、国内直连 | 无 |
| Google 翻译 | 质量稳定、免费 | 可访问外网 |
| 本地术语词典 | 1900+ 技术词条,永不失败 | 无 |
- 不打断阅读:浏览器翻译是整页替换,一点就全变了,还要等页面重新渲染;这里只翻译项目名、简介、README,切换项目或视图时自动取消在途翻译,界面不会卡住
- 保留排版:README 翻译后代码块、图片、链接都保留,图片自动嵌入,不会出现"翻译完排版全乱"的经典问题
- 越用越快:翻译结果走本地 SQLite 缓存 + 记忆库(30 天 TTL),二次打开同一项目秒开,不重复请求
5. 收藏 / 历史 / 系统托盘
- 收藏夹和浏览历史保存在本地,收藏页列表同样支持自动翻译
- 点击关闭按钮最小化到系统托盘,后台常驻,双击恢复
- 深色 / 浅色主题,中英文界面,窗口缩放自适应
- GitHub Token 使用 Windows DPAPI 加密落盘,不担心明文泄露
和同类对比
| 对比维度 | 浏览器直接访问 GitHub | 浏览器翻译插件 | 其他 GitHub 客户端 | 本软件 |
|---|---|---|---|---|
| 国内访问 | ❌ 慢 / 不稳,要梯子 | — | 一般,仍需梯子 | ✅ 内置镜像自动加速 |
| 下载 Release | ❌ 经常转圈 | — | 部分支持 | ✅ 下载也走镜像 |
| 中文界面 | ❌ | 只翻译网页 | 大多英文 | ✅ 全中文 |
| 项目发现 | 手动翻榜单 | 不涉及 | 偏开发者向 | ✅ 星星排序 + 领域分类 + 方向搜索 |
| README 翻译 | 需要装插件 | 整页粗暴翻译 | 大多不支持 | ✅ 保排版 + 术语准确 |
| 新手友好度 | 低 | 中 | 低 | ✅ 下载即用免安装 |
技术实现(写给开发者的部分)
- PyQt6 多线程架构:列表翻译、详情翻译、README 图片嵌入使用独立线程池,切换视图通过"代际号"机制优雅取消在途任务,不占用 UI 线程
- 镜像加速:内置镜像池 + 自动测速,测速结果缓存 30 分钟,下载与请求统一走最优镜像
- SQLite 存储:翻译缓存、翻译记忆库、排名历史、学习词条
- DPAPI 加密:GitHub Token、翻译 Key 使用 Windows DPAPI 加密落盘
- PyInstaller + GitHub Actions:推送 tag 自动构建 exe 并发布 Release,一键发布
- 插件系统:支持自定义插件扩展功能
快速开始
下载即用,无需安装 Python:
如果你想从源码运行:
git clone https://github.com/chenyang3333333/github-open-source-browser.git
cd github-open-source-browser
pip install -r requirements.txt
python run_app.py --run
打包成 exe:
python run_app.py --buildexe
常见问题
Q:一个镜像失效了怎么办? A:不需要管。软件内置多个镜像,30 分钟自动重测,失效的会被自动替换,也可以到设置页手动重新测速。
Q:完全不需要梯子吗? A:日常使用不需要。数据获取和 Release 下载都走镜像加速;翻译默认走微软 Edge 引擎,国内直连,Google 引擎只在 Edge 失败时作为回退。
Q:我的数据安全吗?
A:收藏、历史、缓存都保存在本地(%APPDATA%\GitHubOpenSourceBrowser\),GitHub Token 用 Windows 系统级 DPAPI 加密,不联网上传任何数据。
Q:需要填 API Key 吗? A:不需要。翻译三引擎全免费。唯一的可选项是 GitHub Token——填了可以突破搜索 API 的匿名限额,不填也能正常用。
最后
这个项目是业余时间慢慢打磨出来的,从"自己用"到"分享给大家",中间踩了不少坑:翻译线程的取消机制、PyInstaller 打包兼容性、Windows DPAPI 加密……现在它稳定在 v3.0.0,功能上已经足够日常使用。
如果你觉得有用:
- ⭐ 给仓库点个 Star:github.com/chenyang333…
- 🐛 遇到问题或有功能建议,欢迎提 Issue
- 🔌 想扩展功能,插件系统等着你
让中文开发者发现好项目,少一点障碍。
附录:发布截图上传说明
素材清单
素材目录:docs/screenshots/
| 文件 | 尺寸 | 大小 | 用途 | 文章插入位置 |
|---|---|---|---|---|
demo.gif | 800×502 | 2.5 MB | 动态演示(核心卖点) | 标题正下方 / 开头段落 |
discover.png | 1222×768 | 332 KB | 发现页 | 「1. 发现页」小节 |
trending.png | 1222×768 | 393 KB | 趋势热榜 | 「3. 趋势热榜」小节 |
detail.png | 1222×768 | 461 KB | 项目详情(README 翻译) | 「4. 多引擎智能翻译」小节 |
settings.png | 838×768 | 215 KB | 设置页(翻译引擎/主题) | 「5. 收藏/历史/托盘」处 |
上传步骤
- 登录掘金 → 打开文章编辑(已发布文章可点"编辑"重新进入)
- 光标移到目标位置 → 点击编辑器工具栏图片图标(或直接拖拽图片到编辑区)
- 按上表顺序逐张上传,上传后自动插入图床链接
- 选中图片可调整宽度,建议统一 900px 保持排版整齐
推荐顺序(从文首到文末):demo.gif → discover.png → trending.png → detail.png → settings.png
注意事项
- 掘金单图上限 5MB,本套素材全部达标(最大 demo.gif 2.5MB),无需压缩
demo.gif放文章最顶部最吸睛,让读者第一眼看到"翻译前/后"效果- 掘金封面图建议直接用
discover.png(信息量足、观感好) - 发布前逐节核对 5 张图是否齐全、顺序是否正确