《HelloGitHub》第 114 期
興趣是最好的老師,HelloGitHub 讓你對開源感興趣!

簡介
HelloGitHub 分享 GitHub 上有趣、入門級的開源項目。
這里有實戰(zhàn)項目、入門教程、黑科技、開源書籍、大廠開源項目等,涵蓋多種編程語言 Python、Java、Go、C/C++、Swift...讓你在短時間內(nèi)感受到開源的魅力,愛上開源!
以下為本期內(nèi)容|每月 28 號更新
C 項目
1、fastfetch:更快的系統(tǒng)信息查看工具。這是一個類似 neofetch 的命令行工具,可以在終端里概覽系統(tǒng)的相關(guān)信息。它采用 C 語言編寫,相較于 bash 寫的 neofetch 更快,顯示的信息包括操作系統(tǒng)、Shell、內(nèi)核、CPU、GPU、內(nèi)存等,目前支持 Linux、Android、FreeBSD、macOS 和 Windows 7+ 操作系統(tǒng)。

2、miniaudio:極簡易用的 C 語言音頻庫。這是一個單文件、零依賴、跨平臺的 C 語言音頻庫。它將各種主流操作系統(tǒng)的底層音頻 API 封裝成簡單易用的接口,讓你輕松實現(xiàn)音頻播放、錄制和處理等功能,適用于游戲引擎、實時通訊、嵌入式、離線批處理等場景。
#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:抬頭即見的開源課表工具。這是一款專為大屏設(shè)備打造的桌面課表應(yīng)用,可將課程表以簡潔組件的形式常駐桌面,取代傳統(tǒng)黑板課表。支持下課提醒、天氣信息、倒計時、密碼保護和課表導(dǎo)入等功能,適用于配備教室多媒體大屏、投影儀或智慧黑板的教室。

4、CrossPlatformDiskTest:多平臺硬盤性能測試工具。這是一款開源的存儲與內(nèi)存性能測試工具,適用于固態(tài)硬盤、機械硬盤、U 盤等存儲設(shè)備。支持順序和隨機讀寫測試,提供 IOPS 和 MB/s 等性能指標(biāo),兼容 Windows、macOS、Linux、Android 系統(tǒng)。

C++ 項目
5、Crow:類 Flask 的輕量級 C++ Web 框架。這是一款專為 C++ 開發(fā)者設(shè)計的輕量級 Web 框架,僅需引入頭文件即可輕松集成。它擁有類似 Python Flask 的簡潔易用路由 API,只需少量代碼即可快速搭建 Web 服務(wù),大幅降低 C++ Web 開發(fā)的門檻。
#include "crow.h"
int main()
{
crow::SimpleApp app;
CROW_ROUTE(app, "/")([](){
return "Hello world";
});
app.port(18080).multithreaded().run();
}
6、ShaderGlass:為 Windows 桌面實時添加酷炫特效。這是一款適用于 Windows 系統(tǒng)的著色器工具,能夠?qū)崿F(xiàn)圖像特效、復(fù)古顯示、視覺增強等多種疊加效果。它可以為你的屏幕或應(yīng)用窗口,實時添加一層“特效濾鏡”,內(nèi)置 CRT、圖像放大、像素化、色彩校正等經(jīng)典著色器。

7、vicinae:極速的原生桌面啟動器。這是一款基于 C++ 開發(fā)的桌面啟動器,不依賴 Electron 或瀏覽器。它速度快、易擴展、界面簡潔,專注于提升桌面操作效率,支持文件搜索、剪貼板歷史、內(nèi)聯(lián)計算器等功能。

Go 項目
8、fuck-u-code:自動檢測代碼屎山等級的工具。這是一款用于評估代碼“屎山等級”的工具,支持 Python、Java、Go 等多種編程語言。它能夠自動掃描指定目錄,深入分析項目代碼的混亂程度,并用犀利又搞笑的方式告訴你結(jié)果。來自 @wei-guang 的分享
9、git-who:Git 目錄級別的貢獻分析工具。這是一個用 Go 和 Ruby 語言開發(fā)的命令行工具,用于在 Git 倉庫中按目錄快速統(tǒng)計并可視化每位貢獻者的提交次數(shù)、代碼修改行數(shù)和活躍時間。

