2026 有趣的开源项目

2026 有趣的开源项目
Photo by Clay Banks / Unsplash
CC(知识共享许可协议): BY(署名)-NC(非商业性)-SA(相同方式共享)

本文更多的是作为个人备忘录使用,随时更新。

AI

GitHub - open-pencil/open-pencil: AI-native design editor. Open-source Figma alternative.
AI-native design editor. Open-source Figma alternative. - open-pencil/open-pencil

开源的 UI 设计工具,原生支持 AI

OpenPencil 实际使用下来的感受是,Demo Prompts 测试很惊艳,实际用到项目里就很拉胯了。尤其是当项目追求现代感、不同质、精巧的设计时,完全无法满足需求。大多数情况下只能做一些很传统的 UI。当然这并不单纯是 OpenPencil 的问题,我同时也尝试了 SuperDesign、闭源的 Pencil 和一些其他的工具。配合 GPT 5.4、Gemini 3.1 Pro、Minimax 2.7 等模型,基本上大差不差。

GitHub - pbakaus/impeccable: The design language that makes your AI harness better at design.
The design language that makes your AI harness better at design. - pbakaus/impeccable

Native

GitHub - liyown/marknative: A Markdown rendering engine that generates paginated PNG and SVG output — no browser, no Chromium, no DOM.
A Markdown rendering engine that generates paginated PNG and SVG output — no browser, no Chromium, no DOM. - liyown/marknative

将 Markdown 直接渲染为 PNG,不经过浏览器(例如:Puppeteer)

GitHub - PerryTS/perry: A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM.
A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM. - PerryTS/perry

将 TS 直接编译为 Native 程序,使用原生 GUI 跨平台支持 macOS、iOS/iPadOS、tvOS、watchOS、Android、Windows、Linux、Web、WebAssembly

PerryTS 我还没有实际使用过,但是项目愿景很吸引我,而且痛点瞄的很准。

首先是现有的跨平台方案很难做到如此广泛的跨度。很多框架宣传上支持跨很多平台,但是实际项目里往往并没有人真的这么干。比如 React Native 或 Flutter 基本只用于 iOS 和 Android,很少应用到 Web 和桌面端。RN 有微软推出的 RN for macOS/windows,但真让我选我更愿意用 Electron 来开发桌面端应用。

其次就是项目体积和语言的问题。Electron 无疑是桌面端的最完善的解决方案,即便是微软都推荐和使用 Electron 开发系统级别的界面。但是他的体积和内存占用太让人头疼了。即便是最简单的 Hello World 都要 60MB 起步。随后我们迎来了 Tauri 使用 Rust + 利用系统 Webview 来实现桌面端,将构建体积缩减到 10MB左右。但是却要额外学习 Rust 语言(Golang 也有类似的方案)。如果不想学 Rust,确实还有一个不太有名的方案:NivaJS —— 通过 BOM 暴露系统级操作的 API,牺牲了一些安全性。但是截止目前已经 3 年没维护了,并且这些方案本质仍然是 Web 套壳,仍然没解决浏览器内核的内存占用问题。

但是 PerryTS 意图解决上述的所有问题,无需学另外一种语言,只有 TS。原生编译使用系统 UI,而非 Web 套壳。

GitHub - saghul/txiki.js: A tiny JavaScript runtime
A tiny JavaScript runtime. Contribute to saghul/txiki.js development by creating an account on GitHub.

微型的 JS 运行时,可以将 JS 构建为 5MB 左右的二进制程序。个人觉得非常适合用于 CLI,尤其是对比 Deno 和 Bun 这些方案的 SEA 构建往往都需要 20MB ~ 50MB