Github Daily Trending
- 发布于
本文汇总了多个热门开源项目:ACI.dev是一个AI代理连接工具平台的开源基础设施;Union是用于去中心化金融的高安全零知识跨链协议;Atmosphere是Nintendo Switch的开源定制固件;Deep-Live-Cam实现了照片或视频的实时AI换脸功能;Cloudflare MCP服务器通过自然语言连接LLM与Cloudflare服务;AWS SDK for Java v2是官方Java开发工具包的新版本;Chris Titus Tech的Windows Utility简化了安装、优化和维护任务;Python-100-Days是一份从零基础到精通Python的教程;Headscale是开源自托管的Tailscale控制服务器实现;KOReader是功能丰富的跨平台电子书阅读器;Jujutsu是简单强大的Git兼容版本控制系统;Zero是注重隐私安全的开源AI邮件应用;System-Design-Primer集合了学习大型系统设计和准备面试的资源;MNN是阿里巴巴的高性能轻量级深度学习推理框架;Pydantic是基于Python类型提示的高效数据验证库。这些项目涵盖了人工智能、区块链、游戏主机定制、多媒体处理、云服务交互、软件开发工具、系统管理、教育、网络基础设施、电子书阅读和版本控制等多个技术领域。
aipotheosis-labs / aci
ACI.dev 是一个开源平台,通过多租户认证、细粒度权限以及直接函数调用或统一的 MCP 服务器访问,将您的 AI 代理连接到 600 多个工具集成
作者: aipotheosis-labs | 仓库: Github 链接 | 语言: Python
项目简介
ACI.dev:连接AI智能体与丰富工具集成的开源基础设施
ACI.dev是一个开源平台,旨在解决AI智能体在利用外部工具和服务时面临的核心挑战,尤其是在认证、权限管理和工具发现方面。它提供了一个基础设施层,能够将AI智能体连接到超过600个预构建的工具集成,支持多租户认证、精细的权限控制以及动态的工具发现。
平台允许智能体通过直接函数调用或统一的MCP(Model-Context-Protocol)服务器访问这些工具。这意味着开发者无需为每个服务编写复杂的OAuth流程和API客户端,ACI.dev可以统一管理认证和授权,并以统一、安全的方式向AI智能体暴露功能。
ACI.dev的核心功能包括:海量的工具集成、灵活的访问方式(MCP服务器或SDK)、内置的多租户认证和密钥管理、基于自然语言的权限边界以提高智能体可靠性、以及框架和模型无关性。这些特性使其适用于构建各种生产就绪的AI智能体应用,例如个人助理、研究助手、销售自动化和客户支持机器人。
该项目完全开源,遵循Apache 2.0许可证,包含后端服务、前端开发者门户和集成模块。开发者可以通过本地部署或使用托管服务来快速开始。项目提供了详细的文档、工具列表、Python SDK以及构建在ACI.dev之上的Unified MCP Server和智能体示例的链接。项目欢迎社区贡献,并提供了集成请求模板方便用户提出新的工具需求。
unionlabs / union
为抗审查、极高安全性和在去中心化金融中使用而设计的、最小化信任、零知识的跨链协议
作者: unionlabs | 仓库: Github 链接 | 语言: Rust
项目简介
Union:一种高安全、抗审查的零知识证明跨链协议
Union 是一个致力于高安全性、抗审查和应用于去中心化金融(DeFi)的零知识证明跨链协议。该协议采用信任最小化的设计,其核心机制是“共识验证”(Consensus Verification),与依赖于受信任第三方、预言机、多重签名或 MPC(多方计算)的传统跨链方案不同,Union 旨在提供更高的安全性和去中心化属性。
Union 协议的关键特性包括:
- 信任最小化和零知识证明: 利用零知识证明技术,允许在不泄露敏感信息的情况下进行验证,从而最小化对第三方的信任。
- 抗审查性: 协议的设计考虑了审查阻力,提高了在不同网络环境下运行的鲁棒性。
- 极高的安全性: 通过共识验证等机制,Union 专注于提升跨链操作的安全性。
- DeFi 应用: 定位于去中心化金融领域,方便在不同区块链之间进行资产转移、NFT 操作以及更复杂的 DeFi 交互。
Union 兼容 Cosmos 生态中的 IBC(跨链通信协议),并计划连接到以太坊、Berachain、Arbitrum 等 EVM 兼容链,实现跨链的互操作性。
该项目由多个核心组件组成,包括用于节点实现的 uniond
(Go 语言), 零知识证明生成器 galoisd
(Go/Gnark), 高性能跨链中继器 voyager
(Rust), 多生态通用消息传递索引器 hubble
(Rust), CosmWasm 智能合约栈 (Rust), 用于不同生态系统的轻客户端 (Rust), 生产级节点监控工具 unionvisor
(Rust), Cosmos 链龙头 drip
(Rust), EVM 智能合约栈 (Solidity), 用户界面应用 app
(TypeScript/Svelte) 以及用于交互的 TypeScript SDK (TypeScript)。
项目的迭代和演进,包括合约升级、连接维护和协议变更,将通过去中心化治理进行控制,以确保项目的优先级与用户、验证者和操作者保持一致。
对于开发者而言,Union 项目提供了利用 Nix 工具进行可复现构建和管理开发环境的能力,简化了依赖管理和组件开发流程。
Atmosphere-NX / Atmosphere
Atmosphère 是一个正在开发中的 Nintendo Switch 自定义固件。
作者: Atmosphere-NX | 仓库: Github 链接 | 语言: C++
项目简介
任天堂 Switch 定制固件 Atmospheric:核心功能与开发概览
Atmosphere 是一个正在积极开发中的、针对任天堂 Switch 游戏机的定制固件项目。它的主要目标是提供一个经过修改的、功能更强大的系统环境,允许用户执行官方固件不包含的操作和功能。
该项目并非一个单一的软件,而是由多个组件协作构成,每个组件负责替换或修改系统内的特定部分。这些组件包括:
- Fusée: 第一阶段加载器,负责加载和验证后续阶段的固件组件,并进行必要的补丁。
- Sept: 用于支持早期固件版本(如 7.0.0)运行时密钥派生的有效载荷。
- Exosphère: 定制的 TrustZone 组件,管理安全监控。
- Thermosphère: EL2 EmuNAND 支持,用于创建和使用虚拟化的 NAND 镜像。
- Stratosphère: 定制系统模块,扩展内核功能并处理重要的系统操作。
- Troposphère: 应用层面的 Horizon OS 补丁,实现定制固件的各种功能。
Atmosphere 项目遵循 GPLv2 许可协议,但特别指出任天堂公司可以根据其选择,在零条款 BSD 许可下使用项目中的任何源代码。这表明项目在鼓励开放协作的同时,也处理了与官方厂商之间的许可关系。
项目的开发由 SciresM、TuxSH、hexkyz 和 fincs 等核心成员以及众多贡献者共同推进。项目的成功也得益于社区的力量,包括 switchbrew 的 libnx 和详细文档,devkitPro 提供的开发工具链,ReSwitched Team 的研究成果,以及其他为文件系统、硬件初始化、emuMMC 等方面做出贡献的个人和团队。
总体而言,Atmosphere 是一个复杂的、多组件协同工作的定制固件,为 Nintendo Switch 用户提供了超越官方系统的可能性,并且是一个活跃的开源社区协作的成果。
hacksider / Deep-Live-Cam
实时换脸和单张图片一键生成视频换脸伪造
作者: hacksider | 仓库: Github 链接 | 语言: Python
项目简介
Deep-Live-Cam:实时换脸和一键视频 Deepfake
Deep-Live-Cam 是一个开源项目,能够实现基于单张图片的实时人脸替换(换脸)和一键生成视频 Deepfake。该项目旨在成为 AI 生成媒体行业的实用工具,可用于艺术家为自定义角色制作动画、创建引人入胜的内容以及服装设计等。
项目特色和用途包括:实时性的所有功能,如“嘴部遮罩”功能可以保留原始人物的嘴部动作以保证更准确的运动,支持在多个主体上同时应用不同的面部(人脸贴图),可以在线观看视频时实时替换视频中的人脸,以及用于直播、创作表情包和在视频通话中使用的多种场景。
项目提供针对 Windows 系统的预编译版本(尤其推荐给非技术用户或拥有 NVIDIA/AMD 显卡的用户),承诺比开源版本领先 60 天。同时也提供了详细的手动安装指南,支持 Windows、Linux 和 macOS 等平台,并提供了配置 GPU 加速(Nvidia CUDA、Apple Silicon CoreML、DirectML 和 Intel OpenVINO™)的方法。安装过程相对复杂,需要一定的技术能力。
该项目强调道德使用,内置了检查机制,防止处理不雅内容(如裸露、暴力、敏感资料等)。项目方承诺遵守法律和道德规范,并可能根据法律要求停止项目或添加水印。使用者需自行承担责任,若使用真人面部,应获得许可并在分享时明确标记为 Deepfake。
使用上,Deep-Live-Cam 支持图像/视频模式和网络摄像头模式。在图像/视频模式下,选择源面部图像和目标图像/视频即可开始处理;在网络摄像头模式下,选择源面部图像后点击“Live”,等待预览出现即可通过屏幕捕获工具进行直播。
项目还提供了丰富的技巧和窍门,帮助用户优化使用体验,例如如何创建高质量 Deepfake 图像、在视频通话中使用、实现多人换脸、实时观看 deepfake 电影、提高质量不牺牲速度以及快速创建虚拟角色等。
该项目因其功能受到多家媒体的关注和报道。项目的成功离不开众多贡献者和使用的第三方库的支持,包括 ffmpeg、insightface 等。项目的许可证为 AGPL-3.0。
cloudflare / mcp-server-cloudflare
标题:
作者: cloudflare | 仓库: Github 链接 | 语言: TypeScript
项目简介
摘要:Cloudflare MCP 服务器项目概述
Cloudflare MCP 服务器项目是一个基于模型上下文协议(Model Context Protocol, MCP)的开源项目,旨在通过自然语言交互的方式,连接大型语言模型(LLMs)与 Cloudflare 的各种服务。MCP 是一种新的标准化协议,用于管理 LLMs 与外部系统之间的上下文。
该项目的核心目标是允许用户通过支持 MCP 协议的客户端(如 Cursor, Claude 或 Cloudflare AI Playground),使用自然语言指令来执行与 Cloudflare 账户相关的任务。这些任务涵盖了广泛的功能,包括但不限于读取账户配置、处理信息、基于数据提供建议,甚至直接应用建议的更改。支持的服务范围广泛,涉及 Cloudflare 在应用开发、安全和性能等多个领域的产品。
仓库中包含了多个独立运作的 MCP 服务器,每个服务器对应 Cloudflare 的一项特定服务,例如文档查询、Workers 应用开发、应用日志分析、全球互联网流量洞察、沙盒开发环境、网页渲染、日志推送健康检查、AI Gateway 日志搜索、AutoRAG 文档管理以及 DNS 分析等。每个服务器都提供了一个特定的 URL (.mcp.cloudflare.com/sse
),供 MCP 客户端连接使用。
项目提供了详细的说明,指导用户如何通过支持远程 MCP 服务器的客户端直接添加服务器 URL,或者对于尚未直接支持的客户端,可以使用 mcp-remote
工具配置客户端访问这些服务。项目中还包含了关于故障排查和贡献指南的信息,并提及部分高级功能可能需要付费的 Cloudflare Workers 计划。
总体而言,Cloudflare MCP 服务器项目通过利用 MCP 协议,极大地简化了用户与 Cloudflare 服务的交互方式,使得开发者和用户能够更加便捷、直观地管理和利用其 Cloudflare 账户资源,尤其是在结合 LLMs 的应用场景下。
aws / aws-sdk-java-v2
适用于 Java 的官方 AWS SDK - 版本 2
作者: aws | 仓库: Github 链接 | 语言: Java
项目简介
摘要:AWS SDK for Java 2.0
此内容是关于官方 AWS SDK for Java 的第 2 个主要版本。作为 1.0 版本的重写,它带来了一些新功能,旨在简化与 Amazon Web Services (AWS) 的交互。SDK 支持非阻塞 I/O 和可插拔的 HTTP 实现,以提供更大的灵活性和定制能力。该 SDK 可以通过 Maven 或支持 Maven Central 作为构件源的构建系统轻松集成到项目中。
要开始使用该 SDK,用户需要一个 AWS 账户,并且需要安装 Java 1.8 或更高版本。通过 Maven 使用 SDK 的推荐方式是导入 Bill of Materials (BOM) 以统一管理模块版本,也可以选择只添加所需服务的单个模块依赖项。高级用户也可以导入包含所有服务的完整 SDK,但建议仅导入必需的模块。
新版本的主要特性包括允许插入自定义 HTTP 实现以及在异步客户端中提供对非阻塞 I/O 的一流支持。
内容还提供了从源代码构建 SDK 的说明,包括使用 Maven Wrapper 进行干净安装以及跳过测试的快速构建选项。此外,还指出了获取示例代码、API 文档、开发者指南、最佳实践以及 Maven 原型等资源的链接。
在维护和支持方面,AWS SDK for Java 2.0 维护对长期支持 (LTS) 版本的 Java 提供全面支持,包括 Java 8、11、17 和 21。虽然可能存在某些新版本的个别特性不受支持,但 SDK 总体上兼容 Java 8。
最后,内容鼓励用户通过提交问题、在讨论论坛中参与以及提交拉取请求来提供反馈,以帮助改进 SDK。问题提交被列为与 SDK 团队互动的首选渠道。
ChrisTitusTech / winutil
Chris Titus Tech 的 Windows 工具 - 安装程序、调整、修复和更新
作者: ChrisTitusTech | 仓库: Github 链接 | 语言: PowerShell
项目简介
Chris Titus Tech Windows Utility: 简化Windows系统管理
Chris Titus Tech的Windows Utility是一个实用的工具,旨在简化用户在Windows系统上执行的常见任务。它集成了程序安装、系统优化(Debloat)、故障排除和更新管理等多种功能,帮助用户更便捷地配置和维护他们的计算机。
该工具的核心目标是提高效率,通过一个集中式的界面或脚本执行一系列操作,替代了手动执行多个步骤。例如,它可以帮助用户快速安装常用软件,删除预装的冗余程序,应用各种系统调整以优化性能,并解决Windows更新过程中可能遇到的问题。
使用Winutil需要以管理员身份运行PowerShell或终端,推荐的方法有通过开始菜单右键选择管理员模式,或通过搜索栏输入PowerShell/Terminal后使用Ctrl + Shift + Enter组合键。项目的README提供了两种启动命令,分别对应稳定版本和开发版本,用户可以根据需求选择。项目采用MIT许可证。
该项目在GitHub上受到了广泛关注,拥有超过33.6k颗星和1.9k个Fork,并有众多贡献者参与其中。项目的文档、YouTube教程和相关文章提供了详细的使用说明和背景信息。项目也接受用户的支持和赞助,以帮助其持续发展。
总之,Chris Titus Tech Windows Utility为Windows用户提供了一个集成的解决方案,用于简化安装、优化和维护过程,是一个受到社区积极贡献和支持的开源工具。
jackfrued / Python-100-Days
Python - 100天从新手到大师
作者: jackfrued | 仓库: Github 链接 | 语言: Jupyter Notebook
项目简介
Python - 100天从新手到大师
这是一个由作者骆昊编写的Python学习教程,旨在帮助初学者在100天内从零基础成长为Python大师。教程内容循序渐进,涵盖了Python语言的基础知识,包括变量、运算符、控制结构、数据结构(列表、元组、字符串、集合、字典)、函数和模块等。在此基础上,教程进一步深入到Python语言的应用,例如文件读写、异常处理、对象序列化、处理各种Office文档、图像处理、发送邮件短信以及正则表达式等实用技能。
课程还提供了Python应用领域的分析和职业发展建议,特别是强调了数据科学作为当前热门方向。教程鼓励学习者以英语作为工作语言,多加实践,从错误中学习,并强调积极主动的学习态度。
进阶部分涵盖了数据库基础(MySQL)和高级应用(HiveSQL),以及完整的Web开发实战(使用Django框架),包括模型、静态资源、Ajax、Cookie和Session、报表日志、中间件、前后端分离、RESTful API设计、缓存、异步任务、单元测试和项目部署等。
此外,教程还涉及了网络数据采集(爬虫)、Python中的并发编程、使用Selenium抓取动态内容以及爬虫框架Scrapy。最后,还提供了Python数据分析的详细内容,包括NumPy和pandas库的应用,以及数据可视化,并简要介绍了机器学习的基础概念、常用算法(k最近邻、决策树、朴素贝叶斯、回归模型、K-Means聚类、集成学习、神经网络模型)以及自然语言处理入门。最后一部分内容侧重于团队项目开发中的问题和解决方案、Docker容器技术、MySQL性能优化、网络API接口设计、软件测试、自动化测试、电商网站技术要点分析、项目部署上线和性能调优,并提供了一些面试准备的公共问题和补充资源。
整个教程结构清晰,从基础到进阶,涵盖了Python在不同领域的广泛应用,为有志于学习Python并从事相关工作的人员提供了全面的学习路径和实践指导。
juanfont / headscale
Tailscale 控制服务器的开源自托管实现
作者: juanfont | 仓库: Github 链接 | 语言: Go
项目简介
项目摘要:Headscale - 开源自托管的 Tailscale 控制服务器
Headscale 是一个开源项目,旨在提供 Tailscale 控制服务器的自托管实现。Tailscale 是一个基于 WireGuard 构建的现代化 VPN,其核心在于一个控制服务器,负责管理网络节点(设备)、分配 IP 地址、建立用户边界以及管理路由等。Headscale 的主要目标是为个人用户和小型开源组织提供一个可以在本地部署和运行的 Tailscale 控制服务器替代方案。
项目强调其设计目标是实现一个专注于单一 Tailscale 网络的解决方案,适合个人使用或小型社群。它不是 Tailscale Inc. 的官方产品,但一位 Tailscale 的核心维护者也积极参与了 Headscale 的贡献和开发。
Headscale 的特性和客户端操作系统支持可以在其详细文档中找到。项目提供了安装和运行 Headscale 的指导,并特别指出不建议在 Docker 容器或通过反向代理运行。项目的开发活跃,最近的更新包括修复依赖、更新文档、改进路由管理和自动审批等。项目欢迎社区贡献,并提供了详细的贡献指南,包括开发环境搭建(推荐使用 Nix)、代码风格规范(Go 代码使用 golangci-lint、golines、gofumpt,Proto 代码使用 buf 和 clang-format,其他文件使用 prettier)以及测试和构建方法。项目拥有大量的贡献者和活跃的社区(通过 Discord 交流),在 GitHub 上获得了超过 27.7k 的 stars。
总而言之,Headscale 为那些希望自行掌控 Tailscale 网络的用户提供了一个强大的开源自托管选项,使他们能够在自己的基础设施上构建和管理安全的叠加网络。
koreader / koreader
支持PDF、DjVu、EPUB、FB2等多种格式的电子书阅读器应用,可在Cervantes、Kindle、Kobo、PocketBook和Android设备上运行
作者: koreader | 仓库: Github 链接 | 语言: Lua
项目简介
KOReader: 多功能跨平台电子书阅读器
KOReader是一款开源的电子书阅读器应用,主要针对墨水屏设备进行优化,同时也支持Android和Linux系统。它具备强大的文档格式兼容性,支持PDF、DjVu、EPUB、FB2、Mobi、DOC、RTF、HTML、CHM、TXT等多种常用和不常用格式,甚至可以处理压缩在ZIP文件中的特定格式文档。对于扫描版的PDF和DjVu文件,KOReader内置了K2pdfopt库,能够实现文本重排,提升阅读体验。
该应用提供了丰富多样的阅读功能。用户界面支持多种语言,并提供高度可定制的阅读视图和排版选项,包括自由设置页边距、修改行距以及使用外部字体和样式。KOReader还内置了多种语言的自动断字词典,以改善文本的显示效果。它能与calibre软件集成,方便用户无线传输电子书、浏览书库(支持OPDS目录)和搜索元数据。此外,还集成了Wallabag、Wikipedia、Google Translate等第三方内容提供者。
针对墨水屏设备的特点,KOReader的用户界面经过特别设计,没有动画效果,菜单采用分页布局,支持调节文本对比度,并且方便用户缩放页面以适应内容或屏幕。其插件系统使其功能具有可扩展性。在一些老旧设备上,KOReader的翻页速度甚至比原厂阅读软件快一倍以上。
除了核心阅读功能,KOReader还包含许多实用工具,如StarDict字典查询、在线OPDS目录和RSS订阅管理、空中软件更新、FTP客户端和SSH服务器等。
KOReader遵循AGPL-3.0开源许可证,由全球志愿者共同开发和维护。用户可以通过liberapay等平台进行捐赠支持项目。项目的最新版本为2025.04 “Full Moon”,并持续进行更新迭代。项目的GitHub页面展示了代码仓库结构、最新的 commits(如针对reMarkable Paper Pro的支持、菜单优化、翻译更新、构建系统改进、手势间隔调整、测试优化等),以及贡献者信息。
总的来说,KOReader是一款功能全面、高度可定制且针对墨水屏设备优化的高性能电子书阅读器,适用于广泛的平台和文档格式,受到大量用户的喜爱和社区的支持。
jj-vcs / jj
一个简单又强大的 Git 兼容 VCS
作者: jj-vcs | 仓库: Github 链接 | 语言: Rust
项目简介
Jujutsu:一个强大且兼容 Git 的版本控制系统
Jujutsu(简称 jj)是一个为软件项目设计的新的版本控制系统(VCS),旨在提供一种简单而强大的体验,同时与 Git 生态系统兼容。该项目由 Google 工程师 Martin von Zweigbergk 发起,目前在 jj-vcs GitHub 组织下进行开发。
Jujutsu 的核心特点在于其独特的内部架构,它将用户界面和版本控制算法与底层存储系统分离。这意味着 Jujutsu 可以支持多种不同的物理后端,尽管目前主要使用 Git 仓库作为存储层,从而实现了与现有 Git 工具的良好互操作性。用户可以使用 Jujutsu 管理代码,并将更改推送到常规的 Git 远程仓库,其产生的提交也与标准的 Git 提交无异。
该系统吸收了多种现有 VCS 的设计理念。例如,它借鉴了 Git 的速度优势,Mercurial 和 Sapling 的无索引、匿名分支、强大历史重写功能以及模板化输出等特点。此外,它还受到了 Darcs 的启发,将冲突作为“一等公民”处理,使得冲突解决更加灵活,并能够自动传播。
Jujutsu 引入了一些自己的创新功能。最突出的是“工作副本即提交”的设计,文件更改被自动记录为常规提交,简化了用户数据模型和内部算法,并取代了 Git 的暂存区等概念。另一项重要功能是操作日志和撤销能力,记录下仓库的每一次操作,方便调试和轻松撤销错误。自动 rebase 和冲突解决也是其亮点,修改提交后,其后代将自动 rebase,冲突的解决方法也能自动传播,提供了透明的 patch-based 工作流。
尽管 Jujutsu 仍处于实验阶段,但其开发团队,包括核心开发者 Martin von Zweigbergk,已日常使用它来开发项目本身,表明其在稳定性和实用性方面已达到一定水平。未来版本可能会有工作流程和磁盘格式的修改,但项目承诺会尽量提供平滑的升级体验。目前,一些高级功能(如 Git submodule 支持)和性能优化仍在进行中,基于邮件的工作流程等可能也尚未得到充分支持。
Jujutsu 项目遵循 Apache 2.0 许可证,并欢迎外部贡献者参与。对该项目感兴趣的用户可以通过其官网、安装说明、教程、Git 对比文档等资源了解更多信息,也可以通过 Discord 和 IRC 与开发者社区交流互动。
Mail-0 / Zero
用 0 体验你想要的电子邮件方式 – 首个将你的隐私与安全放在首位的开源电子邮件应用。加入 Discord 群组:
作者: Mail-0 | 仓库: Github 链接 | 语言: TypeScript
项目简介
Zero:一个将隐私和安全放在首位的开源、AI驱动的邮件应用
Zero 是一个开源的 AI 邮件解决方案,旨在为用户提供一个现代化、可自定义以及注重隐私的电子邮件体验。与目前许多闭源或以数据收集为目的的邮件服务不同,Zero 强调透明度、用户数据隐私和自我托管的能力。
该项目的主要特点包括:完全开源,公开透明;利用 AI 技术(通过 Agents 和 LLMs)增强电子邮件功能;将数据隐私放在首位,Zero 不会跟踪、收集或出售用户数据,尽管集成外部服务(如 Gmail)时需注意其自身的隐私政策;支持轻松自我托管,赋予用户对其数据的完全控制;提供统一收件箱,可连接 Gmail、Outlook 等多个邮件提供商;用户界面和功能高度可定制,以满足个性化需求;对开发者友好,易于扩展和集成。
Zero 的技术栈主要由 Next.js, React, TypeScript, TailwindCSS, Shadcn UI 构成前端,后端采用 Node.js 和 Drizzle ORM,数据库使用 PostgreSQL,并通过 Better Auth 和 Google OAuth 实现认证。项目提供了标准的本地安装和针对 VS Code 用户的 Dev Container 设置选项,简化了开发环境的搭建。用户可以通过克隆代码库、安装依赖、配置环境变量(包括 Better Auth Secret 和 Google OAuth 凭据)、启动本地数据库(使用 Docker Compose)来快速开始。
文档中详细介绍了环境设置的步骤,特别是 Google OAuth 的配置,强调了重定向 URI 必须与 Google Cloud Console 中的配置完全一致。同时,也列出了必要的环境变量及其作用。对于数据库设置,Zero 使用 PostgreSQL,并提供了启动本地数据库实例、设置连接字符串、创建/应用迁移以及查看数据库内容的命令。
项目鼓励社区贡献,并提供了贡献指南和翻译指南。Zero 的开发离不开 Vercel, Better Auth, Drizzle ORM, Coderabbit AI 等公司的支持。项目的维护团队和贡献者信息也公开可查。
总的来说,Zero 项目提供了一个开源、注重隐私和安全、并融合人工智能技术的邮件应用替代方案,特别适合希望掌控自己数据和追求个性化邮件体验的用户及开发者。
donnemartin / system-design-primer
学习如何设计大型系统。准备系统设计面试。包含 Anki 抽认卡。
作者: donnemartin | 仓库: Github 链接 | 语言: Python
项目简介
大型系统设计学习与面试准备资源汇总
这篇内容是一个关于大型系统设计学习和面试准备的综合性资源集合,旨在帮助工程师提升设计可伸缩系统的能力,并为技术面试中常见的系统设计问题做好准备。它汇集了分布在网络各处的系统设计原则资源,并提供了结构化的学习路径、面试问题及示例解答,甚至包含用于巩固知识的Anki抽认卡。
核心内容包括:
系统设计基础概念: 详细解释了关键概念,例如性能与可伸缩性、延迟与吞吐量、可用性与一致性(包括CAP定理及其权衡),并介绍了各种一致性模式和可用性模式。
系统组件与技术: 深入探讨了构建大型系统所需的各种组件和技术,如域名系统(DNS)、内容分发网络(CDN)、负载均衡(包括不同层次和类型)、反向代理(Web服务器)、应用层(微服务、服务发现)、数据库(关系型数据库的复制、联邦、分片、反范式化和调优,以及各种NoSQL类型如键值存储、文档存储、宽列存储、图数据库)、缓存(不同层级和更新策略)以及异步通信(消息队列、任务队列、反压)。
面试准备: 提供了系统设计面试的应对方法,包括如何明确需求、进行高层设计、深入核心组件、考虑系统扩展性,并强调进行估算的重要性。同时,列举了大量带有示例解答的系统设计和面向对象设计面试问题,以及额外的练习题。
真实世界案例与资源: 收录了各种真实世界系统的架构分析文章(如MapReduce、Bigtable、DynamoDB等)以及多家知名公司的工程博客,供学习者参考和了解实际应用中的设计。
该资源库提供了多语言版本(包括简体中文和繁体中文),并欢迎社区贡献以不断完善和更新内容。总而言之,这份资源提供了一个全面的框架和丰富的材料,帮助开发者系统地学习和掌握大型系统设计,并在技术面试中脱颖而出。
alibaba / MNN
用于全多模态 LLM Android 应用的 MNN
作者: alibaba | 仓库: Github 链接 | 语言: C++
项目简介
MNN(Mobile Neural Network)是阿里巴巴开源的一款高性能、轻量级深度学习推理和训练框架。该框架在阿里巴巴内部经过了大量业务场景的严格验证,例如淘宝、天猫、优酷等,涵盖了直播、短视频、搜索推荐、图像识别等多方面应用场景,并广泛应用于嵌入式设备(如IoT)。
MNN 的主要优势在于其轻量化、通用性和高性能。在轻量化方面,它针对移动端和嵌入式设备进行了深度优化,依赖少,部署方便。例如,iOS 平台静态库(含所有选项)大小约为 12MB,Android 平台核心 so 文件(armv7a-c++_shared)大小约为 800KB,通过 MNN_BUILD_MINI 选项可进一步缩小体积。此外,它支持 FP16 和 Int8 量化,可有效减少模型大小。在通用性方面,MNN 支持 TensorFlow、Caffe、ONNX、TorchScripts 等多种主流深度学习框架,并支持 CNN、RNN、GAN、Transformer 等常见神经网络模型,以及多输入/输出、动态输入、控制流等复杂特性。其转换工具箱支持大量不同框架的 OP 转换。在高性能方面,MNN 通过大量汇编代码优化充分利用 ARM/x64 CPU 性能,支持 Metal、OpenCL、Vulkan、CUDA 等 GPU 加速,并针对新旧 ARM 架构进行了深度优化。框架提供了 MNN-LLM 和 MNN-Diffusion 解决方案,分别用于在终端设备上部署大语言模型和 Stable Diffusion 模型,并提供了相应的 Android 和 iOS 应用演示。MNN 还提供了 MNN-Converter、MNN-Compress、MNN-Express、MNN-CV 和 MNN-Train 等一系列工具,方便开发者进行模型转换、压缩、计算、图像处理和训练。项目的文档完善,可通过 Read the Docs 访问,并提供 MNN Workbench 桌面工具,简化模型预训练、可视化和部署流程。开源社区主要通过钉钉群进行讨论(以中文为主,但也欢迎并协助英文用户)。
pydantic / pydantic
使用 Python 类型提示进行数据验证
作者: pydantic | 仓库: Github 链接 | 语言: Python
项目简介
Pydantic:基于 Python 类型提示的数据验证库
Pydantic 是一个流行的 Python 库,主要用于使用 Python 类型提示进行数据验证。它具有快速和可扩展的特点,并且能很好地与代码分析(linters)、集成开发环境(IDE)以及开发者思维习惯协同工作。Pydantic 允许开发者利用纯粹、规范化的 Python 3.9+ 类型提示来定义数据结构,并依靠库进行数据校验。
项目提供了详细的文档,包含了安装指南、入门示例以及更高级的用法。一个简单的例子展示了如何定义一个基于 BaseModel
的用户模型,包含不同类型的字段(整数、字符串、可选的日期时间以及整数列表),并演示了如何使用外部数据实例化该模型,Pydantic 会自动进行数据类型转换和验证。
值得注意的是,Pydantic 经历了重大版本迭代,当前主要版本是 V2。V2 是基于 V1 的重写,带来了许多新特性、性能提升以及一些与 V1 不兼容的改动。对于仍在使用 V1 的用户,可以查阅 V1.10 的文档或代码分支,并且 V2 兼容了 V1,可以通过 from pydantic import v1 as pydantic_v1
来逐步升级代码库。
项目社区活跃,有大量的贡献者,并被广泛使用。项目维护者提供了安全漏洞报告渠道和贡献指南。此外,Pydantic 近期推出了 Pydantic Logfire 工具,旨在帮助用户监控应用程序。