V2EX 07月28日 09:27
[分享发现] 《HelloGitHub》第 112 期
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

HelloGitHub是一个专注于分享GitHub上有趣、入门级开源项目的平台,涵盖Python、Java、Go、C/C++、Swift等多种编程语言。本期内容精选了包括AltSnap窗口管理器、libpostal地址解析库、dlss-swapper游戏画质优化工具、Mate-Engine虚拟伴侣、LunaTranslator视觉小说翻译器、mcpp-standard现代C++教程、WindowsAppSDK注入新活力、evcc电车充电管理、genai-toolbox数据库MCP工具、gpt-load大模型API管理、zenta专注力恢复工具、javacv计算机视觉库、JsonPath JSON处理、nifi数据流管理、base-ui React组件库、cap验证码方案、drawnix白板工具、FossFLOW伪3D绘图、snapdom网页截图、Iconify Android美化、jupyterlite浏览器JupyterLab、mediacms视频平台、requests-futures异步请求、UavNetSim-v1无人机仿真、ZSim《绝区零》模拟器、PakePlus网页打包、rustfs分布式存储、tabiew命令行浏览、KeyboardCowboy macOS快捷键、TrackWeight触控板电子秤、gitingest代码库转文本、ManimML神经网络演示、unsloth LLM微调、uzu MacBook AI推理、VideoCaptioner视频字幕、12-factor-agents LLM应用指南、60s资讯API、bitwise-challenge-2048位运算游戏、CSS-Minecraft纯CSS界面、pomodoro番茄时钟、scriptcat浏览器脚本插件、以及《Crypto 101》和《Think Stats》两本开源书籍。这些项目旨在帮助开发者快速体验开源的魅力,提升开发效率和创新能力。

💡 HelloGitHub旨在激发开发者对开源的热情,通过分享GitHub上各种语言的有趣且易于上手的项目,涵盖了从系统工具、开发辅助到数据处理、AI应用等广泛领域,为开发者提供学习和实践的宝贵资源。

💻 本期内容特别推荐了多款实用的开发工具和库,例如在C语言方面,libpostal能够解析全球地址格式;在C#方面,dlss-swapper可以方便地切换游戏DLSS版本;在C++方面,LunaTranslator提供了视觉小说的翻译功能,而WindowsAppSDK则为旧应用注入新活力;在Go语言方面,evcc是个人电车充电智能管理平台,genai-toolbox是Google开源的数据库MCP工具,gpt-load是企业级多渠道大模型API管理平台,zenta是快速恢复专注的命令行工具;在Java方面,javacv是全能的计算机视觉库,JsonPath简化了JSON读写,nifi是可视化拖拽的数据流管理平台;在JavaScript方面,base-ui是轻松定制的无样式React组件库,cap是轻量级CAPTCHA替代方案,drawnix是极简在线白板工具,FossFLOW是伪3D图绘制工具,snapdom提供精准网页内容截图;在Kotlin方面,Iconify可深度定制Android系统界面;在Python方面,jupyterlite可在浏览器中运行JupyterLab,mediacms是基于Django的在线视频平台,requests-futures是优雅的异步Python HTTP请求库,UavNetSim-v1是无人机通信网络仿真平台,ZSim是《绝区零》战斗模拟器;在Rust方面,PakePlus可将网页秒变桌面应用,rustfs是高性能分布式存储系统,tabiew是命令行数据文件可视化浏览工具;在Swift方面,KeyboardCowboy重塑macOS快捷键,TrackWeight将MacBook触控板变电子秤。

🚀 在人工智能领域,gitingest可将代码库转换为AI友好格式,ManimML用Python动态演示神经网络,unsloth是新手友好的LLM微调工具库,uzu是MacBook专属的高性能AI推理引擎,VideoCaptioner是开箱即用的智能字幕助手。此外,还有《12-factor-agents》指南、60s资讯API集合、bitwise-challenge-2048游戏、CSS-Minecraft纯CSS界面、pomodoro番茄时钟、scriptcat浏览器插件,以及密码学入门《Crypto 101》和统计学电子书《Think Stats》等。

✨ HelloGitHub通过精选各类开源项目,鼓励开发者探索技术前沿,学习新知识,并从中找到乐趣,为开源社区贡献力量。

