Jason Pan

GitHub 每周热点(241013)

潘忠显 / 2024-10-13


本周 GitHub Trending 项目榜单,共有项目 18 个。

比较新的项目 screenpipe 是个基于屏幕录制的个人AI工具,Shardeum 是个区块链的项目。

好多长期上榜的项目,比如:TheAlogrithms Python和 Java 算法学习项目,微软的生成式 AI 教程,远程工作清单。有两个 DPI 规避工具也有上榜,不太方便介绍。

在其他的项目介绍中,我还会带来了一些冷知识:你知道免费的 FireFox 一年是如何赚5亿美元的?Telegram的客户端竟然是开源的?还有任天堂还有裸眼3D的游戏机?

欢迎关注公众号“老白码农在奋斗”,不定时更新GitHub热点

TheAlgorithms/Python - Python实现所有算法

总 Star: 191076, 本周新增 Star: 3973

TheAlgorithms

仓库https://github.com/TheAlgorithms/Python

外部链接https://the-algorithms.com/

The Algorithms - Python 专注于在 Python 中实现各种算法和数据结构。

它提供了计算机科学和编程中常用的算法和数据结构的集合。由于重点是学习,实现可能不如标准库高效

还提供了通过Gitpod.io进行便捷运行和编辑算法的功能(Gitpod.io是一个免费的在线开发环境,只需点击一次即可使用)

它还包括CI/CD工作流状态、pre-commit集成以及使用black进行代码风格强制执行。对于那些对在 Python 中学习和实现算法和数据结构感兴趣的人来说,这个项目是一个宝贵的资源。

TheAlgorithms/Java - Java实现所有算法

总 Star: 59476, 本周新增 Star: 493

仓库https://github.com/TheAlgorithms/Java

The Algorithms - Java 和上边介绍的 The Algorithms - Python 都在 TheAlgorithms 组中,是一个用Java实现的算法集合,重点在于教育和学习。具体的特点跟上边 The Algorithms - Python 项目一样。

lukasz-madon/awesome-remote-job - 远程工作资源清单

总 Star: 31805, 本周新增 Star: 2325

仓库https://github.com/lukasz-madon/awesome-remote-job

这个项目精心整理了与远程工作相关的资源清单,旨在提供一个全面的资源收集,以支持和促进远程工作

它包括了关于远程工作的文章、视频、书籍、职位发布板、住房、搬迁奖励、面试技巧、活动、简报、播客以及远程工作的工具。此外,它还包含了关于具有"远程基因“的公司信息、问答、社区、会议以及远程工作的法律和财务方面的信息。

awesome-and-horrible-remote-work

这里有些文章挺有意思,后边有机会再分享给大家。

remote-work-article

microsoft/generative-ai-for-beginners - 构建生成式AI应用的课程

总 Star: 63721, 本周新增 Star: 1468

简介:21节课程,介绍如何构建生成式人工智能应用

仓库https://github.com/microsoft/generative-ai-for-beginners

外部链接https://microsoft.github.io/generative-ai-for-beginners/

项目“初学者的生成式人工智能”是一个包含21节课的系列教程,旨在教学如何开始构建生成式人工智能应用程序,也涵盖生成式人工智能的基础知识。

项目提供了一个单独的引导页面,网址 https://microsoft.github.io/generative-ai-for-beginners/

我抓了一下课程列表,希望学习和探索生成式人工智能的同学,有兴趣的可以看看。

generative-ai-for-beginners

此外,该项目还提供了一个Discord服务器,用于讨论和支持与生成式人工智能开发相关的话题。

shardeum/shardeum - EVM自动扩展区块链

总 Star: 18512, 本周新增 Star: 3997

shardeum-logo

仓库https://github.com/shardeum/shardeum

外部链接https://shardeum.org/

Shardeum是一款创新的符合EVM标准的区块链平台,利用动态状态分片技术实现了前所未有的可扩展性。通过实施分片模型,Shardeum确保更快的处理时间和更低的交易成本,而不会影响安全性或去中心化。

主要特点包括:通过分片实现可扩展性、低延迟和高吞吐量的高性能、先进的加密技术和强大的共识协议以确保安全性、真正的去中心化且没有单点故障、以及对现有DApps和智能合约的EVM兼容性。

该项目需要依赖 Node.js、npm、Rust,以及可选的Docker用于容器化。有详细的入门指南、本地网络运行指南、使用MetaMask进行测试的指南,以及参与项目的指南。

mediar-ai/screenpipe - AI 屏幕总结辅助软件

总 Star: 7435, 本周新增 Star: 1070

