《HelloGitHub》第 100 期
HelloGitHub 分享 GitHub 上有趣、入门级的开源项目,每月 28 号更新一期。这里有好玩和入门级的开源项目、开源书籍、实战项目、企业级项目,让你用极短的时间感受到开源的魅力,对开源产生兴趣。
开源的摄影后期处理工具。这是一款免费且专业的摄影作品后期处理软件。它像一个虚拟的光桌和暗房,能够帮助摄影师存储数字底片、放大查看和检索照片。该软件可以显示照片的焦距和曝光度等信息,并支持编辑历史、地图模式和打印照片等功能。
完全开源的财务软件。这是一款适用于个人和小型企业的开源财务软件,它采用复式记账法,提供了简洁的操作界面,并支持生成报表、对账、多国货币,以及获取股票实时价格等功能,适用于 Windows、Linux 和 macOS 平台。
通用的 Git 凭据管理器。这是一个基于 .NET 开发的 Git 凭证存储和管理工具。它开箱即用、无需额外操作,使用 git 命令时,工具会自动引导完成登录,后续无需再次登录,轻松解决对远程 Git 仓库进行操作时遇到的需要登录和认证失败等问题,支持 GitHub、Bitbucket 和 GitLab 等平台。
基于 C# 的量化交易引擎。这是一款采用 C# 编写的开源、经过实战考验的量化交易引擎。支持使用 Python3 或 C# 编写交易算法,兼容 Windows、Linux 和 macOS 平台,适用于量化交易策略研究、回测和实盘交易等场景。
开源游戏《14 号空间站》。该项目是经典游戏《Space Station 13》的开源重制版。在这款回合制多人角色扮演的游戏中,玩家可以选择各种角色,如工程师、船长和叛徒,并与其他玩家合作或竞争,在资源有限的环境中生存。
开源的视频字幕编辑工具。这是一款适用于 Windows 的免费视频字幕编辑器。它开箱即用且功能强大,支持创建、调整、同步和翻录字幕,还提供了自动翻译、字幕格式转换和语音识别等功能。
直观比较两个 PDF 文件的工具。这是一款用 C++ 编写的 PDF 文件比较工具。它支持两种查看方式,将文件内容的差异输出到一个新的 PDF 文件,或直接在 GUI 中查看。
// 输出差异 diff-pdf --output-diff=diff.pdf a.pdf b.pdf // 直接查看 diff-pdf --view a.pdf b.pdf
交互式的 Dockerfile 调试工具。该项是基于 BuildKit 的交互式调试 Dockerfile 的工具,支持设置断点、单步执行和非 root 模式,并且可以在 VSCode 等编辑器中使用。
程序员专属的 SSH 聊天室。这是一个通过 SSH 连接的聊天室,用户无需安装客户端,仅需一条 SSH 命令即可登录。它支持私人消息、多聊天室、图片和代码高亮等功能,还可以集成第三方服务、自托管 SSH 聊天室。
Go 语言的表达式库。该项目是专为 Go 语言设计的表达式语言和求值引擎,支持丰富的算子和高级函数,具有安全、无副作用和静态类型检测等特点。表达式是一行由变量、运算符和函数组成的代码,它能够简化复杂的计算任务,多用于动态配置和业务规则引擎等场景。
func main() { // 表达式 code := `all(Tweets, {.Len <= 240})` program, err := expr.Compile(code, expr.Env(Env{})) if err != nil { panic(err) } env := Env{ Tweets: []Tweet{{42}, {98}, {69}}, } // 计算表达式 output, err := expr.Run(program, env) if err != nil { panic(err) } fmt.Println(output) }
快速查看磁盘使用情况的命令行工具。这是一个用 Go 语言编写的磁盘使用分析器,它能够快速扫描并展示文件和目录所占用的磁盘空间,支持 TUI(默认)、非交互和导出三种使用方式。
为你的云端文件“上锁”的工具。这是一款开源的云存储文件加密工具,支持 Dropbox、OneDrive 等主流云存储服务。它简单易用、跨平台、无需注册,采用 AES-256 加密上传至云存储的文件和目录,适用于需要备份数据至云端,又担心数据泄漏的场景。
直接编辑 JAR 文件的 IDEA 插件。这是一款 IntelliJ IDEA 插件,让你无需解压即可直接编辑 JAR 文件中的 class 和资源文件。它支持添加、删除、重命名 JAR 包内的文件和目录,并提供了搜索和复制 JAR 包内容等功能,兼容 SpringBoot 和 Kotlin 项目。
Minecraft 游戏的 Android 启动器。该项目可以让你在 Android 上玩 Minecraft(我的世界),提供了离线和多人联机模式。它支持几乎所有版本的 Minercraft,还可以安装 Forge、Fabric 和 OptiFine 等模组和加载器。
免费的可视化 Web 页面构建平台。该项目通过直观的可视化界面,让用户能够通过拖拽的方式,快速设计和构建网站的 HTML 模板。它所见即所得、移动端适配,适用于官网、新闻和 CMS 等类型的网站。
轻松创建骨架屏的 React 组件。该项目是用于创建页面加载时的占位图 React 组件,它体积小、易定制,提供了多种预设样式和示例代码,拿来即用极易上手,支持 React、Vue 和 Angular 等主流框架。
import { Code } from 'react-content-loader' const MyCodeLoader = () => <Code />
自托管的聊天机器人构建器。该项目通过可视化的拖拽界面,让用户能够轻松创建高级聊天机器人,并将其嵌入网站中。它提供了 30 多种聊天构建块,支持自托管、分析工具、自定义域名和品牌定制等功能,适用于在线客服和销售支持等场景。
极易上手的 JavaScript 打字动画库。该项目是专门用于创建打字动画效果的 JavaScript 库,它简单易用且 SEO 友好,支持删除效果、设置打字速度和循环次数等功能。
var typed = new Typed('.element', { strings: ["First sentence.", "Second sentence."], typeSpeed: 30 });
用于分析 WiFi 信号的 Android 应用。该项目是用 Kotlin 写的 WiFi 分析工具,它提供了直观的图表展示 WiFi 网络情况,支持识别周围的 WiFi、测量信号强度和查看频道拥挤程度等功能。
音频转录与翻译工具。该项目是基于 Whisper 的音频转录和翻译工具,它开箱即用且操作简单,支持语音转文字、音频翻译、多种语言和离线使用,适用于 macOS、Windows 和 Linux 平台。
简化浏览器自动化的 Python 库。该项目是基于 Selenium 的轻量级 Python 库,它通过提供更高级和易用的 API,让用 Python 编写浏览器自动化脚本变得更加简单和方便,支持 Chrome 和 Firefox 浏览器。
Python 的热重载工具。这是一个专为 Python 提供热重载功能的库,它支持在程序运行时修改和更新 Python 代码,无需重启程序。
# Loop over a function jurigged --loop function_name script.py jurigged --loop module_name:function_name script.py # Only stop on exceptions jurigged --xloop function_name script.py
更好用的 Python 排序集合库。该项目提供了 SortedList、SortedDict 和 SortedSet 三种数据结构,完全兼容 List、Dict、Set 内置数据类型的 API。尽管采用纯 Python 编写,其速度却可以媲美使用 C 扩展实现的 Python 库。
from sortedcontainers import SortedList sl = SortedList(['e', 'a', 'c', 'd', 'b']) # sl: SortedList(['a', 'b', 'c', 'd', 'e']) sl *= 10_000_000 sl.count('c') # 10000000 sl[-3:] # ['e', 'e', 'e'] from sortedcontainers import SortedDict sd = SortedDict({'c': -3, 'a': 1, 'b': 2}) # sd: SortedDict({'a': 1, 'b': 2, 'c': -3}) sd.popitem(index=-1) # ('c', -3) from sortedcontainers import SortedSet ss = SortedSet('abracadabra') # ss: SortedSet(['a', 'b', 'c', 'd', 'r']) ss.bisect_left('c') # 2
Python 代码质量分析工具。这是一款强大的 Python 代码度量工具,它能够计算多种代码指标,包括 McCabe 复杂度、Halstead 指标和可维护性指数,适用于 Python 代码质量评估和持续集成等场景。
$ radon cc sympy/solvers/solvers.py -a -nc sympy/solvers/solvers.py F 346:0 solve - F F 1093:0 _solve - F F 1434:0 _solve_system - F F 2647:0 unrad - F F 110:0 checksol - F F 2238:0 _tsolve - F F 2482:0 _invert - F F 1862:0 solve_linear_system - E F 1781:0 minsolve_linear_system - D F 1636:0 solve_linear - D F 2382:0 nsolve - C 11 blocks (classes, functions, methods) analyzed. Average complexity: F (61.0)
Windows 的平铺窗口管理器。这是一款专为 Windows 设计的桌面窗口管理工具,支持自动平铺窗口、管理多个虚拟桌面和多显示器等功能,适用于 Windows 10 及更高版本。
优化 Rust 二进制文件大小的方法。Rust 构建时默认不会优化二进制文件的大小,该项目介绍了如何在保证 Rust 程序功能完整的同时,减少二进制文件体积的工具和技巧,适用于嵌入式和物联网等对程序体积敏感的场景。
Rust 开发的 SQL 数据库缓存引擎。该项目是采用 Rust 开发的 Postgres 和 MySQL 数据库缓存层,支持自动维护缓存、缓存复杂的 SQL 查询结果和保持数据实时同步等功能。使用时无需改动代码即可集成到现有的应用和数据库之间,显著提升查询性能。
开源的 Apple TV 哔哩哔哩客户端。该项目是专为苹果电视(tvOS)设计的哔哩哔哩客户端,它可以用来观看 B 站上的视频、直播和弹幕,支持登录、投屏、搜索和历史记录等功能,就是安装有点麻烦。
在 Mac 上运行 iOS 游戏和应用的工具。该项目是专为 Apple Silicon Mac 设备(M 系列芯片)设计,用于运行 iOS 应用和游戏的工具。它通过模拟 iPad 环境和键盘映射功能,让用户可以在 Mac 电脑上玩 iOS 游戏,需自行下载 IPA 文件,适用于 macOS 12.0 或更高版本。
增强 LLM 上下文连续性的 Python 库。该项目能为多种主流的大型语言模型提供记忆层,它支持保存用户与 LLM 交互时的会话和上下文,并能实时动态更新和调整,从而增强 AI 的个性化,适用于学习助手、医疗助理和虚拟伴侣等需要长期记忆的个性化 LLM 应用。
from mem0 import Memory m = Memory() # Add result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"}) # Search related_memories = m.search(query="What are Alice's hobbies?", user_id="alice") # Update result = m.update(memory_id="m1", data="Likes to play tennis on weekends")
开箱即用的 AI 变声器。该项目是基于 VITS 的变声框架,仅需少量语音数据和普通的显卡,就能快速训练出高质量的语音转换模型。它提供了简单易用的 Web 和 GUI 界面,支持实时变声、人声和伴奏分离等功能。
极简的 GPT-4o 客户端。该项目是适用于 Windows、macOS 和 Ubuntu 的 GPT-4o 客户端,它拥有极简的用户界面,支持执行多种任务,包括读取屏幕、打开应用、系统音频和文本输入等。
简单易用的看直播工具。该项目可以让你在一个 APP 上看各种主流直播平台,并提供了 Android、iOS、macOS 和 Android TV 等客户端。
用复古终端 GIF 展示 GitHub 个人资料。该项目可以根据你的 GitHub 个人数据,生成复古风格的电脑启动 GIF 动画,展示你的 GitHub 个人资料。
书籍风格的 Hugo 主题。这是一个开源的 Hugo 主题,能够帮助用户轻松创建类似书籍的文档网站。它拥有简洁的设计、适配移动端、支持多语言,适用于技术文档、在线教程和书籍等场景。
开源的通用遥控器。该项目是用 ESP32 制作的通用遥控器,它拥有 2.8 英寸电容触摸屏、2000 毫安电池和实体按键,支持红外、WiFi 和蓝牙连接方式,能够控制各种家电。
Chrome 书签变成导航站。该项目可以通过简单的几步,将 Chrome 浏览器的书签,转换成一个美观且易用的导航页面。由于生成的是静态网站,因此无法自动同步新增的书签。
Windows 命令行安装软件的利器。该项目是类似于 Homebrew 的 Windows 命令行安装工具。它可以从命令行安装应用程序,具有消除权限弹窗、隐藏 GUI 向导、自动处理依赖和防止污染 PATH 环境变量等特点。
scoop install sudo sudo scoop install 7zip git openssh --global scoop install aria2 curl grep sed less touch scoop install python ruby go perl
《Git 和 GitHub 入门指南》。这是一本介绍 Git 和 GitHub 基础知识的开源书籍,内容包括安装 Git、GitHub CLI、分支管理和工作流程等实用知识。
《Machine Learning for Algorithmic Trading》配套代码。这是一本关于如何将机器学习应用于交易策略的书籍,该项目是书籍的配套代码和资源,包含 150 多个代码示例,涵盖了数据采集、模型训练和策略评估等方面。
- C 项目
- C# 项目
- C++ 项目
- Go 项目
- Java 项目
- JavaScript 项目
- Kotlin 项目
- Python 项目
- Rust 项目
- Swift 项目
- 人工智能
- 其它
- 开源书籍