10、gonzo:終端用戶界面日志分析工具。這是一個用 Go 語言開發(fā)的終端(TUI)日志分析工具,靈感來自 k9s。它支持在終端界面下實時分析、過濾和可視化日志,結(jié)合 AI 提升日志洞察能力,適用于日常開發(fā)、運維和故障排查等場景。來自 @DeShuiYu 的分享

11、ntfy:開箱即用的跨設(shè)備推送通知服務(wù)。該項目是基于 HTTP 協(xié)議的開源推送通知服務(wù),支持通過 PUT/POST 請求跨設(shè)備推送消息。它采用 Go 語言開發(fā),用戶無需注冊即可通過命令行工具或簡單的 API 輕松發(fā)送通知,支持自定義通知內(nèi)容和自托管部署,并提供配套的 Android 和 iOS 客戶端。

Java 項目
12、kroki:支持多語法的輕量級圖表生成服務(wù)。這是一個支持多種文本描述生成圖表的服務(wù),提供統(tǒng)一 API 接口,支持?jǐn)?shù)十種主流圖表語法和格式,包括 PlantUML、Mermaid、Graphviz、C4、BlockDiag、BPMN、Excalidraw 等。來自 @塔咖 的分享

13、PeerBanHelper:提升下載體驗的 BT 反吸血工具。這是一款專為 BT(BitTorrent)用戶設(shè)計的反吸血工具,能夠自動識別并封禁只下載不上傳、不受歡迎或異常節(jié)點(peer),支持 qBittorrent、Deluge、BiglyBT、BitComet 等主流 BT 客戶端。

JavaScript 項目
14、CubeCity:卡通風(fēng)格城市建設(shè)模擬游戲。這是一款輕量級、卡通風(fēng)格的 2.5D 城市模擬游戲,基于 Three.js 和 Vue3 構(gòu)建。玩家可在瀏覽器中通過點選和拖放,實時建造、搬遷和拆除建筑。建筑會自動產(chǎn)出金幣,可用于新建或升級設(shè)施。游戲融合了環(huán)境、社會與治理(ESG)理念,城市規(guī)劃需兼顧多元需求,才能打造出可持續(xù)發(fā)展的理想城市。

15、lazy-brush:平滑手寫與簽名的 JavaScript 庫。這是一個用于平滑繪圖的 JavaScript 庫,支持通過鼠標(biāo)或手指流暢繪制畫筆軌跡。它采用“惰性畫筆”算法,有效減少手抖、鋸齒等問題,讓線條更加自然順滑,適用于畫板、簽名、手寫等多種場景。

16、mammoth.js:將 Word 文檔轉(zhuǎn)換為 HTML 的庫。這是一個用于將 Word 文檔(.docx)內(nèi)容轉(zhuǎn)換為 HTML 的 JavaScript 庫。它能夠提取文檔中的結(jié)構(gòu)信息,如標(biāo)題、列表、表格、腳注等,并映射為相應(yīng)的 HTML 標(biāo)簽。同時,忽略大部分樣式(如字體顏色、字號、邊距等),使得生成的 HTML 代碼更加簡潔、干凈。
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:高顏值一站式服務(wù)器管理平臺。這是一個基于 Web 的服務(wù)器管理平臺,集成了 SSH 終端、SSH 隧道、服務(wù)器監(jiān)控和文件管理等功能。它完全免費開源、可自托管,支持自動重連、文件上傳、分屏顯示和語法高亮等特性。來自 @DeShuiYu 的分享

18、websocket-devtools:開箱即用的 WebSocket 調(diào)試工具。這是一款專業(yè)的 WebSocket 調(diào)試與流量控制瀏覽器插件,安裝后會在 Chrome DevTools 面板中新增一個標(biāo)簽頁。操作便捷,支持 WebSocket 流量的實時監(jiān)控、消息模擬和流量攔截等功能。來自 @孤膽槍手 的分享

Kotlin 項目
19、goodtime:極簡省電的番茄時鐘工具。這是一個開源的 Android 時間管理工具,基于番茄工作法幫助用戶管理時間、提升專注力。它無廣告、無追蹤、完全離線,支持歷史記錄、彩色標(biāo)簽、熱力圖統(tǒng)計、專注/休息比率、自定義樣式等功能。來自 @ewiro 的分享

