《HelloGitHub》第 114 期

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

简介

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

github.com/521xueweiha...

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


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

C 项目

1、fastfetch:更快的系统信息查看工具。这是一个类似 neofetch 的命令行工具,可以在终端里概览系统的相关信息。它采用 C 语言编写,相较于 bash 写的 neofetch 更快,显示的信息包括操作系统、Shell、内核、CPU、GPU、内存等,目前支持 Linux、Android、FreeBSD、macOS 和 Windows 7+ 操作系统。

2、miniaudio:极简易用的 C 语言音频库。这是一个单文件、零依赖、跨平台的 C 语言音频库。它将各种主流操作系统的底层音频 API 封装成简单易用的接口,让你轻松实现音频播放、录制和处理等功能,适用于游戏引擎、实时通讯、嵌入式、离线批处理等场景。

c 复制代码
#include "miniaudio/miniaudio.h"

#include <stdio.h>

int main()
{
    ma_result result;
    ma_engine engine;

    result = ma_engine_init(NULL, &engine);
    if (result != MA_SUCCESS) {
        return -1;
    }

    ma_engine_play_sound(&engine, "sound.wav", NULL);

    printf("Press Enter to quit...");
    getchar();

    ma_engine_uninit(&engine);

    return 0;
}

C# 项目

3、ClassIsland:抬头即见的开源课表工具。这是一款专为大屏设备打造的桌面课表应用,可将课程表以简洁组件的形式常驻桌面,取代传统黑板课表。支持下课提醒、天气信息、倒计时、密码保护和课表导入等功能,适用于配备教室多媒体大屏、投影仪或智慧黑板的教室。

4、CrossPlatformDiskTest:多平台硬盘性能测试工具。这是一款开源的存储与内存性能测试工具,适用于固态硬盘、机械硬盘、U 盘等存储设备。支持顺序和随机读写测试,提供 IOPS 和 MB/s 等性能指标,兼容 Windows、macOS、Linux、Android 系统。

C++ 项目

5、Crow:类 Flask 的轻量级 C++ Web 框架。这是一款专为 C++ 开发者设计的轻量级 Web 框架,仅需引入头文件即可轻松集成。它拥有类似 Python Flask 的简洁易用路由 API,只需少量代码即可快速搭建 Web 服务,大幅降低 C++ Web 开发的门槛。

cpp 复制代码
#include "crow.h"

int main()
{
    crow::SimpleApp app;

    CROW_ROUTE(app, "/")([](){
        return "Hello world";
    });

    app.port(18080).multithreaded().run();
}

6、ShaderGlass:为 Windows 桌面实时添加酷炫特效。这是一款适用于 Windows 系统的着色器工具,能够实现图像特效、复古显示、视觉增强等多种叠加效果。它可以为你的屏幕或应用窗口,实时添加一层"特效滤镜",内置 CRT、图像放大、像素化、色彩校正等经典着色器。

7、vicinae:极速的原生桌面启动器。这是一款基于 C++ 开发的桌面启动器,不依赖 Electron 或浏览器。它速度快、易扩展、界面简洁,专注于提升桌面操作效率,支持文件搜索、剪贴板历史、内联计算器等功能。

Go 项目

8、fuck-u-code:自动检测代码屎山等级的工具。这是一款用于评估代码"屎山等级"的工具,支持 Python、Java、Go 等多种编程语言。它能够自动扫描指定目录,深入分析项目代码的混乱程度,并用犀利又搞笑的方式告诉你结果。来自 @wei-guang 的分享

9、git-who:Git 目录级别的贡献分析工具。这是一个用 Go 和 Ruby 语言开发的命令行工具,用于在 Git 仓库中按目录快速统计并可视化每位贡献者的提交次数、代码修改行数和活跃时间。

10、gonzo:终端用户界面日志分析工具。这是一个用 Go 语言开发的终端(TUI)日志分析工具,灵感来自 k9s。它支持在终端界面下实时分析、过滤和可视化日志,结合 AI 提升日志洞察能力,适用于日常开发、运维和故障排查等场景。来自 @DeShuiYu 的分享

11、ntfy:开箱即用的跨设备推送通知服务。该项目是基于 HTTP 协议的开源推送通知服务,支持通过 PUT/POST 请求跨设备推送消息。它采用 Go 语言开发,用户无需注册即可通过命令行工具或简单的 API 轻松发送通知,支持自定义通知内容和自托管部署,并提供配套的 Android 和 iOS 客户端。

