《HelloGitHub》第 97 期 - V2EX
爱意满满的作品展示区。
xueweihan

《HelloGitHub》第 97 期

  •  
  •   xueweihan
    521xueweihan Apr 28, 2024 3978 views
    This topic created in 758 days ago, the information mentioned may be changed or developed.

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣!

    简介

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

    https://github.com/521xueweihan/HelloGitHub

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


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

    C 项目

    1 、freeswitch:运营商级的开源电话平台。这是一个支持 SIP 、WebRTC 等多种通信协议的开源通信框架,它作为一个多用途的软交换机,可以用来创建各种语音和消息服务,比如企业电话系统、虚拟呼叫中心、视频会议服务等。

    2 、NetHack:一款历史悠久的 Roguelike 游戏。这是一款经典的 Roguelike 单机游戏,玩家将扮演一位地下城的探险者去寻找神秘的 Yendor 项链。游戏的界面由 ASCII 字符组成,具有自由度高、难度大、地图随机生成和永久死亡的特点,被玩家称为可以玩一辈子的游戏。

    3 、rt-thread:小而美的物联网操作系统。这是一个由国人发起的开源物联网操作系统,具有优秀的可裁剪性和可扩展性。可以运行在 ARM Cortex-M0 芯片上的极小内核,到中等的 ARM Cortex-M3/4/7 系统,甚至是多核 64 位的 ARM Cortex-A 、MIPS32/64 等不同架构的处理器。同时还提供了功能丰富的组件和软件包,可帮助开发者快速构建嵌入式系统产品。来自 @阿基米东 的分享

    C# 项目

    4 、g-helper:一款轻量级的华硕奥创中心替代品。该项目是华硕笔记本奥创控制中心(游戏本控制软件)的开源替代品。它拥有简洁的界面和极低的系统资源占用等特点,支持无缝切换显卡模式、调节屏幕刷新率、风扇曲线、电源功耗、键盘灯光等功能。

    5 、WingetUI:带界面的 Windows 包管理器。该项目是一个为 Windows 常用的命令行包管理工具设计的用户界面,如 Winget 、Scoop 、Pip 、NPM 、.NET Tool 等。它的界面友好、设计美观、支持中文,通过它你可以轻松下载、安装、更新和卸载包管理器上发布的任何软件以及其它日常应用,如浏览器、PDF 阅读器等。

    C++ 项目

    6 、cppinsights:从编译器的视角看 C++ 的代码。这是一个基于 Clang 的开发工具,它可以将源代码转化成编译器的推导结果,让用户从编译器的视角深入了解代码的内部机制,可以用来展示和讲解抽象语法树( AST )和 C++ 语言的新特性。

    7 、stellarium:一款开源的天象模拟软件。该项目是天文爱好者必备神器,它能够精确地模拟/展示出头顶星空的景象,包括恒星、星座、行星、彗星等天体,支持选择时间和地点、放大观察、图解星座等功能,提供了 Windows 、Linux 、macOS 、iOS 和 Android 在内的多个平台客户端。

    8 、VideoPipe:跨平台的视频结构化和分析框架。这是一个用于视频分析和结构化的框架,采用 C++ 编写、依赖少、易上手。它就像一个管道每个节点相互独立,可自行搭配构建出不同类型的视频分析管道,适用于视频结构化、图片搜索、人脸识别、安防领域的行为分析(如交通事件检测)等场景。来自 @周智 的分享

    Go 项目

    9 、freeze:生成代码图片的终端工具。该项目可以将代码片段和终端输出,转换成 PNG 、SVG 和 WebP 格式的图片,它采用 Go 语言开发,特点是安装简单和易于使用,支持一条命令生成图片,也可以通过交互模式生成定制的图片。

    # macOS or Linux brew install charmbracelet/tap/freeze # Arch Linux (btw) pacman -S freeze # Nix nix-env -iA nixpkgs.charm-freeze 

    10 、jaeger:开源的分布式链路追踪平台。该项目是受到 Dapper 和 OpenZipkin 的启发,由 Uber 创建并开源的分布式调用链追踪平台。它可用于监控和诊断分布式应用(微服务),功能包括支持多语言、全链路追踪、上下文传递、性能指标、可视化和告警等。来自 @塔咖 的分享

    11 、opengist:GitHub Gist 的开源替代品。该项目将代码或文本片段存储于 Git 仓库中,用户可以通过 Git 命令或 Web 查看和修改内容,类似 GitHub 的 Gist 服务。它开源、可自托管,支持创建公开/私人片段、语法高亮、搜索代码、嵌入其它网站和修改历史等功能。

    Java 项目

    12 、CompreFace:免费、开源的人脸识别系统。该项目提供了用于人脸识别、检测、验证、头部姿势检测、性别和年龄识别的 REST API 服务,不用懂机器学习就能轻松集成到任何系统中。它后端采用 Java 编写,人脸识别是基于 FaceNet 和 InsightFace 实现,同时支持 Docker 部署。

    13 、fdroidclient:免费、开源的 Android 应用商店。该项目是 F-Droid 的 Android 客户端,专门收集各类开源安卓软件( FOSS )的应用商店。它里面大部分是免费且无广告的应用,如遇到资源加载慢的情况,可通过设置镜像源解决。

    Javascript 项目

    14 、cmdk:快速、无样式的命令菜单 React 组件。该项目可以帮助开发者轻松实现一个直观且功能丰富的命令菜单,类似于 K 快捷键唤起的交互式菜单,从而提升用户的交互体验,适用于各种 Web 应用。来自 @Daaihang Wong 的分享

    import { Command } from 'cmdk' const CommandMenu = () => { return ( <Command label="Command Menu"> <Command.Input /> <Command.List> <Command.Empty>No results found.</Command.Empty> <Command.Group heading="Letters"> <Command.Item>a</Command.Item> <Command.Item>b</Command.Item> <Command.Separator /> <Command.Item>c</Command.Item> </Command.Group> <Command.Item>Apple</Command.Item> </Command.List> </Command> ) } 

    15 、outline:开源的文档和团队知识库管理工具。这是一款用 React 和 Node.js 开发的在线文档编辑和协作工具,它界面美观、功能丰富、兼容 Markdown 的特点,支持中文和 Docker 部署。此外,它还提供了 Windows 、macOS 、iOS 和 Android 客户端,可作为私人 wiki 或中小型公司的内部文档和知识库平台。

    16 、Photo-Sphere-Viewer:用于显示 360° 球体全景的 Javascript 库。这是一个基于 Three.js 开发的全景照片查看器,提供了友好的交互和丰富的功能。它支持多种全景图格式和功能,包括 2:1 全景图、六面体全景图、全景图分片、显示文本、视频全景等。来自 @wanzij 的分享

    17 、strapi:全球领先的开源无头 CMS 。这是一款完全免费、采用 Javascript/TypeScript 开发的无头内容管理系统。它拥有开箱即用的 API 和友好的管理面板,自带权限管理、默认安全、SEO 友好等特点。Strapi 作为目前 GitHub 上最流行的开源内容管理系统之一,已成为多家世界 500 强公司的首选 CMS 。来自 @greatYe 的分享

    18 、tailwind-landing-page-template:免费、开源的落地页模板。该项目是基于 TailwindCSS 、React 和 Next.js 构建的落地页模板,它界面美观、代码简单、设计在线,适用于快速制作公司主页、活动落地页等。

    git clone 项目 yarn install yarn dev # http://localhost:3000 

    Kotlin 项目

    19 、breezy-weather:极简风格的 Android 天气应用。这是一款非常注重设计的天气应用程序,采用了 Material Design 设计语言。它简约干净、免费无广告、同时支持中文,可显示未来一小时的降水情况、空气质量、小时预报、实况天气、花粉、湿度等各种天气数据。

    Python 项目

    20 、dangerzone:将不可信文档转化为安全 PDF 的工具。这是一个确保文档安全的开源项目,它可以将存在潜在危险(来路不明、电子邮件附件)的 PDF 文件、办公文档或图片,在隔离的沙盒环境中进行转换,生成安全的 PDF 文件。

    21 、great-tables:用 Python 制作漂亮的表格。这个 Python 库可以用来制作实用且美观的表格。它提供了一套表格组件,通过组合不同的表格部分,如表头、表尾、行标签( stub )以及跨列标签( spanner labels )等,帮助 Python 开发者轻松制作漂亮的数据表格。来自 @Ted LI 的分享

    from great_tables import GT from great_tables.data import sp500 # Define the start and end dates for the data range start_date = "2010-06-07" end_date = "2010-06-14" # Filter sp500 using Pandas to dates between `start_date` and `end_date` sp500_mini = sp500[(sp500["date"] >= start_date) & (sp500["date"] <= end_date)] # Create a display table based on the `sp500_mini` table data ( GT(sp500_mini) .tab_header(title="S&P 500", subtitle=f"{start_date} to {end_date}") .fmt_currency(columns=["open", "high", "low", "close"]) .fmt_date(columns="date", date_style="wd_m_day_year") .fmt_number(columns="volume", compact=True) .cols_hide(columns="adj_close") ) 

    22 、python-miio:用于控制小米智能家电的 Python 库。该项目提供了一个 Python 库和命令行工具,可以用来控制使用小米的 miIO 和 MIoT 协议的设备。借助它用户可以轻松地与小米智能设备进行通信和远程控制,包括扫地机器人、灯泡、空气净化器等,非常适合喜欢 DIY 智能家居系统的开发者。

    23 、undetected-chromedriver:绕过反爬检测的 Python 库。这是一个经过优化的 Selenium WebDriver 补丁,专门用于防止浏览器自动化过程中,触发反机器人机制。它能够隐藏浏览器特征(指纹),使用起来十分方便,就像一个 Python 的第三方库一样。

    import undetected_chromedriver as uc driver = uc.Chrome(headless=True,use_subprocess=False) driver.get('https://nowsecure.nl') driver.save_screenshot('nowsecure.png') 

    24 、wereader:功能全面的微信读书笔记助手。这是一个基于 PySide6 编写的微信读书桌面客户端,不仅支持阅读书籍的功能,还有笔记模式,可查看你的全部读书笔记和热门划线等内容。

    Rust 项目

    25 、grex:自动生成正则表达式的命令行工具。当你不知道如何写正则的时候,或许它能派上用场。该项目是用 Rust 语言开发的命令行工具,它可以根据用户提供的示例内容返回对应的正则表达式,可以作为库或命令行工具使用。来自 @size_t 的分享

    26 、sqlx:强大的 Rust 异步 SQL 工具包。这是一个真正的异步 SQL 库,完全使用 Rust 语言开发,支持 PostgreSQL 、MySQL 、MariaDB 、SQLite 数据库。它提供了编译时检查查询语句和自动缓存语句等功能,让 Rust 语言和 SQL 数据库之间的交互变得轻松且高效。

    use sqlx::postgres::PgPoolOptions; // use sqlx::mysql::MySqlPoolOptions; // etc. #[async_std::main] // Requires the `attributes` feature of `async-std` // or #[tokio::main] // or #[actix_web::main] async fn main() -> Result<(), sqlx::Error> { // Create a connection pool // for MySQL/MariaDB, use MySqlPoolOptions::new() // for SQLite, use SqlitePoolOptions::new() // etc. let pool = PgPoolOptions::new() .max_connections(5) .connect("postgres://postgres:password@localhost/test").await?; // Make a simple query to return the given parameter (use a question mark `?` instead of `$1` for MySQL/MariaDB) let row: (i64,) = sqlx::query_as("SELECT $1") .bind(150_i64) .fetch_one(&pool).await?; assert_eq!(row.0, 150); Ok(()) } 

    27 、zero-to-production:用 Rust 从零构建一个电子邮件通信服务。该项目仅是《 Zero To Production In Rust 》一书的配套项目源码,并没有提供书。这本书是介绍如何用 Rust 从零构建一个电子邮件通信服务,包含开发环境配置、持续集成流程、后端 API 开发、错误处理以及部署的全过程。

    Swift 项目

    28 、pika:适用于 macOS 的原生颜色选择器。这是一个专为 macOS 设计的颜色选择工具,它免费、快速、易用,让你能够在屏幕上快速找到色值。

    29 、reminders-menubar:极简的 macOS 菜单栏提醒工具。这是一款使用 SwiftUI 开发的小工具,能够在 macOS 菜单栏查看/提醒待办事项。它体积小、交互简单、界面清爽,支持开机启动、多语言(包括中文)、菜单栏显示计数、快捷键等功能。

    其它

    30 、cat-catch:开源的媒体嗅探浏览器插件。这个名为「猫爪」的浏览器插件,可以帮你列出当前页面的音乐和视频资源的下载地址。

    31 、containers:各种开源软件的容器镜像集合。这个项目是由 BitNami 维护和开源的 Docker 容器集合,包含各种开源软件、系统和 Web 应用。它们都经过了优化和漏洞扫描,可实现 Docker 一键部署,轻松部署应用,无需繁琐的安装和配置过程。

    docker pull bitnami/APP docker pull bitnami/APP:[TAG] 

    32 、ServiceLogos:超可爱的 Logo 集合。这里是用来存放 Sawaratsuki 制作的各种 logo 的仓库,这些 logo 制作精美、画风可爱,包括编程语言、框架、工具和各大社交媒体的商标。

    33 、ungoogled-chromium:更纯净的 Chrome 浏览器。该项目是一个移除了 Chrome 浏览器中谷歌服务的浏览器,保留了完整的浏览器功能。

    34 、web-activity-time-tracker:追踪你的上网活动时间的浏览器插件。这是一款无广告、开源的浏览器插件,能记录你在不同网站上的浏览时间,并提供直观的统计数据。它支持按天和小时统计浏览时间、过滤干扰网站、导出数据等功能。

    开源书籍

    35 、how-to-learn-robotics:机器人学自学指南。这本指南专为非科班的小伙伴而设计,旨在指导他们如何学习机器人学。它包含了必备知识、入门教材推荐、实践项目以及进阶方法等内容,帮助读者逐步成长为一名优秀的机器人工程师。

    36 、llm-universe:《动手学大模型应用开发》。该项目是专为小白开发者设计的大模型应用开发教程。内容涵盖了大模型的概念介绍、如何调用大模型 API 、知识库的搭建、构建 RAG ( Retrieval-Augmented Generation )应用以及评估方法等内容。

    机器学习

    37 、langchain:构建基于 LLM 应用的框架。LLM 是基于大数据预先训练好的大型深度学习模型,该项目可让 LLM 无需再训练就能访问新的数据集。它提供了开发 LLM 应用所需的各种模块,包括连接上下文来源和基于 LLM 进行推理的功能,从而轻松开发由 LLMs 支持的各种应用,比如聊天机器人、知识库和信息提取等。

    38 、LLaMA-Factory:专门针对 LLM 做微调的框架。这是一个让微调大型语言模型变得轻松的开源项目,它支持 LLaMA 、Mistral 、ChatGLM 等多种模型,以及增量预训练、奖励模型训练和精度等级等功能。引入了先进的算法和实用的微调技巧,同时提供了便捷的监控工具,方便用户追踪实验进度。

    39 、ollama:本地运行各种 LLM 的工具。这是一个用 Go 语言写的工具,用于在本地一条命令安装、启动和管理大型语言模型,支持 Llama 3 、Gemma 、Mistral 等大模型,适用于 Windows 、macOS 、Linux 操作系统。

    40 、vanna:与你的 SQL 数据库聊天。该项目使用 LLM+RAG+数据库技术,让用户能够通过自然语言查询 SQL 数据库,用生成的 SQL 回答你的问题。

    最后

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

    感谢您的阅读!

    6 replies    2024-04-30 09:44:59 +08:00
    jifengg
        1
    jifengg  
       Apr 28, 2024
    继续支持!
    orange323787
        2
    orange323787  
       Apr 28, 2024
    很不错啊
    molezznet
        3
    molezznet  
       Apr 29, 2024
    有 2 个工具挺好用的,outline 不太方便
    jpyl0423
        4
    jpyl0423  
       Apr 29, 2024
    不错,发现几个有意思的工具
    nickxudotme
        5
    nickxudotme  
       Apr 29, 2024
    Jaeger 应该不用推荐了吧...我感觉已经有点老东西了((
    PolarFleece
        6
    PolarFleece  
       Apr 30, 2024
    支持
    About     Help     Advertise     Blog     API     FAQ     Solana     3282 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 99ms UTC 11:41 PVG 19:41 LAX 04:41 JFK 07:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86