Python 項目
20、lutris:開源的 Linux 游戲平臺。這是一款專為 Linux 用戶設(shè)計的游戲管理平臺,采用 Python 編寫。它提供了友好的用戶界面,極大地簡化了 Linux 上的游戲安裝和配置過程,讓用戶能夠輕松安裝和管理各種游戲,支持連接 Steam、GOG、Humble Bundle 等多種游戲平臺,以及運行 Windows 游戲的功能。

21、pdfplumber:輕松提取 PDF 文本和表格的 Python 庫。該項目是基于 Python 的 PDF 解析與數(shù)據(jù)提取庫,可輕松提取文本和表格。它能夠精確獲取 PDF 文檔中每個字符、線條、矩形等元素的詳細(xì)位置、尺寸和字體信息,并支持一鍵生成頁面快照,方便調(diào)試。

22、pydoll:無需 WebDriver 的瀏覽器自動化 Python 庫。這是一個用于自動化操作 Chromium 內(nèi)核瀏覽器的 Python 庫。它通過原生 DevTools 協(xié)議(CDP)直接控制瀏覽器,無需依賴 WebDriver,支持繞過驗證碼、模擬真人交互、網(wǎng)頁截圖等功能。
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 創(chuàng)建應(yīng)用程序。該項目可以讓開發(fā)者在 HTML 文件中直接使用 Python 編程語言,像 JavaScript 文件一樣引入和執(zhí)行 Python 代碼,支持更小的 MicroPython、常見第三方庫和操作頁面元素等功能,適用于快速創(chuàng)建交互的數(shù)據(jù)可視化、網(wǎng)站原型和在線教育等 Web 應(yīng)用場景。來自 @Veeja Liu 的分享
<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 事件循環(huán)庫。這是一個僅約 300 行代碼的輕量級 Python 事件循環(huán)庫,為開發(fā)者提供比 asyncio 更加簡潔易用的異步編程體驗。
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 實戰(zhàn)教程。這是一個專為 Rust 初學(xué)者設(shè)計的快速入門教程,帶你一步步實現(xiàn)一個可用的命令行 Todo 應(yīng)用。
26、Seelen-UI:高度可定制的 Windows 桌面美化工具。這是一款免費開源的 Windows 桌面增強工具,專注于高度自定義和效率提升。它采用 Rust 語言開發(fā),結(jié)合 Tauri 框架與 Web 技術(shù),支持窗口平鋪管理、應(yīng)用啟動器、Dock、任務(wù)欄、動態(tài)壁紙、插件擴展等功能。來自 @Rainux He 的分享

27、xh:更友好的命令行 HTTP 客戶端。這是一個用 Rust 編寫的命令行 HTTP 客戶端,支持語法高亮、JSON 格式化、下載進度條、會話 Cookie 持久化等功能,可完美替代 cURL。來自 @DeShuiYu 的分享

Swift 項目
28、AirBattery:隔空查看蘋果設(shè)備電量的 Mac 工具。這是一款專為 macOS 設(shè)計的電量監(jiān)控工具,能在 Mac 菜單欄實時顯示 iPhone、iPad、AirPods 和 Apple Watch 等設(shè)備的電池電量。無需在 iOS 端安裝任何 App,即可在電腦端查看設(shè)備當(dāng)前電量、充電狀態(tài),并支持低電量提醒。

29、Ice:強大的 macOS 菜單欄管理工具。該項目是適用于 macOS 系統(tǒng)的菜單欄管理工具,它開箱即用、操作簡單,主要功能是隱藏和顯示菜單欄內(nèi)容,支持懸停顯示、點擊顯示、自動隱藏、設(shè)置菜單欄陰影、快捷鍵、開機啟動、自動更新等功能。

人工智能
30、how-to-build-a-coding-agent:從零實現(xiàn) AI 編程助手的實戰(zhàn)教程。這是一個教你用 Go 語言結(jié)合 Claude API,從零開發(fā)本地 AI 編程助手的項目。從簡單的聊天機器人開始,逐步實現(xiàn)文件操作、命令執(zhí)行、代碼編輯和搜索等功能。