兴趣是最好的老师,HelloGitHub 让你对开源感兴趣!

简介

HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。

github.com/521xueweihan/HelloGitHub

这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python 、Java 、Go 、C/C++、Swift...让你在短时间内感受到开源的魅力,爱上开源!


以下为本期内容|每个月 28 号更新

C 项目

1 、AltSnap:Windows 全局 Alt 键窗口管理器。这是一款将 Linux 系统中高效的窗口管理方式复刻到 Windows 平台的工具。你只需按住 Alt 键,即可用鼠标在窗口的任何位置轻松拖动、缩放和停靠,彻底告别繁琐地寻找并点击标题栏和边框的传统操作。来自 @孤胆枪手 的分享

2 、libpostal:兼容全球地址格式的解析库。该项目是用 C 语言编写的全球地址解析库,支持多种语言、格式和国家的地址字符串,能够将地址信息转换为结构化数据。

#include <stdio.h>#include <stdlib.h>#include <libpostal/libpostal.h>int main(int argc, char **argv) {    // Setup (only called once at the beginning of your program)    if (!libpostal_setup() || !libpostal_setup_parser()) {        exit(EXIT_FAILURE);    }    libpostal_address_parser_options_t options = libpostal_get_address_parser_default_options();    libpostal_address_parser_response_t *parsed = libpostal_parse_address("781 Franklin Ave Crown Heights Brooklyn NYC NY 11216 USA", options);    for (size_t i = 0; i < parsed->num_components; i++) {        printf("%s: %s\n", parsed->labels[i], parsed->components[i]);    }    // Free parse result    libpostal_address_parser_response_destroy(parsed);    // Teardown (only called once at the end of your program)    libpostal_teardown();    libpostal_teardown_parser();}

C# 项目

3 、dlss-swapper:免更新切换游戏 DLSS 版本的工具。这是一款用于管理和替换游戏的 DLSS 、FSR 和 XeSS DLL 文件的工具,支持 Steam 、GOG 、Epic Games 等主流游戏平台。它可以在不更新游戏的情况下,升级或降级游戏的 DLSS 、FSR 和 XeSS 版本,从而优化游戏画质与性能。

4 、Mate-Engine:开源的 VRM 桌面虚拟伴侣。这是一款开源的桌面虚拟伴侣应用,可作为 Desktop Mate 的开源替代品,支持将自定义的 3D 虚拟角色置于桌面,并内置流畅的闲置动画、点击互动、随音乐舞动等功能。

C++ 项目

5 、LunaTranslator:开源的视觉小说翻译工具。这是一款专为 Windows 平台设计的视觉小说( Galgame )翻译器,支持 HOOK 、OCR 、剪贴板等多种文本提取方式,可灵活切换,并提供在线翻译、离线翻译、语音合成等功能。

6 、mcpp-standard:动手学现代 C++ 语言特性。这是一套完全开源的现代 C++ 语言特性互动教程。它把 C++11 的核心语言特性(如类型自动推导、移动语义等),拆成可运行的迷你练习,通过自研的 xlings 工具,实现一键安装依赖和实时判题等功能。

7 、WindowsAppSDK:为旧桌面应用注入新活力的 SDK 。该项目是微软官方开源的 Windows 桌面应用开发组件和工具集,旨在帮助传统的 Win32 、WPF 、WinForms 等应用,轻松集成最新的 Windows UI 和平台功能。只需引入一个 NuGet 包,就能为原应用引入更美观的 UI 和推送通知、窗口圆角等功能。

Go 项目

8 、evcc:个人电车充电智能管理平台。这是一个开源的 EV (电动汽车)充电器控制平台,为电车车主提供灵活且易于安装的充电解决方案。它提供了可视化且适配移动端的 Web 平台,用户可以通过该平台远程启动、停止和监控车辆的充电状态,支持多种充电设备和车辆型号。智能充电功能还可以根据电价、太阳储能和日程安排,智能安排充电时间,从而节约电费。

9 、genai-toolbox:Google 开源的数据库 MCP 工具。该项目是 Google 开源的 MCP 服务器,专为 LLM 应用与各类数据库之间提供统一、安全、可扩展的数据访问层。它集成了连接池、身份验证、监控等功能,让 AI agent 快速拥有查询数据库的能力,支持 PostgreSQL 、MySQL 等多种数据库。

