现代浏览器已经不再是简单的浏览网页的工具,其潜能正在通过技术不断地被挖掘和扩展。得益于 WebAssembly 等技术的出现,让浏览器能够以接近原生的速度执行非 JavaScript 语言编写的程序,从而打开了浏览器的“潘多拉魔盒”。

开源组织 Leaning Technologies 正是这一方面的先锋,他们开发的 Cheerp、CheerpJ 和 CheerpX 等开源项目,使 C/C++、Java、Flash 和 x86 程序能够在浏览器中流畅地运行,它们正在逐步打破传统桌面应用程序和 Web 应用之间的“壁垒”。

  • Cheerp:运行在浏览器里的 C/C++ 编译器
  • CheerpJ:运行在浏览器里的 Java 虚拟机和运行时环境
  • CheerpX:运行在浏览器里的 x86 虚拟机

比如本周的开源热搜项目,基于 CheerpX 引擎的 WebVM 开源项目,它支持用户在浏览器中运行完整的 Linux 环境,无需下载和安装。开源的 Web 应用防火墙 BunkerWeb,让你的 Web 默认配置变得安全。极小的 fetch 封装库 Wretch,让前端请求数据更加轻松惬意。在浏览器里控制多台 Android 设备的平台 stf,优化 React 组件性能的工具 million 也是让人眼前一亮。

最后是一周涨了近 1w Star 微软开源的新型 RAG 框架 GraphRAG 和 LLM 一站式开发和部署工具 LitGPT。

  • 本文目录

    • 1. 开源热搜项目

      • 1.1 在浏览器中运行 Linux 虚拟机:WebVM
      • 1.2 开源的 Web 应用防火墙:BunkerWeb
      • 1.3 轻量且直观的 fetch 库:Wretch
      • 1.4 一站式的 LLM 开发和部署工具:LitGPT
      • 1.5 微软开源的 RAG 框架:GraphRAG
    • 2. HelloGitHub 热评
      • 2.1 浏览器控制多台 Android 设备的平台:stf
      • 2.2 优化 React 组件性能的工具:million
    • 3. 结尾

1. 开源热搜项目

1.1 在浏览器中运行 Linux 虚拟机:WebVM

主语言:JavaScriptStar:3.5k周增长:600

该项目可以让用户在浏览器中运行 Linux 虚拟机,无需服务器、完全客户端的虚拟环境。它基于 CheerpX 虚拟化引擎,提供了一个安全、沙盒的 x86 虚拟环境,可运行二进制文件、命令行工具、文本编辑器、编译 C/C++ 程序和 Python 等语言的脚本,登录后还能访问互联网,适用于演示和快速访问 Linux 开发环境等场景。

GitHub 地址→github.com/leaningtech/webvm

1.2 开源的 Web 应用防火墙:BunkerWeb

主语言:PythonStar:4.9k周增长:1.1k

该项目是用 Python 开发的 Web 应用防火墙,可以无缝集成至现有环境(Linux、Docker、K8s 等)。它基于 Nginx 构建、默认配置安全,拥有简单易用的 Web 界面,支持自动配置 HTTPS A+ 评级、安全 Header 和丰富的插件系统,可检测常见的攻击模式、限制访问、防止机器人和爬虫等恶意访问,保护你的网站、API 和 Web 应用。

GitHub 地址→github.com/bunkerity/bunkerweb

1.3 轻量且直观的 fetch 库:Wretch

主语言:TypeScriptStar:4.6k

这是一个极小、类型安全、围绕 fetch API 构建的网络请求封装库。它提供了通俗易懂的网络请求 API,简化了网络请求错误处理和序列化,同时压缩后仅 2KB 大小,支持主流浏览器并兼容 Node.js,适用于各种前端 HTTP 请求的场景。

wretch("anything")
.get()
.notFound(error => { /* ... */ })
.unauthorized(error => { /* ... */ })
.error(418, error => { /* ... */ })
.res(response => /* ... */)
.catch(error => { /* uncaught errors */ })

GitHub 地址→github.com/elbywan/wretch

1.4 一站式的 LLM 开发和部署工具:LitGPT

主语言:PythonStar:8.6k周增长:300

该项目是一款用 Python 编写的提供了 20 多种 LLMs 的预训练、微调和部署的工具。它可以通过 Pyhton 库或者命令行的方式使用,对模型进行微调、预训练、评估和部署服务等操作,支持自动从 HF 下载模型、自定义数据集、性能优化、降低内存要求(precision)等功能,以及 LoRA、QLoRA、Adapter 等多种微调方法。

