本周Github上Continue、htmz等7个有趣项目

本周Github有趣的项目、工具和库:

1、Continue
使用大模型 帮助编码的最简单方法 —,Continue 是 VS Code 和 JetBrains 的开源自动驾驶仪。

Continue是VS Code和JetBrains的开源自动驾驶仪,是使用任何 LLM 进行编码的最简单方法:

从头开始生成文件
打开一个空白文件,让Continue启动新的Python脚本、React组件等。

  • “/edit 让我开始使用基本的 SUPABASE 边缘功能”
  • “/edit 以简洁的方式实现 C++ 最短路径算法”
  • “/edit 使用 php 和 mysql 服务器创建一个 docker compose 文件”

回答编码问题
突出显示并选择代码部分并询问“继续”以获取另一个视角

  • “这个 forRoot() 静态函数在 Nestjs 中做什么?”
  • “为什么这个查询中的第一个左连接在这里是必要的?”
  • “我如何在这个 Rust 二进制文件上运行性能基准测试?”

用自然语言编辑
突出显示并选择一段代码并指示继续重构它

  • “/edit 重写此代码以从 3x3 矩阵返回展平列表”
  • “/edit 将它们重构为一行上的角度柔性布局”
  • “/edit 在此处定义字典列表列表的类型”

可以使用代理服务器免费试用Continue,该代理服务器分别通过 OpenAI、Google 和 Together 使用我们的 API 密钥安全地调用 GPT-4、Gemini Pro 和 Phind CodeLlama 等模型。

2、Owl 
本地运行的个人可穿戴人工智能。

Owl旨在利用永远在线的可穿戴设备来探索这一想法。强大的 LLM 和 VLM 模型与低功耗可穿戴设备的融合,为人机交互开辟了全新的领域,包括记忆增强、主动生活辅助和分布式知识收集。我们主张透明、公开地探索这一问题。

主要特征

  • 广泛的捕捉设备支持:使用基于 ESP 平台、Sony Spresense 或 Apple Watch 等消费类硬件的定制设备捕捉您的生活。不断添加其他设备支持,因此任何带有传感器的设备都能够向 Owl 发送数据。
  • 灵活的推理选项:完全在本地运行或利用商业模型。使用Ollama上可用的任何模型进行推理,或使用 GPT-4 等商业模型。使用Whisper的 TTS或选择 Deepgram 等商业服务。
  • 从网络捕获:轻松从桌面或任何手机捕获内容。
  • ️多模式捕捉:持续捕捉位置和音频。对图像和视频的支持即将推出!
  • 广泛的连接选项:使用支持 BLE、LTE 或 WiFi 的设备进行捕获。
  • ‍♂️随时随地的交互式 AI:通过本机 iOS 和 Web 界面轻松与您的 AI 交互(Android 支持即将推出!)。
  • 说话者验证:您的人工智能会学习您的声音,因此它知道您何时在说话。
  • 流媒体和离线模式:将您的生活实时传输到人工智能以获取主动帮助,或在网络受限的环境中切换到离线模式。
  • 高级对话理解:利用基于 VAD 的对话端点来细分和理解您的交互。


3、FileQL
一个工具,允许您使用 GitQL SDK 对本地文件而不是数据库文件运行类似 SQL 的查询。

FileQL 中的所有关键字都不区分大小写,与 SQL 类似。

SELECT 1
SELECT 1 + 2
SELECT LEN("File Query Language")
SELECT
"One" IN ("One", "Two", "Three")
SELECT
"File Query Language" LIKE "%Query%"

SELECT * FROM files
SELECT COUNT(path) from files
SELECT DISTINCT parent AS folders FROM files

4、Concurrent.js
JavaScript RTE(Web 浏览器、Node.js & Deno & Bun)的非阻塞并发计算。
Concurrent.js 是一个库,它通过将模块动态加载到后台线程中来实现 JavaScript RTE 上的非阻塞计算 NIO

  • 基于网络工作线程(又名工作线程)构建。
  • 通过提供最少的 API 简化工作人员使用的复杂性。
  • 自动创建和终止worker。
  • 自动清理worker的记忆。
  • 没有第三方运行时依赖。
  • 使用 TypeScript 编写,具有最严格的 ESNext 配置。
  • 严格设计用于支持强类型编程。
  • 打包为针对 ES2020 的特定于平台的捆绑包。


5、oink
一个单文件 PHP 的免费开源 API 包装器,可轻松构建 API。

该库优先考虑开发速度和简单性,包括最佳实践和标准。如果您正在寻找高度可定制、模块化和可扩展的解决方案,您应该寻找功能齐全的框架,例如 Laravel、Symfony 或 Lumen。

API代码:

require_once 'db.php';  // Your database functions
use function Oink\{str, enum, id, email};