31、parlant:給大模型立規(guī)矩的智能體開發(fā)框架。這是一款專為實際場景控制設(shè)計的 LLM 智能體開發(fā)框架,旨在解決傳統(tǒng) LLM 對話系統(tǒng)在復(fù)雜業(yè)務(wù)中難以精準(zhǔn)控制的問題。它通過自然語言定義智能體行為規(guī)則,靈活控制 AI 的對話行為,避免“幻覺”或偏離業(yè)務(wù)目標(biāo)。
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 模型訓(xùn)練跟蹤與可觀測平臺。這是一款專為 AI 模型訓(xùn)練打造的跟蹤、記錄、分析與協(xié)作工具,旨在幫助研究者優(yōu)化訓(xùn)練過程,提升團隊協(xié)作效率。它通過簡潔的 Python API 和直觀的界面,提供了訓(xùn)練可視化、自動日志記錄、硬件監(jiān)控、實驗管理和多人協(xié)同等功能。已集成 40+ 主流訓(xùn)練框架,適用于大模型訓(xùn)練、計算機視覺、音頻處理、AIGC 等任務(wù)場景。來自 @Ze-Yi LIN 的分享

33、WhisperLiveKit:開箱即用的本地語音轉(zhuǎn)寫工具。這是一款集實時語音轉(zhuǎn)文本、翻譯和說話人分離于一體的開源工具,自帶服務(wù)器端和 Web UI,一條命令即可私有化部署。它基于最新的增量流式技術(shù),無需聯(lián)網(wǎng)和寫前端代碼,就能實現(xiàn)超低延遲的會議實時記錄和跨語言交流。
# 使用 large-v3 模型,并將英語翻譯為中文
whisperlivekit-server --model large-v3 --language en --target-language zh
# 說話人分離,服務(wù)器監(jiān)聽 80 端口
whisperlivekit-server --host 0.0.0.0 --port 80 --model medium --diarization --language zh

其它
34、balatro-gba:年度撲克神作 GBA 移植版。這是一個將游戲《小丑牌》(Balatro)移植到 GBA 平臺的項目。為保護游戲版權(quán),該項目僅提供簡化版的《Balatro》,不會完整還原原作內(nèi)容,且需要用戶自行構(gòu)建 ROM 文件。

35、CookLikeHOC:老鄉(xiāng)雞菜譜開源版。該項目非老鄉(xiāng)雞官方出品,是作者基于《老鄉(xiāng)雞菜品溯源報告》等資料,歸納、整理了老鄉(xiāng)雞菜品的配方、制作流程及烹飪要點。來自 @孤膽槍手 的分享
36、flip-card:一張會“流動”的電子名片。這是一個將實時流體模擬效果呈現(xiàn)在一張名片大小硬件上的開源項目。它基于樹莓派 RP2350,采用 Rust 語言實現(xiàn)粒子模擬,整體硬件成本約 12 美元。

37、podman-desktop:免費開源的容器桌面管理工具。這是一款跨平臺、免費開源的容器與 K8s 桌面管理工具,為容器和 K8s 的構(gòu)建、管理與部署提供了直觀易用的桌面界面,支持 Podman、Docker、Lima、kind 等主流容器。

38、winboat:在 Linux 系統(tǒng)上輕松運行 Windows 應(yīng)用。這是一款無需復(fù)雜配置即可在 Linux 上運行 Windows 應(yīng)用的工具。通過圖形化向?qū)ё詣油瓿社R像拉取、容器創(chuàng)建和 RDP 配置,全程無需手動敲命令,就能讓 Windows 應(yīng)用以獨立窗口無縫呈現(xiàn)在 Linux 桌面。來自 @moyelx 的分享

開源書籍
39、ml-interviews-book:《Machine Learning Interviews Book》機器學(xué)習(xí)面試指南。這是一本免費開源的電子書,專為機器學(xué)習(xí)領(lǐng)域求職面試而設(shè)計,內(nèi)容涵蓋 ML 崗位類型、面試官評分視角、備戰(zhàn)路線,以及 200+ 道分級面試題。
最后
感謝參與分享開源項目的小伙伴們,歡迎更多的開源愛好者來 HelloGitHub 自薦/推薦開源項目。如果你發(fā)現(xiàn)了 GitHub 上有趣的項目,就點擊這里分享給大家伙吧!
本期有你感興趣的開源項目嗎?如果有的話就留言告訴我吧~如果還沒看過癮,可以點擊閱讀往期內(nèi)容。
感謝您的閱讀,如果覺得本期內(nèi)容還不錯的話 求贊、求分享 ??
作者:削微寒
掃描左側(cè)的二維碼可以聯(lián)系到我

本作品采用署名-非商業(yè)性使用-禁止演繹 4.0 國際 進行許可。


浙公網(wǎng)安備 33010602011771號