Java 项目

12、kroki:支持多语法的轻量级图表生成服务。这是一个支持多种文本描述生成图表的服务,提供统一 API 接口,支持数十种主流图表语法和格式,包括 PlantUML、Mermaid、Graphviz、C4、BlockDiag、BPMN、Excalidraw 等。来自 @塔咖 的分享

13、PeerBanHelper:提升下载体验的 BT 反吸血工具。这是一款专为 BT(BitTorrent)用户设计的反吸血工具,能够自动识别并封禁只下载不上传、不受欢迎或异常节点(peer),支持 qBittorrent、Deluge、BiglyBT、BitComet 等主流 BT 客户端。

JavaScript 项目

14、CubeCity:卡通风格城市建设模拟游戏。这是一款轻量级、卡通风格的 2.5D 城市模拟游戏,基于 Three.js 和 Vue3 构建。玩家可在浏览器中通过点选和拖放,实时建造、搬迁和拆除建筑。建筑会自动产出金币,可用于新建或升级设施。游戏融合了环境、社会与治理(ESG)理念,城市规划需兼顾多元需求,才能打造出可持续发展的理想城市。

15、lazy-brush:平滑手写与签名的 JavaScript 库。这是一个用于平滑绘图的 JavaScript 库,支持通过鼠标或手指流畅绘制画笔轨迹。它采用"惰性画笔"算法,有效减少手抖、锯齿等问题,让线条更加自然顺滑,适用于画板、签名、手写等多种场景。

16、mammoth.js:将 Word 文档转换为 HTML 的库。这是一个用于将 Word 文档(.docx)内容转换为 HTML 的 JavaScript 库。它能够提取文档中的结构信息,如标题、列表、表格、脚注等,并映射为相应的 HTML 标签。同时,忽略大部分样式(如字体颜色、字号、边距等),使得生成的 HTML 代码更加简洁、干净。

javascript 复制代码
var mammoth = require("mammoth");

mammoth.convertToHtml({path: "path/to/document.docx"})
    .then(function(result){
        var html = result.value; // The generated HTML
        var messages = result.messages; // Any messages, such as warnings during conversion
    })
    .catch(function(error) {
        console.error(error);
    });

17、Termix:高颜值一站式服务器管理平台。这是一个基于 Web 的服务器管理平台,集成了 SSH 终端、SSH 隧道、服务器监控和文件管理等功能。它完全免费开源、可自托管,支持自动重连、文件上传、分屏显示和语法高亮等特性。来自 @DeShuiYu 的分享

18、websocket-devtools:开箱即用的 WebSocket 调试工具。这是一款专业的 WebSocket 调试与流量控制浏览器插件,安装后会在 Chrome DevTools 面板中新增一个标签页。操作便捷,支持 WebSocket 流量的实时监控、消息模拟和流量拦截等功能。来自 @孤胆枪手 的分享

Kotlin 项目

19、goodtime:极简省电的番茄时钟工具。这是一个开源的 Android 时间管理工具,基于番茄工作法帮助用户管理时间、提升专注力。它无广告、无追踪、完全离线,支持历史记录、彩色标签、热力图统计、专注/休息比率、自定义样式等功能。来自 @ewiro 的分享

Python 项目

20、lutris:开源的 Linux 游戏平台。这是一款专为 Linux 用户设计的游戏管理平台,采用 Python 编写。它提供了友好的用户界面,极大地简化了 Linux 上的游戏安装和配置过程,让用户能够轻松安装和管理各种游戏,支持连接 Steam、GOG、Humble Bundle 等多种游戏平台,以及运行 Windows 游戏的功能。

21、pdfplumber:轻松提取 PDF 文本和表格的 Python 库。该项目是基于 Python 的 PDF 解析与数据提取库,可轻松提取文本和表格。它能够精确获取 PDF 文档中每个字符、线条、矩形等元素的详细位置、尺寸和字体信息,并支持一键生成页面快照,方便调试。

22、pydoll:无需 WebDriver 的浏览器自动化 Python 库。这是一个用于自动化操作 Chromium 内核浏览器的 Python 库。它通过原生 DevTools 协议(CDP)直接控制浏览器,无需依赖 WebDriver,支持绕过验证码、模拟真人交互、网页截图等功能。

python 复制代码
import asyncio

from pydoll.browser import Chrome
from pydoll.constants import Key