10 、gpt-load:企业级的多渠道大模型 API 管理平台。这是一款用 Go 语言开发的企业级大模型接口管理平台,支持 OpenAI 、Gemini 、Claude 等多种服务。它开箱即用、内置 Web 管理界面、保留原生 API 格式,支持密钥自动轮询、故障切换和水平扩展,专为高并发生产环境而设计。来自 @tbphp 的分享

11 、zenta:快速恢复专注的命令行工具。这是一个 Go 语言开发的命令行工具,旨在帮助开发者在心烦意乱或注意力不集中时,通过简单的呼吸练习,快速找回专注和内心的平静。

Java 项目

12 、javacv:全能的计算机视觉 Java 库。该项目让开发者能够在 Java 虚拟机( JVM )直接调用如 OpenCV 、FFmpeg 、Tesseract 等常用的计算机视觉库,快速开发出实时图像分析、视频编解码、流式传输和 OCR 等功能模块。

import org.bytedeco.opencv.opencv_core.*;import org.bytedeco.opencv.opencv_imgproc.*;import static org.bytedeco.opencv.global.opencv_core.*;import static org.bytedeco.opencv.global.opencv_imgproc.*;import static org.bytedeco.opencv.global.opencv_imgcodecs.*;public class Smoother {    public static void smooth(String filename) {        Mat image = imread(filename);        if (image != null) {            GaussianBlur(image, image, new Size(3, 3), 0);            imwrite(filename, image);        }    }}

13 、JsonPath:像操作 XML 一样轻松读写 JSON 。该项目为 Java 开发者提供类似路径查询的方式,能够轻松从复杂的 JSON 结构中提取数据,无需手动遍历即可定位目标节点。来自 @塔咖 的分享

String json = "...";Object document = Configuration.defaultConfiguration().jsonProvider().parse(json);String author0 = JsonPath.read(document, "$.store.book[0].author");String author1 = JsonPath.read(document, "$.store.book[1].author");

14 、nifi:可视化拖拽的数据流管理平台。这是一个基于流程编程理念的数据流管理系统。它提供可视化的 Web 管理界面,支持数据溯源、断点续传、弹性扩展和丰富的处理器。用户可以像画流程图一样设计、控制和监控各系统间的数据流动,适用于数据湖、实时风控、AI 数据管道等场景。

JavaScript 项目

15 、base-ui:轻松定制的无样式 React 组件库。该项目提供了一套基础、无样式的 React 组件,仅包含必要的功能逻辑,不附带任何预设样式。帮助开发者摆脱传统 UI 库的样式束缚,无需耗费大量精力覆盖和修改默认样式。

16 、cap:轻量级的 CAPTCHA 替代方案。这是一个轻量级、开源的验证码方案,适用于防止机器人滥用和数据抓取等场景。它基于 SHA-256 工作量证明( Proof-of-Work )技术,易于集成、即插即用,为网站提供自托管的防滥用验证机制。

17 、drawnix:极简的在线白板工具。这是一款免费、开源的在线白板工具。它提供一个无限画布,支持自由绘制、思维导图、流程图、画笔、插入图片、自动保存等功能,以及移动端适配、Docker 部署和插件机制等特性。

18 、FossFLOW:开源的伪 3D 图绘制工具。这是一款专为创建专业的等距( isometric )基础架构图而设计的绘图工具,支持离线使用。等距图是以 2D 形式呈现 3D 效果,能够更直观、精准地展现复杂的设计和系统架构。来自 @孤胆枪手 的分享

19 、snapdom:精准的网页内容截图库。这是一个高效的网页截图 JavaScript 库,可将网页上的任意 Dom 元素快速、精确地转化为高质量图片,并支持导出为 PNG 、JPG 、WebP 或 Canvas 格式,适用于网页自动化测试、生成预览图、内容保存等场景。来自 @Yee1014 的分享

const el = document.querySelector('#target');const result = await snapdom(el, { scale: 2 });const img = await result.toPng();document.body.appendChild(img);await result.download({ format: 'jpg', filename: 'my-capture' });

Kotlin 项目

