我写了个免费开源的 GitHub 中文浏览器,项目名/简介/README 一键翻译

114 阅读9分钟

我写了个免费开源的 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:

👉 下载最新版 GitHub.exe

如果你想从源码运行:

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.gif800×5022.5 MB动态演示(核心卖点)标题正下方 / 开头段落
discover.png1222×768332 KB发现页「1. 发现页」小节
trending.png1222×768393 KB趋势热榜「3. 趋势热榜」小节
detail.png1222×768461 KB项目详情(README 翻译)「4. 多引擎智能翻译」小节
settings.png838×768215 KB设置页(翻译引擎/主题)「5. 收藏/历史/托盘」处

上传步骤

  1. 登录掘金 → 打开文章编辑(已发布文章可点"编辑"重新进入)
  2. 光标移到目标位置 → 点击编辑器工具栏图片图标(或直接拖拽图片到编辑区)
  3. 按上表顺序逐张上传,上传后自动插入图床链接
  4. 选中图片可调整宽度,建议统一 900px 保持排版整齐

推荐顺序(从文首到文末):demo.gif → discover.png → trending.png → detail.png → settings.png

注意事项

  • 掘金单图上限 5MB,本套素材全部达标(最大 demo.gif 2.5MB),无需压缩
  • demo.gif 放文章最顶部最吸睛,让读者第一眼看到"翻译前/后"效果
  • 掘金封面图建议直接用 discover.png(信息量足、观感好)
  • 发布前逐节核对 5 张图是否齐全、顺序是否正确