- 技术博客
- 文档
- 知识库
【免费下载链接】HelloGitHub
:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.
HelloGitHub 以"兴趣是最好的老师"为理念,每月 28 号发布一期月刊,精选 GitHub 上有趣、入门级的开源项目。本文以英文版第 118 期(content/en/HelloGitHub118.md)为骨架,完整梳理本期 41 个项目的技术亮点与适用场景,深度解析其中 3 个附带的可运行代码示例,并结合本仓库的采集与生成脚本,还原"从 GitHub 星标到成刊发布"的完整生产链路。读完本文,你将一次性掌握本期全部精选项目,并理解 HelloGitHub 月刊的自动化制作机制。
一、本期概览:一份覆盖 12 大分类的开源月度清单
《HelloGitHub》月刊定位是面向新手程序员、编程爱好者与开源社区爱好者的入门级项目推荐刊物,内容每期以"有趣、入门级"为筛选标准。第 118 期共收录41 个项目,按语言与领域划分为C、C#、C++、Go、Java、JavaScript、Kotlin、Python、Rust、Swift、AI、Other 共 12 个分类,覆盖从命令行工具、桌面应用到 AI 模型优化、推荐系统算法等多个方向。
本期清单的完整原始文本维护在 content/en/HelloGitHub118.md,中文版同期内容位于 content/HelloGitHub118.md,项目总览与历史期刊索引可参见 README.md 与 README_en.md。
二、逐类精读:本期 41 个项目全景
以下按原文分类逐一列出全部项目及其核心定位,帮助你快速建立本期内容的整体认知。
C
| 项目 | 核心定位 |
|---|---|
| clifm | 纯命令行文件管理器,C 语言编写。比 Shell 操作更高效、比 TUI 工具更轻量,无复杂菜单与图形界面,通过输入简单命令即可快速完成文件操作,支持条目数字索引、自动补全、语法高亮与文件预览。 |
C#
| 项目 | 核心定位 |
|---|---|
| LLPlayer | 基于 C# 的 Windows 视频播放器,可实时生成双语字幕。对无字幕视频,利用 Whisper 语音识别模型实时转写,再经具备上下文感知能力的大语言模型提供更精准的翻译,支持接入 Google、DeepL、OpenAI 及本地 LLM 服务。 |
| opentrace | 基于 NextTrace 开发的跨平台可视化路由追踪工具,直观展示数据包从本机到目标服务器的传输路径,显示每一跳的 IP 地址、延迟与地理位置信息,支持实时 MTR 诊断与自定义 DNS 解析。 |
| tixl | 免费开源的实时动态图形创作工具,可用于制作随音乐变化的视觉背景与特效。内置基于节点的程序化内容生成(PCG)与关键帧动画编辑功能,支持 MIDI、OSC、Spout 等多源输入,适合 VJ 现场演出、交互艺术创作与动态图形设计等场景。 |
C++
| 项目 | 核心定位 |
|---|---|
| GeminiWatermarkTool | 用于去除 Gemini Nano Banana 与 Pro 生成图片右下角可见水印的工具(不支持 SynthID 不可见水印)。跨平台、无需联网、开箱即用,具备自动检测图像尺寸与批量处理能力。 |
| Hapticpad | 自制 6 键宏键盘,配备带触觉反馈的旋钮与 OLED 显示屏,支持 256 个配置文件切换、三种旋钮模式与自定义 RGB 灯环。通过修改 SD 卡上的 XML 文件即可配置,即插即用,无需安装特殊驱动或客户端。 |
| toasty | 零依赖的轻量 Windows Toast 通知命令行工具,体积仅 230KB。可自动检测并集成 Claude Code、Gemini CLI、GitHub Copilot 等主流 AI 命令行编程助手,在任务完成时发送带对应图标的桌面通知,让你无需一直守在终端等待 AI 结果。 |
Go
| 项目 | 核心定位 |
|---|---|
| marmot | Go 语言开发的轻量分布式 SQLite 系统,通过无领导(leaderless)架构把 SQLite 变成高可用的分布式数据库。使用 Gossip 协议进行集群管理与数据同步,支持最终一致性与多点写入,通过 CDC 实现行级复制,并兼容 MySQL 协议,让现有 MySQL 客户端与应用可以无缝迁移到 SQLite 集群。 |
| new-api | 基于 One API 二次开发的 AI 模型接口管理与分发平台。把 OpenAI、Claude、Gemini、DeepSeek 等主流大模型与 AI 服务封装为统一接口,兼容 OpenAI、Claude、Gemini 等常见接口格式,同时提供数据看板、智能路由分发、令牌分组、模型访问限制、在线充值等功能,适合企业或个人构建统一的 LLM 调用平台。 |
| nginxpulse | 由 Go、Vue3、PostgreSQL 构建的轻量 Nginx 日志分析与可视化平台,支持 PV/UV 统计、IP 地理位置分析、客户端设备识别等功能,适合个人站长与小型团队使用。 |
| snitch | Go 开发的网络连接监控命令行工具,作为ss和netstat的替代品。开箱即用、界面简单直观,支持实时刷新、过滤、排序、导出与搜索 TCP/UDP 连接等能力。 |
| tusd | tus 协议(基于 HTTP 的文件断点续传协议)的官方 Go 语言开源实现,专门解决大文件上传易中断、需从头重传的问题。支持本地磁盘、AWS S3、Google Cloud Storage 等多种存储,既可独立部署为服务,也可作为 Go 库集成使用。 |
Java
| 项目 | 核心定位 |
|---|---|
| dslabs | 华盛顿大学专为分布式系统课程设计的配套实验框架,提供网络模拟、自动化测试与可视化调试能力,帮助初学者从零实现一个容错、分片、事务性的 KV 存储系统,在实践中掌握分布式协议的实现原理。 |
| geopulse | 由 Java(Quarkus)与 PostGIS 构建的定位追踪与分析平台,是 Google Timeline 的开源替代方案。运行时内存占用低(约 40–100MB),提供自动行程检测、实时位置共享、多源数据导入、Immich 集成与 AI 问答助手等功能,支持 Docker 与 K8s 部署。 |
JavaScript
| 项目 | 核心定位 |
|---|---|
| chrome-devtools-mcp | Chrome DevTools 团队官方开源、在 content/en/HelloGitHub118.md 中附有配置示例的 MCP 服务实现。以 MCP 工具的形式把 Chrome DevTools 的能力提供给 AI 编码助手,支持自动化操作、调试与性能分析。 |
| iii | 一站式后端框架,整合 API、事件驱动、定时任务、实时数据流、AI Agent 等能力,支持 TypeScript 与 Python 等多语言混合开发。内置状态管理、结构化日志、端到端链路追踪与可视化调试器,支持流程图、日志流与实时测试等功能。 |
| pdfcraft | 基于 Next.js 与 WebAssembly 构建的开源 PDF 工具箱,所有文件操作均在浏览器本地完成、不上传外部服务器。提供基于节点的 PDF 处理工作流编排,支持合并、拆分、OCR、格式转换等 90 余种功能。 |
| puck | 使用 TypeScript 与 React 构建的可视化编辑器组件,可轻松为 Next.js、Remix 等 React 应用集成拖拽式建站功能,直接复用现有 React 组件并将其改造为可拖拽的编辑单元。 |
| Rote | 追求极简与优雅体验的个人笔记平台,由 React 与 Node.js 构建,支持 Docker 一键部署,并提供开放 API 接口,便于以多种方式录入或取回数据。 |
Kotlin
| 项目 | 核心定位 |
|---|---|
| roubao | 开源 Android AI 移动自动化助手,无需电脑即可通过自然语言命令让手机自动执行任务。利用视觉语言模型识别截图,结合委派执行或 GUI 自动化,完成复杂的 App 交互任务。 |
| traffic-light | 免费、开源、轻量且无广告的 Android 网络流量监控应用,支持状态栏实时网速显示、历史数据与应用级流量统计等功能。 |
Python
| 项目 | 核心定位 |
|---|---|
| dirsearch | Python 开发的 Web 路径扫描工具,支持多线程与异步模式,并提供多种报告输出格式。 |
| keep | 更智能的告警管理与 AIOps 平台,利用 AI 技术进行告警关联与分析。提供统一界面管理各类告警与事件,支持告警去重、过滤、关联分析与自动化处理,可集成多个监控工具、数据库、通讯平台与事件管理工具。 |
| maptoposter | Python 开发的城市地图海报生成器,可将城市地图数据转化为极简风格的艺术海报。基于 OpenStreetMap 数据自动绘制指定城市的道路网络、水体与公园,并提供赛博朋克、水墨等 17 种主题风格。 |
| python-docx-template | 结合 python-docx 与 Jinja2 的 Word 文档渲染库,以 .docx 文档为模板、在模板中嵌入 Jinja2 语法标签,自动生成格式复杂的 Word 文档,支持图片、富文本、页眉页脚、表格等。代码示例见下文。 |
| sqlit | Python 开发的终端 TUI 数据库客户端,目标是成为数据库界的 lazygit。开箱即用、上手简单,支持查询历史、自动补全、语法高亮与多种主流数据库,适合懒得打开 GUI 客户端时快速查询。 |
Rust
| 项目 | 核心定位 |
|---|---|
| serie | 以图表形式可视化展示 Git 提交历史,是git log --graph命令的替代品,支持灵活排序、自定义快捷键与外部命令扩展。 |
| zensical | Material for MkDocs 团队使用 Rust 与 Python 重写的静态站点生成器,可基于 Markdown 文件构建带搜索功能的美观专业文档站。开箱即用、可定制,且兼容现有 Material for MkDocs 项目配置,便于迁移。 |
Swift
| 项目 | 核心定位 |
|---|---|
| FineTune | Swift 开发的 macOS 菜单栏音频控制工具,支持为每个应用独立调节音量、并为各应用设置不同的输出设备。 |
| keyStats | macOS/Windows 平台的轻量键盘鼠标统计工具,量化用户的输入行为但不会记录具体输入内容,支持统计键盘敲击、鼠标点击、鼠标移动与滚动距离。 |
| quotio | Swift 开发的 macOS 菜单栏工具,统一管理 Claude、Gemini、OpenAI、Qwen 等 AI 服务的账号与 API Key,提供实时 Token 消耗统计、自动故障转移,以及面向 CLI 编程助手的自动化配置。 |
AI
| 项目 | 核心定位 |
|---|---|
| cultivation-world-simulator | 基于 LLM 的修仙模拟游戏。与传统 RPG 不同,游戏内所有 NPC 都是具有独立性格、记忆与行为逻辑的 AI Agent,玩家扮演"天道",以神性视角观察和干预 AI 修士与仙侠世界的规则,见证宗门兴衰与天才涌现。 |
| happy | 远程操作 Claude Code 或 Codex 的工具,让你随时随地查看并远程控制 AI 编码助手,提供 iOS、Android 与 Web 客户端。 |
| ml-sharp | Apple 开源的单目视图合成技术配套代码,可从单张图片在短时间内生成高质量 3D 场景。通过神经网络从单张照片回归 3D 高斯参数,并输出 ply 文件供 3DGS 渲染器使用。 |
| OnnxSlim | 纯 Python 实现、无额外编译依赖的 ONNX 模型剪枝与结构优化工具。通过分析和重写计算图,自动移除冗余节点、无效分支与多余参数,在保持模型精度的同时减小模型体积、提升推理速度,适合模型发布、推理部署与工程化场景。代码示例见下文。 |
| Papers-in-100-Lines-of-Code | 用约 100 行 Python 代码复现 60 多篇经典深度学习论文,提供最小且可运行的代码实现,帮助研究者、学生与开发者快速理解经典论文的核心思想与实现细节。 |
Other
| 项目 | 核心定位 |
|---|---|
| Consent-O-Matic | 浏览器扩展,自动跳过 Cookie 同意弹窗。只需在扩展中设置一次隐私偏好,即可自动识别并跳过各类网站的 Cookie 弹窗,免去手动处理的麻烦。 |
| decky-loader | 专为 Steam Deck 设备设计的插件加载器,可在原生 SteamOS 界面无缝加载第三方功能模块,支持界面美化、性能优化与实用工具等插件。 |
| OpenNutriTracker | 免费开源的营养与卡路里追踪移动应用,支持拍照记录每日饮食、扫描食品条码快速录入营养信息、创建饮食计划。 |
| superpowers | 专为 AI 编程代理设计的完整软件开发工作流。通过组合 skills 与 instructions,让代理不仅能生成代码,还能遵循"设计—规划—实现"的工作流推进任务。 |
| x-algorithm | xAI 官方开源的 X 平台(For You)信息流推荐系统核心技术细节,展示如何构建基于大语言模型排序的生产级推荐引擎。 |
三、三个可复用的代码级示例详解
本期文档为三个项目附带了可直接复用的配置或代码片段,下面逐一展开。
3.1 chrome-devtools-mcp:把 Chrome DevTools 能力接入 MCP 生态
该项目把 Chrome DevTools 的自动化操作、调试与性能分析能力,以 MCP(Model Context Protocol)工具的形式暴露给 AI 编码助手。原文给出的配置示例是一个标准的 MCP 服务声明,可直接写入支持 MCP 的客户端配置中:
{ "mcpServers": { "chrome-devtools": { "command": "npx", "args": ["-y", "chrome-devtools-mcp@latest"] } } }配置要点:command使用npx直接拉起最新版本(-y表示自动确认安装),mcpServers下的服务名chrome-devtools即后续在对话中引用的工具命名空间。借助该服务,AI 编码助手可以在浏览器中执行自动化操作、定位页面问题并完成性能分析,打通"AI 写代码—浏览器验证"的闭环。
3.2 python-docx-template:用 Jinja2 模板渲染 Word 文档
该库把python-docx的文档操作能力与Jinja2的模板渲染能力结合:以.docx文档本身作为模板,在段落、表格中直接书写 Jinja2 标签,再填充上下文数据生成最终文档。原文给出的最小示例:
from docxtpl import DocxTemplate doc = DocxTemplate("my_word_template.docx") context = { 'name' : "HelloGitHub" } doc.render(context) doc.save("generated_doc.docx")执行流程分三步:加载模板文档、传入上下文变量(支持图片、富文本、页眉页脚、表格等复杂结构)、渲染并保存。相比在代码中逐段拼接 Word 内容,这种方式把"版式"与"数据"分离,非常适合批量生成合同、报告等格式固定的文档。
3.3 OnnxSlim:纯 Python 的 ONNX 模型瘦身
OnnxSlim 通过分析并重写 ONNX 计算图,自动删除冗余节点、无效分支与多余参数,实现模型剪枝与结构优化。原文给出的 API 使用示例:
import onnx import onnxslim model = onnx.load("model.onnx") slimmed_model = onnxslim.slim(model) if slimmed_model: onnx.save(slimmed_model, "slimmed_model.onnx")调用链路很直观:onnx.load读入原始模型 →onnxslim.slim执行图级优化并返回精简后的模型 →onnx.save落盘。返回值判空后再保存,可以避免优化失败时覆盖原始文件。由于是纯 Python 实现、无额外编译依赖,它特别适合在模型发布、推理部署与工程化流程中作为轻量预处理环节。
四、从 GitHub 星标到成刊:月刊背后的两条自动化链路
本期月刊并非手工拼凑,本仓库提供了完整的采集与生成脚本,可作为理解"内容从哪来、格式如何产出"的源码依据。
4.1 采集端:github_bot.py 收集热点项目
script/github_bot/github_bot.py 负责从 GitHub 采集"关注用户最近 Star 的项目",并在每天定时通过邮件推送"今日 GitHub 热点"。脚本顶部集中了全部可配置参数:
ACCOUNT:GitHub 账号(username/password),用于调用https://api.github.com/users/{username}/received_events事件接口;MAIL:发件邮箱配置,默认host='smtp.qq.com'、port=465(QQ 邮箱要求 SSL,脚本使用SMTP_SSL连接);RECEIVERS:接收邮件的邮箱地址列表;DAY = 1:只统计近 1 天内的 Star 事件;STARS = 100:项目 Star 数临界值,低于该值的项目会被过滤。
核心处理链路为:get_all_data()分页拉取最多 300 条(每页 30 条、共 10 页)事件 →check_condition()过滤出类型为WatchEvent、动作started、且不统计自己账号项目的 Star 事件 →get_stars()通过仓库 API 获取stargazers_count,过滤掉低于临界值的项目并按 Star 数降序排列 →make_content()生成 HTML 表格(含头像、用户名、项目名、Star 日期、Star 数量)→send_email()通过 SMTP_SSL 发送。这套"关注高质量账号 → 收集其 Star 行为 → 过滤排序 → 推送"的机制,构成了月刊候选项目的源头之一。
4.2 生成端:make_content.py 批量生成月刊
script/make_content/make_content.py 解决的是"每期月刊通用内容修改需逐期手动编辑"的痛点。脚本以template.md为模板,内部通过两个占位符拼接内容:
NUM_FLAG = '{{ hello_github_num }}':替换为期刊号;CONTENT_FLAG = '{{ hello_github_content }}':替换为各期的具体项目内容。
运行方式为在项目根目录执行python make_content.py <期数>(如python make_content.py 118),或传all重新生成所有期;脚本按目录读取content<期数>.md并输出HelloGitHub<期数>.md(详见 script/make_content/README.md)。由此可见,content/en/HelloGitHub118.md这类月刊文件正是"模板 + 当期内容"结构化产出的结果。
五、阅读与延续:前后期索引与许可说明
本期为第 118 期,按月刊惯例(每月 28 号更新)形成连续的内容序列:
- 上一期:content/en/HelloGitHub117.md
- 下一期:content/en/HelloGitHub119.md
本仓库内容采用CC BY-NC-ND 4.0(署名—非商业性使用—禁止演绎)国际许可协议发布,引用与转载时请遵守相应条款。若你发现了有趣、入门级的开源项目,也可以通过 HelloGitHub 官网的提交入口自荐或推荐项目,成为月刊的贡献者之一。
- 技术博客
- 文档
- 知识库
【免费下载链接】HelloGitHub
:octocat: 分享 GitHub 上有趣、入门级的开源项目。Share interesting, entry-level open source projects on GitHub.
相关推荐
HelloGitHub Vol.89 月刊全解析:41 个入门级开源项目精选与月刊生成机制
HelloGitHub Vol.89 月刊全解析:41 个入门级开源项目精选与月刊生成机制 本文基于 HelloGitHub 项目仓库中的 第 89 期月刊 h
技术博客文档知识库HelloGitHub Vol.110 开源月刊全解析:41 个入门级开源项目精选与实战指南
HelloGitHub Vol.110 开源月刊全解析:41 个入门级开源项目精选与实战指南 本篇技术指南以 HelloGitHub 第 110 期英文月刊(
技术博客文档知识库HelloGitHub Vol.33 开源月刊精读:33 个入门级开源项目与源码级导读
HelloGitHub Vol.33 开源月刊精读:33 个入门级开源项目与源码级导读 本文以 HelloGitHub 项目第 33 期英文月刊( conten
技术博客文档知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考