from litgpt import LLM

llm = LLM.load("microsoft/phi-2")
text = llm.generate("Fix the spelling: Every fall, the familly goes to the mountains.")
print(text)
# Corrected Sentence: Every fall, the family goes to the mountains.

GitHub 地址→github.com/Lightning-AI/litgpt

1.5 微软开源的 RAG 框架:GraphRAG

主语言:PythonStar:10k周增长:9k

该项目是由微软开源的基于知识图谱的检索增强型生成(RAG)系统,它利用大型语言模型生成知识图谱,将非结构化的文本转换为具有标签的知识图谱数据,从而增强 LLMs 的输出结果。相较于基准 RAG(向量相似性),基于知识图谱的 GraphRAG 在回答更抽象(关系)和总结性问题时表现更好。

GitHub 地址→github.com/microsoft/graphrag

2. HelloGitHub 热评

在这个章节,将会分享下本周 HelloGitHub 网站上的热门开源项目,欢迎与我们分享你上手这些开源项目后的使用体验。

2.1 浏览器控制多台 Android 设备的平台:stf

主语言:JavaScript

这是一个用 Node.js 开发的安卓智能设备群测工具,它提供了一个可远程调试多台 Android 设备的 Web 平台,支持 Android 手机和手表等设备。

项目详情→hellogithub.com/repository/af0868c1e3ea4d608e92849b405a8ddb

2.2 优化 React 组件性能的工具:million

主语言:TypeScript

该项目是专为 React 应用设计的优化编译器,它通过优化虚拟 DOM 和直接更新 DOM 节点,来减少页面更新的耗时,从而提升 React 组件性能,最高可达 70%,支持 VSCode 插件和命令行的使用方式。

项目详情→hellogithub.com/repository/406d03f678a64294b6c7e763a783b972

3. 结尾

我最近正全身心投入 HelloGitHub 官网的国际化工作中,这使得其他一些事情(HelloStar 等)不得不暂停。我之所以如此专注于国际化,是因为我深信这将提升 HelloGitHub 的全球影响力:它不仅能够让国内的开源项目通过一个国际化的平台被世界看到,也能让国外的开源项目作者理解并知道 HelloGitHub 在做的事情。

虽然这项工作充满挑战、进展缓慢,但我希望能够在「第100期」特别版发布之前完成它,让这一里程碑时刻更加有意义。

在此,我要向所有参与这个项目的朋友们(@雪峰、@塔咖...)表达感谢。正是因为有了你们的无私奉献和坚定支持,让这一切才得以可能。一个人或许可以走得很快,但一群人定会走得更远。HelloGitHub 渴望成为每位开源爱好者旅程中的伙伴,让我们一起穿越难关,共同迎接乌云背后的阳光!

以上就是本期「GitHub 热点速览」的全部内容,希望你能够在这里找到自己感兴趣的开源项目,如果你有其他好玩、有趣的 GitHub 开源项目想要分享,欢迎来 HelloGitHub 与我们交流和讨论。

往期回顾