async def baidu_search(query: str):
    async with Chrome() as browser:
        tab = await browser.start()
        await tab.go_to('https://www.baidu.com')
        search_box = await tab.find(tag_name='textarea', id='chat-textarea')
        await search_box.insert_text(query)
        await search_box.press_keyboard_key(Key.ENTER)
        await asyncio.sleep(5)

asyncio.run(baidu_search('HelloGitHub'))

23、pyscript:直接在浏览器中用 Python 创建应用程序。该项目可以让开发者在 HTML 文件中直接使用 Python 编程语言,像 JavaScript 文件一样引入和执行 Python 代码,支持更小的 MicroPython、常见第三方库和操作页面元素等功能,适用于快速创建交互的数据可视化、网站原型和在线教育等 Web 应用场景。来自 @Veeja Liu 的分享

html 复制代码
<head>
    <link rel="stylesheet" href="./core.css"/>
    <script type="module" src="./core.js"></script>
</head>
<body>
    <script type="py" terminal>
        from pyscript import display
        display("HelloGitHub!") # this goes to the DOM
        print("Hello terminal") # this goes to the terminal
    </script>
</body>

24、tinyio:极简易用的 Python 事件循环库。这是一个仅约 300 行代码的轻量级 Python 事件循环库,为开发者提供比 asyncio 更加简洁易用的异步编程体验。

python 复制代码
import tinyio

def slow_add_one(x: int):
    yield tinyio.sleep(1)
    return x + 1

def foo():
    four, five = yield [slow_add_one(3), slow_add_one(4)]
    return four, five

loop = tinyio.Loop()
out = loop.run(foo())
assert out == (4, 5)

Rust 项目

25、rust-tutorial:新手友好的 Rust 实战教程。这是一个专为 Rust 初学者设计的快速入门教程,带你一步步实现一个可用的命令行 Todo 应用。

26、Seelen-UI:高度可定制的 Windows 桌面美化工具。这是一款免费开源的 Windows 桌面增强工具,专注于高度自定义和效率提升。它采用 Rust 语言开发,结合 Tauri 框架与 Web 技术,支持窗口平铺管理、应用启动器、Dock、任务栏、动态壁纸、插件扩展等功能。来自 @Rainux He 的分享

27、xh:更友好的命令行 HTTP 客户端。这是一个用 Rust 编写的命令行 HTTP 客户端,支持语法高亮、JSON 格式化、下载进度条、会话 Cookie 持久化等功能,可完美替代 cURL。来自 @DeShuiYu 的分享

Swift 项目

28、AirBattery:隔空查看苹果设备电量的 Mac 工具。这是一款专为 macOS 设计的电量监控工具,能在 Mac 菜单栏实时显示 iPhone、iPad、AirPods 和 Apple Watch 等设备的电池电量。无需在 iOS 端安装任何 App,即可在电脑端查看设备当前电量、充电状态,并支持低电量提醒。

29、Ice:强大的 macOS 菜单栏管理工具。该项目是适用于 macOS 系统的菜单栏管理工具,它开箱即用、操作简单,主要功能是隐藏和显示菜单栏内容,支持悬停显示、点击显示、自动隐藏、设置菜单栏阴影、快捷键、开机启动、自动更新等功能。

人工智能

30、how-to-build-a-coding-agent:从零实现 AI 编程助手的实战教程。这是一个教你用 Go 语言结合 Claude API,从零开发本地 AI 编程助手的项目。从简单的聊天机器人开始,逐步实现文件操作、命令执行、代码编辑和搜索等功能。

31、parlant:给大模型立规矩的智能体开发框架。这是一款专为实际场景控制设计的 LLM 智能体开发框架,旨在解决传统 LLM 对话系统在复杂业务中难以精准控制的问题。它通过自然语言定义智能体行为规则,灵活控制 AI 的对话行为,避免"幻觉"或偏离业务目标。

python 复制代码
import asyncio
import parlant.sdk as p

async def main():
  async with p.Server() as server:
    agent = await server.create_agent(
        name="Otto Carmen",
        description="You work at a car dealership",
    )

    await agent.create_guideline(
        # This is when the guideline will be triggered
        condition="the customer greets you",
        # This is what the guideline instructs the agent to do
        action="offer a refreshing drink",
    )

asyncio.run(main())

32、SwanLab:AI 模型训练跟踪与可观测平台。这是一款专为 AI 模型训练打造的跟踪、记录、分析与协作工具,旨在帮助研究者优化训练过程,提升团队协作效率。它通过简洁的 Python API 和直观的界面,提供了训练可视化、自动日志记录、硬件监控、实验管理和多人协同等功能。已集成 40+ 主流训练框架,适用于大模型训练、计算机视觉、音频处理、AIGC 等任务场景。来自 @Ze-Yi LIN 的分享