screenpipe-logo

仓库https://github.com/mediar-ai/screenpipe

外部链接https://screenpi.pe

Screenpipe 是屏幕工作流工具,适用于各种需要持续屏幕和音频捕获的场景,是 Rewind.ai 和 Zapier 的替代方案。它为终端用户提供了强大的个性化AI工具,同时其开源和跨平台的特性也是很多人和企业的理想选择。

通过支持多设备和插件扩展,Screenpipe能够满足广泛的需求,帮助用户构建高效的AI工作流。

采用Rust语言开发,7x24h 本地AI屏幕和麦克风录制。与Ollama一起使用,结合使用本地的 Llama3.2 模型。

可能的应用场景

Pythagora-io/gpt-pilot

总 Star: 31185, 本周新增 Star: 915

简介:自称“第一个真正的AI开发者”

仓库https://github.com/Pythagora-io/gpt-pilot

GPT Pilot是一个创新工具,不仅能够生成代码,还能够构建应用程序。

通过视频介绍,看上去界面跟其他 AI 辅助编程软件差不多,会有小窗口进行交互。它提供了一系列功能和能力,如需求、使用 gpt-pilot 入门、示例、在Docker中运行 gpt-pilot、CLI参数,以及关于GPT Pilot工作原理的解释。

gpt-pilot

LadybirdBrowser/ladybird - 网络浏览器

总 Star: 20804, 本周新增 Star: 584

简介:真正独立的网络浏览器

仓库https://github.com/LadybirdBrowser/ladybird

外部链接https://ladybird.org

Ladybird是一个独立的网络浏览器,使用基于网络标准的独特引擎。它目前处于pre-alpha阶段,旨在为现代网络提供良好的性能、稳定性和安全性。其最初是 SerenityOS 业余操作系统项目的 HTML 查看器,如今已发展成为支持 Linux、macOS 和其他类 Unix 系统的跨平台浏览器。

ladybird-feature

Ladybird 继承了 SerenityOS 的核心库支持组件,包括网络渲染引擎、JavaScript引擎、WebAssembly实现、加密原语、2D图形库等。

我在看到的这个项目的时候,就有个疑问为什么需要一款全新的浏览器? 恰好其官网上有联合创始人的一个分享,看上去格局比较大:

如今,每个主流浏览器引擎都是开源的,这很棒,但仍有一个问题:它们都由谷歌的广告帝国资助。Chrome、Edge、Brave、Arc 和 Opera 都使用谷歌的 Chromium。苹果获得了数十亿美元,以使谷歌成为 Safari 的默认搜索引擎,而 Firefox 也有类似的交易,每年获得数亿美元。

网络太重要了,以至于不能只有一个主要的资金来源;而这个资金来源又太重要了,以至于不能只有广告。

ocornut/imgui - C++图形库

总 Star: 60371, 本周新增 Star: 536

简介:亲爱的 ImGui:精简的 C++ 图形用户界面,最小化依赖。

仓库https://github.com/ocornut/imgui

imgui

Dear ImGui 是一个精简的 C++ 图形用户界面库。核心代码仅包括几个平台无关的文件,可以轻松地在应用程序/引擎中编译它们,最小化依赖。

IMGUI 范式通过其 API 尝试从用户的角度最小化多余的状态重复、状态同步和状态保留。与传统的保留模式界面相比,它更不容易出错(代码更少,错误更少),并且适合创建动态用户界面。

该项目强调在单个位置管理状态的重要性。他这里引用的一句话挺有意思:

state-sync

ManimCommunity/manim - 数学动画创建框架

总 Star: 21885, 本周新增 Star: 419

image-20241013095427919

简介:一个由社区维护的用于创建数学动画的。

仓库https://github.com/ManimCommunity/manim

外部链接https://www.manim.community

Manim 是一个专为制作数学解说视频而设计的动画引擎,使用 Python 实现。它以生成高质量动画和可视化来解释数学概念而广受欢迎。Manim支持多个平台,包括PyPI、Docker和Jupyter笔记本,并遵循MIT许可证。

该项目得到了强大的社区支持,并提供了全面的文档,使其适用于广泛的用户群。

下边有一个公式的例子,一个角变化的例子:

manim-demo1 manim-demo2

maybe-finance/maybe - 个人财务管理工具

总 Star: 30780, 本周新增 Star: 390

maybe-logo

仓库https://github.com/maybe-finance/maybe

外部链接https://maybe.co

Maybe 是一个开源的个人理财和财富管理应用,赋予用户控制自己财务的能力。该应用提供的功能,诸如“咨询顾问”功能等功能,使用户能够与财务顾问(CFP/CFA)联系,需要额外的订阅。