将传统应用带入浏览器的开源先锋「GitHub 热点速览」的更多相关文章

  1. 朋友圈那串神秘字符背后的开源项目「GitHub 热点速览」

    ​如果你这周没刷到类似 "npub1sg6plzptd64u62a878hep2kev88swjh3tw00gjsfl8f237..." 的一串字符,那就说明本期 GitHub T ...

  2. 开源不到 48 小时获 35k star 的推荐算法「GitHub 热点速览」

    本周的热点除了 GPT 各类衍生品之外,还多了一个被马斯克预告过.在愚人节开源出来的推特推荐算法,开源不到 2 天就有了 35k+ 的 star,有意思的是,除了推荐算法本身之外,阅读源码的工程师们甚 ...

  3. 万星开源项目强势回归「GitHub 热点速览 v.22.38」

    本周霸榜的 GitHub 项目多为老项目,比如:老面孔的 theatre 凭借极其优秀的动画功底连续三天霸榜 TypeScript 类目.借 Figma 被 Adobe 收购之风,又出现在 GitHu ...

  4. GitHub 开源了多款字体「GitHub 热点速览 v.22.48」

    本期 News 快读有 GitHub 官方大动作一下子开源了两款字体,同样大动作的还有 OpenAI 发布的对话模型 ChatGPT,引燃了一波人机对话. 项目这块,也许会成为新的 Web 开发生产力 ...

  5. GitHub 开源的小工具「GitHub 热点速览 v.21.45」

    作者:HelloGitHub-小鱼干 Copilot 是 GitHub 官方出品的代码自动补全工具,之前使用该工具需要有一定的要求.而本周靠 2k+ star 上热点的 copilot-docs 则是 ...

  6. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

  7. 在浏览器上运行 VS Code——GitHub 热点速览 v.21.22

    作者:HelloGitHub-小鱼干 和小程序类似,如果平时开发所用到的软件也能运行在浏览器中,"用完即走"岂不妙哉?code-server 便是一个让人在浏览器运行 VS Cod ...

  8. NB 的开源项目遍地开花——GitHub 热点速览 Vol.41

    作者:HelloGitHub-小鱼干 本周的 GitHub 热点速览的关键词便是 nb,也是本周特推之一的项目名字,这个功能如名字一般 nb 的项目是一个脚本,帮你处理笔记.书签.归档和知识库应用程序 ...

  9. 改造 Firefox 浏览器——GitHub 热点速览

    作者:HelloGitHub-小鱼干 上周推荐了一个可以在浏览器上用 VS Code 的项目,这次 Firefox-UI-Fix 带你给 Firefox 来个大变身,在它现有 Proton UI 下进 ...

  10. 在?开源社区版的 AirTag 请收下——GitHub 热点速览 v.21.21

    作者:HelloGitHub-小鱼干 在比特币跌到怀疑人生的时候,看着"出血不止"的荷包,是时候来"薅"一波羊毛了.openhaystack 能让你免去购买 A ...

随机推荐

  1. .NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)

    对某个远程服务器启用和设置NTP服务(Windows系统) 打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Tim ...

  2. selenium 滚动截图参考

    Selenium本身并不直接支持滚动截图,但是你可以通过编程方式实现滚动截图.下面是一个Python的例子,使用Selenium和PIL库实现滚动截图: from selenium import we ...

  3. EDP .Net开发框架--权限

    平台下载地址:https://gitee.com/alwaysinsist/edp 权限介绍 权限实际上就是谁有权使用或是访问什么,这里的"谁"可以视作"授权对象&quo ...

  4. uniapp video组件全屏导致页面横竖错乱问题

    uniapp video组件全屏导致页面横竖错乱问题 背景介绍 使用 video组件做一个视频播放功能,不全屏的情况正常.在苹果手机上全屏后,点击左上角退出全屏,页面出现问题如下图问题,主要系统iOS ...

  5. 未能加载文件或程序集“UFIDA.U8.UAP.GcRegister, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项

    这是做采购入库单新增的时候遇到的问题,我是采用模仿写用友u8的zpurrkdhead 主表视图和子表视图zpurrkdtail 去构建 xml文档这样做的,但是再做的时候 [cgcroutecode] ...

  6. MyBatis一对多或多对多分页查询的结果条数不符合预期的问题解决

    问题描述 ​ 通常我们我们在单表查询中我们可以采用limit进行分页查询,这样可以减少页面的显示量,加快页面想应速度.但是在MyBatis框架中,如果我们在一对多或多对多查询中直接使用limit关键字 ...

  7. Android 12(S) ALooper AHandler AMessage(二)

    来写个demo试试看到底是ALooper AHandler AMessage是怎么运行的,源文件以及Android.bp如下: // EvenHandler.h #ifndef __MESSAGE_T ...

  8. 解决PMML namespace URI httpwww.dmg.orgPMML-4_4 is not supported

    使用pmml的方式跨平台部署机器学习模型时,在java中加载模型,出现了该错误 原因:java的jar包版本与PMML文件的版本不相符,jar包的版本过低无法解析PMML文件.如果升级jar包,加载模 ...

  9. 地址栏hash模式以?问号分割也可以分割的

    可以看到href里面hash没有? 但是还是以?分割了 就很不明白 但是我就indexof判断有没有? 再进行下一步逻辑 这里记录一下坑

  10. ubuntu server 网速测试

    ubuntu server 网速测试 speedtest-cli是一个用于测试网络带宽的命令行工具,可以快速测量下载和上传速度.你可以按照以下步骤安装和使用它: 打开终端. 安装speedtest-c ...