33、WhisperLiveKit:开箱即用的本地语音转写工具。这是一款集实时语音转文本、翻译和说话人分离于一体的开源工具,自带服务器端和 Web UI,一条命令即可私有化部署。它基于最新的增量流式技术,无需联网和写前端代码,就能实现超低延迟的会议实时记录和跨语言交流。

scss 复制代码
# 使用 large-v3 模型,并将英语翻译为中文
whisperlivekit-server --model large-v3 --language en --target-language zh

# 说话人分离,服务器监听 80 端口
whisperlivekit-server --host 0.0.0.0 --port 80 --model medium --diarization --language zh

其它

34、balatro-gba:年度扑克神作 GBA 移植版。这是一个将游戏《小丑牌》(Balatro)移植到 GBA 平台的项目。为保护游戏版权,该项目仅提供简化版的《Balatro》,不会完整还原原作内容,且需要用户自行构建 ROM 文件。

35、CookLikeHOC:老乡鸡菜谱开源版。该项目非老乡鸡官方出品,是作者基于《老乡鸡菜品溯源报告》等资料,归纳、整理了老乡鸡菜品的配方、制作流程及烹饪要点。来自 @孤胆枪手 的分享

36、flip-card:一张会"流动"的电子名片。这是一个将实时流体模拟效果呈现在一张名片大小硬件上的开源项目。它基于树莓派 RP2350,采用 Rust 语言实现粒子模拟,整体硬件成本约 12 美元。

37、podman-desktop:免费开源的容器桌面管理工具。这是一款跨平台、免费开源的容器与 K8s 桌面管理工具,为容器和 K8s 的构建、管理与部署提供了直观易用的桌面界面,支持 Podman、Docker、Lima、kind 等主流容器。

38、winboat:在 Linux 系统上轻松运行 Windows 应用。这是一款无需复杂配置即可在 Linux 上运行 Windows 应用的工具。通过图形化向导自动完成镜像拉取、容器创建和 RDP 配置,全程无需手动敲命令,就能让 Windows 应用以独立窗口无缝呈现在 Linux 桌面。来自 @moyelx 的分享

开源书籍

39、ml-interviews-book:《Machine Learning Interviews Book》机器学习面试指南。这是一本免费开源的电子书,专为机器学习领域求职面试而设计,内容涵盖 ML 岗位类型、面试官评分视角、备战路线,以及 200+ 道分级面试题。

最后

感谢参与分享开源项目的小伙伴们,欢迎更多的开源爱好者来 HelloGitHub 自荐/推荐开源项目。如果你发现了 GitHub 上有趣的项目,就点击这里分享给大家伙吧!

本期有你感兴趣的开源项目吗?如果有的话就留言告诉我吧~如果还没看过瘾,可以点击阅读往期内容。

感谢您的阅读,如果觉得本期内容还不错的话 求赞、求分享 ❤️

相关推荐
伞啊伞4 小时前
开源的容器化平台:Docker
docker·容器·开源
徐小夕@趣谈前端12 小时前
如何实现多人协同文档编辑器
javascript·vue.js·设计模式·前端框架·开源·编辑器·github
胡耀超12 小时前
PaddleLabel百度飞桨Al Studio图像标注平台安装和使用指南(包冲突 using the ‘flask‘ extra、眼底医疗分割数据集演示)
人工智能·百度·开源·paddlepaddle·图像识别·图像标注·paddlelabel
时光追逐者12 小时前
一个基于 .NET 开源、简易、轻量级的进销存管理系统
开源·c#·.net·.net core·经销存管理系统
SuperHeroWu713 小时前
【鸿蒙开源技术共建】用@luvi/lv-markdown-in在HarmonyOS上打造高性能Markdown编辑体验
华为·开源·harmonyos
ajassi200014 小时前
开源 C# 快速开发(五)自定义控件--仪表盘
开发语言·开源·c#
IvorySQL18 小时前
聚焦六大功能:PostgreSQL 18 新特性深度解析
数据库·postgresql·开源
白衣鸽子19 小时前
PageHelper:基于拦截器实现的SQL分页查询工具
后端·开源
阿正的梦工坊21 小时前
介绍 SWE-bench:语言模型能否解决真实世界的 GitHub 问题?
人工智能·语言模型·github