20 、Iconify:深度定制你的 Android 系统界面。这是一款功能强大的 Android 系统级美化工具,专为 Android 12 及以上的 Pixel 或 AOSP 类 ROM 设计。它支持对设备用户界面( UI )进行深度定制和修改,包括但不限于状态栏图标(如 Wi-Fi 、信号)、系统图标、图标形状、锁屏时钟样式、通知面板布局和颜色等。来自 @ewiro 的分享

Python 项目

21 、jupyterlite:在浏览器中运行的 JupyterLab 。这是一个完全在浏览器中运行的 JupyterLab ,无需安装 Python 或配置服务器。它提供在线交互式 Python 编程环境,可作为静态文件部署到任何静态网站托管平台(如 GitHub Pages )。

22 、mediacms:基于 Django 的在线视频平台。这是一个基于 Django 和 React 构建的视频内容管理平台,可快速搭建中小型视频网站。它内置转码、搜索、播放列表、权限管理和移动端适配等功能,支持视频、音频、图像、PDF 等多媒体格式。

23 、requests-futures:优雅的异步 Python HTTP 请求库。这是一个为 Python requests 库提供异步 HTTP 请求的轻量级封装库。它结合了 requests 库的易用性和标准库 concurrent.futures 的并发能力,支持以非阻塞方式发送单个或多个 HTTP 请求,从而显著提升 I/O 密集型应用的性能。

from concurrent.futures import as_completedfrom pprint import pprintfrom requests_futures.sessions import FuturesSessionsession = FuturesSession()futures=[session.get(f'http://httpbin.org/get?{i}') for i in range(3)]for future in as_completed(futures):    resp = future.result()    pprint({        'url': resp.request.url,        'content': resp.json(),    })

24 、UavNetSim-v1:无人机通信网络仿真平台。这是一款基于 Python ( SimPy )的无人机通信网络仿真平台,专为组建无人机集群通信而设计。它提供无人机网络的多个层级(如网络层、MAC 层、物理层),以及无人机移动性和能量模型的全面建模,适用于无人机网络的协议设计、性能评估和可视化分析。来自 @凝望,划过星空 的分享

25 、ZSim:《绝区零》战斗模拟器。这是一个专为游戏《绝区零》设计的伤害模拟和战斗仿真工具,支持全自动仿真、可视化报告、自定义 APL 等功能。玩家可自由选择游戏中的角色与装备,并配置属性参数,然后通过模拟器计算出在特定队伍组合下的预期伤害。

Rust 项目

26 、PakePlus:将网页秒变桌面应用的打包工具。这是一款基于 Rust 和 Tauri 构建的开源工具,能够将任意网页或前端项目(如 Vue 、React 等)快速转换为轻量级的桌面应用和移动应用。它体积仅 5 MB ,可通过 GitHub Actions 实现云端自动打包,无需复杂依赖,支持 macOS 、Windows 和 Linux 平台。来自 @1024 小神 的分享

27 、rustfs:基于 Rust 的高性能分布式存储系统。该项是用 Rust 构建的高性能分布式对象存储系统,致力于成为 MinIO 的开源替代品。它安装简单、兼容 S3 协议,采用更友好的开源协议,并内置界面清爽的 Web 管理后台。同时,支持国产保密设备和系统,适用于海量数据存储、大数据、互联网、工业和保密存储等场景。来自 @SR.李 的分享

28 、tabiew:命令行数据文件可视化浏览工具。这是一款用于浏览和查询表格数据文件(如 CSV 、Parquet 、Arrow 、Excel 等)的命令行工具。它提供交互式界面体验、支持 SQL 查询、多表操作、模糊搜索和 Vim 风格快捷键等功能。来自 @HBSpy 的分享

Swift 项目

29 、KeyboardCowboy:重塑你的 macOS 快捷键。这是一款能够重塑 macOS 快捷键体验的键盘工作流工具,可为任意应用创建强大且具备上下文感知能力的快捷键,无需手动触发。它不仅能模拟点击没有原生快捷键的按钮、选择菜单项,还能将多步操作串联为一键执行的高效流程,提升工作流效率。

30 、TrackWeight:MacBook 触控板秒变电子秤。这是一款有趣的 macOS 应用,可以将 MacBook 的触控板变身为数字电子秤。它利用触控板内置的 Force Touch 压力传感器,只需将物体放在触控板上,应用即可实时显示其重量。

人工智能

