将传统应用带入浏览器的开源先锋「GitHub 热点速览」

news/2024/11/17 10:23:27/文章来源:https://www.cnblogs.com/xueweihan/p/18304420

现代浏览器已经不再是简单的浏览网页的工具,其潜能正在通过技术不断地被挖掘和扩展。得益于 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 LLMllm = 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 创始人资助的开源浏览器
  • 超快的 Python 包管理工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/744489.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot+vue前后端分离项目-项目搭建11-1对多查询、批量删除

一、1对多查询 1. 增加mapper/User.xml文件,文件内容如下 2.com/example/demo/mapper/UserMapper.java接口增加如下方法与User.xml对应 3. 优化User和Book实体类 4. 优化com/example/demo/controller/UserController.java,改造findPage方法 5. 改造vue/src/views/User.vue 【…

《Programming from the Ground Up》阅读笔记:p49-p74

《Programming from the Ground Up》学习第3天,p49-p74总结,总计26页。 一、技术总结 1.function (1)定义 p49, Functions are unit of code that do a defined piece of work on specified types of data。 函数是在指定类型的数据上完成所定义的某个工作的代码单元。 (2)pa…

关于css选择器和样式表的应用

我已经将 #usual-links.card {background-color: red; }复制到样式表index.css,并且已经在模板中引入样式表,如:<!--最后引入自定义的css。因为引入css的顺序会影响相同元素的样式呈现--><link rel="stylesheet" href="{% static css/index.css %}&…

IEC104初学者教程,第四章:IEC 104 开发环境搭建

第四章:IEC 104 开发环境搭建 目录第四章:IEC 104 开发环境搭建IEC104从站模拟器的使用IEC104主站模拟器的使用 为了搭建开发环境,我们需要准备三款软件:主站下载地址:IEC104主站模拟器 从站下载地址:IEC104从站模拟器IEC104主站模拟器代表主站(客户端、上位机)负责和从…

nginx小经验:nginx: worker process is shutting down

民间艺术团保安队副队长关注IP属地: 北京 2022.12.14 15:34:14字数 80阅读 1,038 image.png如上图所示:nginx -s reload 之后,新的请求已不会往老的进程转发,一直有连接未断开的老进程一直已“nginx: worker process is shutting down”状态存在 解决办法:1、手动杀掉进程2…

【C++】map

1、定义 template<class Key,class T,class Compare = std::less<Key>,class Allocator = std::allocator<std::pair<const Key, T>> > class map;namespace pmr {template<class Key,class T,class Compare = std::less<Key>> using map …

读人工智能全传14有意识的机器之路

读人工智能全传14有意识的机器之路1. 有意识的机器之路 1.1. 近年来人工智能和深度学习方面取得了真实的、令人兴奋的突破,但它们并不是构建通用人工智能的法宝 1.2. 深度学习可能是通用人工智能的一个重要组成部分,但它绝不是唯一的组成部分 1.3. …

[BSidesCF 2019]SVGMagic 1

SVG注入 xxe攻击打开后发发现他是SVG上传,在这之前我没有接触过SVG是什么,先去学习了一下发现他是xml注入的一种方法,也是通过js代码实现文件读取的 这是几个我看的关于svg的文章 https://www.freebuf.com/vuls/175451.html https://blog.csdn.net/gxyzlxf/article/details/…

【C++】创建对象写法

1、在栈中创建对象 栈中创建的对象,不用我们手动释放资源。 和创建基本类型一样,直接声明即可,如果有参数,则用括号。 vector<int> a; // 默认构造函数 vector<int> b(实参); // 其他构造函数2、在堆中创建对象 堆中创建的对象,需要我们手动释放资源。 使用ne…

PostgreSQL 工具及mysql、mongo

pgAdmin 开源管理工具,提供强大的图形界面,简化数据库对象的创建、维护和使用。 Percona 监控和管理工具 通过单一窗口轻松查看和监控 MySQL、MongoDB、PostgreSQL 和 MariaDB 数据库的性能。 安装PMM服务器curl -fsSL https://www.percona.com/get/pmm | /bin/bash下载PMM …

SciTech-EECS-Wireless-BLE(Bluetooth Low Energy)5.4- Nordic Semi. 的Bluetooth Low Energy SoCs

蓝牙5.4低功耗: 市场上主流的供货方和解决方案:TI Nordic Semi. : nRF5340, nrf52*,Best-in-class Bluetooth Low Energy SoCs Bluetooth Low Energy flagship SoC The nRF5340 SoC is our Bluetooth Low Energy flagship. It is the first SoC in the nRF53 Series and is the…

全网最适合入门的面向对象编程教程:17 类和对象的Python实现-鸭子类型与“file-like object“

本文主要介绍了Python中创建自定义类时鸭子类型的基本定义、特点和应用场景,同时列举了“file-like object“的例子对鸭子类型进行了说明。全网最适合入门的面向对象编程教程:17 类和对象的 Python 实现-鸭子类型与“file-like object“ 摘要: 本文主要介绍了 Python 中创建…