最初是2021年~2022年作为商业产品在开发,后来没成功,在2023年开源了。

它是个 Web 应用,可以本地部署服务(自托管),也可以托管在他们提供的官网上。

Maybe-Screenshot

e2b-dev/fragments

总 Star: 2813, 本周新增 Star: 389

简介:这是一个由 E2B 提供支持的用于构建完全由 AI 生成的应用程序的开源 Next.js 模板。

仓库https://github.com/e2b-dev/fragments

外部链接https://fragments.e2b.dev

Fragments 项目是 Anthropic 公司的 Claude Artifacts、Vercel v0 和 GPT Engineer 的开源实现,由 E2B SDK 提供支持。它基于 Next.js 14、shadcn/ui、TailwindCSS 和 Vercel AI SDK 构建。该项目允许使用 E2B SDK 安全执行 AI 生成的代码,并支持 UI 中的流式传输。此外,它可以安装和使用来自 npm 和 pip 的任何软件包,并支持各种堆栈和 LLM 提供者。要开始使用,用户需要克隆存储库,安装依赖项,并设置必需的环境变量,包括 E2B API 密钥和 LLM 提供者 API 密钥。

该项目的关键特性包括使用 E2B SDK 进行安全代码执行、支持各种编程堆栈和 LLM 提供者,以及在 UI 中进行流式传输的能力。此外,它提供了一种方便的方式来安装和使用来自 npm 和 pip 的软件包。

ToolJet/ToolJet - 低代码平台

总 Star: 29510, 本周新增 Star: 361

tooljet-logo

仓库https://github.com/ToolJet/ToolJet

外部链接https://tooljet.com

ToolJet 是一个开源的低代码框架,旨在通过最小的工程投入简化内部工具的开发和部署。使用JavaScript/TypeScript构建。

它的拖放式前端构建器使得快速创建复杂、响应式的前端成为可能。

该框架还支持集成各种数据源,包括诸如PostgreSQL、MongoDB 和 Elasticsearch 等数据库,符合 OpenAPI 规范和 OAuth2 支持的 API 端点,诸如 Stripe、Slack、Google Sheets、Airtable 和 Notion 等SaaS工具,以及用于数据检索和操作的对象存储服务,如S3、GCS和Minio。

ToolJet-page

rolldown/rolldown - JS/TS打包工具

总 Star: 8428, 本周新增 Star: 297

rolldown-logo

仓库https://github.com/rolldown/rolldown

外部链接https://rolldown.rs

Rolldown 是一个使用Rollup兼容的 API 的 JavaScript/TypeScript 打包工具,使用 Rust 编写,高效且有很好的跨平台兼容性。旨在作为 Vite 未来使用的打包器(目前 Vite 使用 Rollup 打包),能够提供高效可靠的支持以生成 npm 软件包的工具。

补充点背景知识:什么是 Vite。Vite 是一个基于浏览器原生 ES imports 的开发服务器,利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随启随用,它是下一代前端开发与构建工具。

在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。

TelegramMessenger/Telegram-iOS

总 Star: 6237, 本周新增 Star: 266

仓库https://github.com/TelegramMessenger/Telegram-iOS

这个项目是一个编译Telegram iOS源代码的指南。为什么会有编译Telegram iOS的需求呢?

Telegram-iOS

Telegram是跨平台的即时通信软件,其客户端是自由及开放源代码软件(FOSS),但服务端是专有软件。用户可以相互交换加密与自毁消息,发送照片、影片等所有类型文件。换句话说,你可以基于其 API 和源代码,自己修改客户端代码,然后构建。

该项目提供了开发者如何获取自己的API ID、创建自己的Telegram应用程序,并使用Xcode编译源代码的指导。还包括快速和高级编译指令,以及配置调整和Xcode设置。

想象一下,要是哪天QQ或者微信客户端也开源了,是不是也挺有意思的?

PabloMK7/citra - 任天堂的3DS模拟器

总 Star: 3583, 本周新增 Star: 149

仓库https://github.com/PabloMK7/citra

一个用 C++ 编写的免费开源的任天堂的3DS(Nintendo 3DS)模拟器/调试器。该模拟器接受**.3ds、.cia 或 .cxi 格式**的游戏。上榜可能是因为2周之前发布了一个新版本。

任天堂3DS,是任天堂于2011年至2020年推出的便携式游戏机。最大特点是利用了视差障壁技术,让使用者不需配戴任何特殊眼镜即可裸眼感受到立体3D图像效果

Nintendo-3DS