31 、gitingest:一键将代码库转换为 AI 友好格式的工具。该项目可将任意 GitHub 仓库快速转换为适合大语言模型处理的纯文本摘要。使用起来十分方便,只需将 GitHub 项目地址中的 hub 替换为 ingest 即可得到文本摘要。

32 、ManimML:用 Python 动态演示神经网络。这是一个基于 Manim 的 Python 库,用于制作机器学习相关概念的动画和可视化效果。只需编写简单的 Python 代码,即可轻松生成神经网络结构、卷积操作、Dropout 过程等动画效果,帮助理解和展示复杂的机器学习原理。

from manim_ml.neural_network import NeuralNetwork, FeedForwardLayernn = NeuralNetwork([    FeedForwardLayer(num_nodes=3),    FeedForwardLayer(num_nodes=5),    FeedForwardLayer(num_nodes=3)])self.add(nn)

33 、unsloth:新手友好的 LLM 微调工具库。该项目是用于微调和优化大型语言模型( LLM )的 Python 工具库。它通过动态量化和显存优化技术,提高了模型微调速度,同时将显存占用降低 70%-80%,并支持多种硬件配置、LLM 、超长上下文任务等功能。除此之外,还提供了可直接在线体验的 Jupyter Notebook 示例,降低了大模型微调的门槛。

34 、uzu:MacBook 专属的高性能 AI 推理引擎。这是一个专为 Apple M 系列芯片打造的高性能、轻量级 AI 模型推理引擎。它充分利用 Apple 硬件的特性提升推理速度,并提供简单易用的 API ,助你一键部署高效本地大模型服务。来自 @DeShuiYu 的分享

35 、VideoCaptioner:开箱即用的智能字幕助手。这是一款基于大语言模型的智能视频字幕处理工具。它界面简洁、操作便捷,支持语音识别、智能校对和自动生成多语言字幕等功能。来自 @孤胆枪手 的分享

其它

36 、12-factor-agents:构建生产级 LLM 应用的设计指南。这是一份为打造生产级大模型应用而编写的设计指南。作者在与多位 AI 领域优秀创始人交流后,提炼出 12 条系统化、切实可行的设计原则。

37 、60s:每日 60 秒资讯 API 集合。该项目集合了包括每日新闻、实时票房、汇率、热搜榜、随机段子等多种数据的 API 服务。

38 、bitwise-challenge-2048:基于位运算的 2048 游戏。这是一个通过位运算实现了经典的 2048 游戏,仅一个文件(.bash )、零依赖、不到 200 行代码。与常见的二维数组模拟棋盘方式不同,该项目巧妙地利用位运算管理游戏状态和逻辑,将整个 4x4 棋盘压缩存储在一个 64 位整数中,所有移动、合并和生成均通过位操作实现。

39 、CSS-Minecraft:这个“世界”只有 HTML 和 CSS 。该项仅用 CSS 和 HTML 实现了类似《我的世界》( Minecraft )的界面交互,没用一行 JavaScript 代码,支持方块的放置、移除、切换视角等基础操作。

40 、pomodoro:自制电子墨水屏番茄时钟。这是一个基于 ESP32 的实体番茄钟计时器,配备 4.26 英寸黑白 ePaper 屏幕和旋钮式操作。通过旋转旋钮可快速设定工作和休息时长,按下旋钮即可立即开始计时。

41 、scriptcat:可执行用户脚本的浏览器插件。这是一款开源的浏览器插件,支持用户安装和运行第三方的 JavaScript 代码片段,可用于屏蔽广告、增强网站功能、自动化网页操作等场景。

开源书籍

42 、book:《 Crypto 101 》密码学入门。这是一本面向程序员的密码学入门书籍,从 XOR 和一次性密码本开始,循序渐进地讲解对称加密、公钥加密、哈希、MAC 、签名、密钥交换、随机数等密码学“积木”,并把它们组装成 TLS 、OpenPGP 、OTR 等真实系统。

43 、ThinkStats:《 Think Stats 》统计思维。这是一本写给程序员的统计学电子书,所有代码示例和练习均以 Python 实现。全书围绕真实数据集展开,通过探索性数据分析、概率分布、假设检验、相关性与回归分析等统计方法,用统计思维解决实际问题。

最后

感谢您的阅读❤️

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

HelloGitHub 开源项目 编程 技术分享
相关文章