function post_list() {
    $page = id(
"page", default: 1, optional: true);
    $limit = enum(
"limit", values: [10, 20, 50], default: 10, optional: true);
    [$pages, $posts] = DB\posts($page, $limit);
    return [
       
"page" => $page, "pages" => $pages, "limit" => $limit, "posts" => $posts
    ];
}

function comment_list() {
    $post_id = id(
"post_id");
    check(DB\post_exists($post_id),
"postNotFound");
    return [
"comments" => DB\comments($post_id)];
}

function comment_create() {
    $post_id = id(
"post_id");
    $author = email(
"author");
    $text = str(
"text", min: 5, max: 100);
    check(DB\post_exists($post_id),
"postNotFound");
    return [
"id" => DB\create_comment($post_id, $author, $text)];
}

  • 路由:调用 serve 时,它会查看作为参数传递的文件中定义的所有函数名,并为每个函数创建一个端点。因此,访问 my.website/post/list 将调用 post_list 函数。这种路由可以通过向服务传递额外参数来定制。端点与方法无关,因此可以使用 GET、POST、PUT、DELETE 等方法访问它们。
  • 参数:在端点文件中,请求参数是通过调用带有类型名称的函数读取的。例如,调用 str("tag", optional: true) 会读取标签参数,确保它是一个字符串,并返回其值,如果不存在则返回空值。参数可以是表单数据、JSON、cookie,甚至是标题。默认情况下,不允许使用 GET 参数(因为参数不知道请求方法,这可能导致 CSRF 攻击),但可以通过向服务传递 allow_get: true 来启用它们。
  • 响应:响应是端点函数返回的 JSON 对象或数组。如果函数没有返回任何内容,响应将是{"success": true}。如果参数验证失败或检查结果为 false,则会返回一个包含 {"error":<原因>}。如果出现异常,将返回 500 错误。

6、htmz
htmz 是一个极简主义 HTML 微框架,使您能够以熟悉的纯 HTML 简单性创建模块化 Web 用户界面。
htmz 是一项受到 htmx、 Comet、“HTML 作为应用程序状态引擎” 和其他类似 Web 应用程序架构 启发的实验。

零依赖。零 JS 包加载。甚至不需要后端。只是一个内联 HTML 片段。

只需将以下代码片段复制到您的页面中即可。

<iframe hidden name=htmz onload="setTimeout(()=>document.querySelector(contentWindow.location.hash||null)?.replaceWith(...contentDocument.body.childNodes))"></iframe>

对于黑客来说,您可以从开发版本(deminified)开始: htmz.dev.html

htmz 做一件事,而且只做一件事。

  • 使您能够在页面中的任何元素内加载 HTML 资源。

加载 HTML 资源?
  • 想象一下单击一个链接,但它不会重新加载整个页面,而是仅更新页面的相关部分。
  • 想想选项卡式 UI、双窗格列表详细布局、对话框、就地编辑器等。

想法并不新鲜。自 20 世纪 90 年代中期以来,将网页划分为独立的重新加载部分就已成为一种趋势。它们被称为 框架,即 <iframe>、<frame> 和 <frameset>。

htmz 是 HTML 框架的概括。

加载 HTML 资源任何frame框架页面中的任何元素:

  • 没有阻止默认值。
  • 没有隐藏层。
  • 真实的 DOM,真实的交互。
  • 没有 VDOM,没有点击监听器。
  • 没有 AJAX,没有获取。 

通过使用 iframe,我们依靠浏览器的本机功能来获取 URL 并解析 HTML。加载 HTML 资源后,我们通过 onload 处理程序获取生成的 DOM。

7、Python中有趣的库包

  • Toto:Toto 是一个旨在加速 API 服务器开发的小型框架。它构建在 Tornado 之上,目前可以使用 MySQL 或 MongoDB 作为后备数据库。
  • Flask 调试工具栏:这是 Flask 应用程序的优秀 django-debug-toolbar 的端口。
  • Booktype:Booktype 是一个免费的开源平台,可在几分钟内制作出适合印刷、亚马逊、iBooks 和几乎任何电子阅读器格式的精美、引人入胜的书籍。Booktype 是使用 Django 构建的。
  • CrypTweet:Twitter 的强加密:CrypTweet 是一个旨在协同工作的 Python 程序集合,使用 RSA 公钥加密技术,以便任何人都可以向您发送加密的直接消息,但只有您可以阅读它。
  • Django 用户指标:它是一个 Django 应用程序,允许您单独捕获每个用户的应用程序指标。您可以为每个用户生成按天或按周汇总结果的报告。
  • Mock - 模拟和测试库:Mock 是一个用于 Python 测试的库。它允许您用模拟对象替换被测系统的某些部分,并对它们的使用方式做出断言。
  • Logan:Logan 是一个用于运行独立 Django 应用程序的工具包。它为您提供了创建 CLI 运行程序、管理设置以及引导进程的功能的工具。
  • Django知识:Django Knowledge 使您只需几行样板代码就可以轻松地将集成支持台、帮助台或知识库添加到您的 Django 项目中。