本周16个Github有趣项目如Maestro

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

1、Maestro
Maestro - 为 Claude Opus、GPT 和本地 LLM 协调子代理的框架

此 Python 脚本演示了使用 Anthropic API 的 AI 辅助任务分解和执行工作流程。它利用两个 AI 模型 Opus 和 Haiku 将目标分解为子任务,执行每个子任务,并将结果细化为有凝聚力的最终输出。

更新了原版 Maestro,以支持 Claude 3.5 Sonnet

特征

  • 使用 Opus 模型将目标分解为可管理的子任务
  • 使用 Haiku 模型执行每个子任务
  • 为 Haiku 模型提供先前子任务的记忆,以供参考
  • 使用 Opus 模型将子任务结果细化为最终输出
  • 生成详细的交换日志,记录整个任务分解和执行过程
  • 将交换日志保存为 Markdown 文件,方便参考
  • 利用改进的 Opus 模型提示来更好地评估任务完成情况
  • 在处理代码项目时创建代码文件和文件夹。


使用 LMStudio 或 Ollama 在本地运行

2、vterm
用 Rust 编写的跨平台 Vulkan 终端模拟器。

该项目在当前状态下无法使用,并且可能会发生很大变化。

项目状态

  • 窗口化
  • 渲染管道
  • 图像绘制
  • 字体绘制
  • 自定义字体加载
  • UI 层的布局(目前有问题)
  • 郵件
  • 处理输入
  • 终端缓冲区到屏幕
  • 标签
  • 可拖拽/多窗口
  • 菜单、设置
  • 配置

3、spring-restbucks
该项目是Jim Webber、Savas Parastatidis 和 Ian Robinson 合著的《REST in Practice》一书中描述的 Restbucks 应用程序的示例实现。它展示了如何将不同的 Spring 生态系统技术结合在一起来实现 REST Web 服务。该应用程序使用HAL作为主要表示格式。服务器实现附带一个超媒体感知 Android 客户端,该客户端可以动态适应服务器上的变化。


4、Midday
Midday 是一款一体化工具,旨在帮助自由职业者、承包商、顾问和个体企业家更有效地管理其业务运营。它将通常分散在多个平台上的各种功能集成到一个统一的系统中。

特征

  • 时间跟踪:允许实时跟踪项目时间以提高生产力和协作,提供富有洞察力的项目概述。
  • 发票:即将推出的功能,使用户能够创建基于 Web 的发票、实时协作并无缝同步项目。Magic
  • Inbox:自动将收到的发票或收据与正确的交易进行匹配,简化财务跟踪和组织。
  • 保险库:安全存储合同和协议等重要文件,将所有内容集中在一个地方以方便访问。
  • 无缝导出:方便轻松导出财务数据,为会计人员整齐地打包在 CSV 文件中。
  • 助手:提供针对财务状况的定制见解,帮助用户了解消费模式、削减成本和查找文档。

5、asciinema
适用于 MacOS/Linux/Windows 的跨平台 asciinema(v2) 终端会话记录器。目前比官方版本更好。

这个项目是使用 go 编写的asciinema的跨平台版本,功能齐全。您可以使用它在MacOS/Linux/Windows上创建、编辑、上传、转换(到 gif 动画) asciinema 格式。

6、Eidos
Notion 的离线替代品。Eidos 是一个可扩展的框架,可在一个地方管理您一生的个人数据。

特征

  • 一切都在您的浏览器中运行。这是一个纯粹的 PWA,没有网络服务器。
  • 离线支持:无需网络连接即可访问您的数据。数据存储在本地,性能极快。
  • AI 功能:与 LLM 深度集成,实现 AI 驱动的功能。在 Eidos 中翻译、总结和与您的数据交互。AI 甚至可以离线工作。
  • 可扩展:定制 Eidos 以满足您的需求。
    • Prompt:使用 Prompt 扩展加快您的工作流程。无需编码。
    • UDF:使用 JavaScript 自定义公式函数。
    • 脚本:使用 TypeScript/JavaScript 创建强大的数据处理逻辑。
    • 应用程序:使用任何首选框架构建您自己的应用程序。
    • 块:使用自定义块扩展文档。
    • 字段:使用自定义字段扩展表格。
  • 开发人员友好:
    • API 和 SDK
    • Sqlite 标准化:Eidos 中的每个表都是一个 SQLite 表。

7、hftbacktest
一种用 Python 和 Rust 编写的高频交易和做市回测工具,它考虑限价订单、队列位置和延迟,利用交易和订单簿的完整刻度数据,为币安期货提供真实的加密做市示例

实验性功能目前处于开发的早期阶段,已用 Rust 完全重写以支持以下功能。

  • 通过可自定义的时间间隔或基于进料和订单收据完成逐笔模拟。
  • 根据 L2 按价格市场和 L3 按订单市场(WIP)信息重建完整的订单簿。
  • 使用提供的模型或您自己的自定义模型,对供给和订单延迟进行回测。
  • 订单填写模拟考虑到订单队列的位置,使用提供的模型或您自己的自定义模型。
  • 多资产和多交易所模型的回测
  • 使用相同算法代码部署实时交易机器人:目前适用于币安期货和Bybit。


8、tachyonfx 
tachyonfx是一个 ratatui 库用于在终端 UI 中创建类似着色器的效果。

效果

该库包含多种效果,分类如下:
色彩效果

  • fade_from: 从指定的背景色和前景色淡出
  • fade_from_fg: 将前景色从指定颜色淡出。
  • fade_to: 淡入指定背景色和前景色。
  • fade_to_fg: 将前景色淡入为指定颜色。
  • hsl_shift: 改变前景色和背景色的色调、饱和度和亮度。
  • hsl_shift_fg: 在指定的时间内将前景色按指定的色调、饱和度和亮度移动。
  • term256_colors:下采样至256色模式。

文字/字符效果
  • 合并:溶解的反向操作,在指定的时间内合并文本。
  • 溶解:在指定的时间内溶解当前文本。
  • sweep_in:从指定的颜色扫描。
  • sweep_out:扫除至指定的颜色。

时间和控制效果
  • consumer_tick: 消耗一个 tick。
  • never_complete: 使效果无限期地运行。
  • ping_pong: 先正向播放效果,然后反向播放。
  • 重复: 无限重复某个效果或者重复指定的次数或持续时间。
  • 重复: 无限重复该效果。
  • 睡眠: 暂停指定的时间。
  • timed_never_complete:创建一个无限期运行但具有强制持续时间的效果。
  • with_duration: 包装效果并强制其持续时间。

几何效果
  • 翻译: 将效果区域移动指定的量。
  • resize_area:调整包装效果区域的大小。

组合效应
  • parallel:同时并行运行所有效果。所有效果完成后报告完成情况。
  • 序列:按顺序运行效果,一个接一个。最后一个效果完成后报告完成。

9、clai
clai通过与终端集成多个供应商的 AI 模型。您可以在使用本机终端功能(例如管道和终止信号)的同时生成图像、文本、汇总内容和聊天。
多供应商方面可以轻松比较不同型号,也消除了多次订阅的需要:大多数 API 都是基于使用情况的(有些具有到期时间)

特征

  • 提示输入来自:
    • 管道数据
    • 全局文件输入
    • 参数
  • 对话(输入选项与上文相同)
  • 使用易于分叉+可扩展的工具进行工具调用
  • 照片生成*
  • 人类可读/机器人可读的输出
  • 100% go 标准库 (/x/net 除外)

* 目前只与 dall-e 合作。催促我实现 modellabs,我会做到的。


10、dotenvx
更好的 dotenv –来自 的创建者dotenv

  • 在任何地方运行(跨平台)
  • 多环境
  • 加密环境

11、ball
它是你 Dock 里的一个小球。你可以拖动它,它会在屏幕上弹跳。你也可以用两根手指轻扫它。它是红色的。你可以轻弹它、弹跳它、试着让它撞到角落、看看它能弹跳多少次、计算它撞到墙壁的次数等等。它是一个球。它很有趣。它是一个球。
下载版本

它的设计灵感来自Nate Heagy为 OS X Dashboard 设计的 widget,我对它记忆犹新,因为五年级时有人把它放在我们班的eMac上。它弹性更好,颜色也更多,但它没有放在 dock 里!
还要感谢 Wessley Roche,他制作了这个小 Gist来解释如何获取 Dock 的位置。我扩展了它,尝试估计单击应用的 Dock 图标时它的位置,这样球就可以动画出来。


12、Reladiff
Reladiff是一款高性能工具和库,专为跨数据库比较大型数据集而设计。通过在数据库内部执行差异计算,Reladiff 可最大限度地减少数据传输并实现最佳性能。
该工具专为数据专业人员、DevOps 工程师和系统管理员量身定制。
Reladiff 是免费的、开源的、用户友好的、经过广泛测试的,并且即使大规模也能快速提供结果。

主要特征:

  1. 跨数据库差异:Reladiff 采用基于匹配哈希的分而治之算法,有效识别已修改的段并仅下载需要进行比较的数据。当差异很小的时候,这种方法可确保出色的性能。
    • ⇄ 跨十几个不同数据库的差异(例如PostgreSQL -> Snowflake)!
    • 根据数据库规范进行四舍五入,优雅地处理降低的精度(例如,时间戳(9)->时间戳(3))。
    • 基准测​​试显示,在没有差异的情况下,10 秒内可比较超过 2500 万行,大约 5 分钟内可比较超过 10 亿行。
    • ♾️能够处理数百亿行的表。
  • 数据库内差异:当两个表位于同一个数据库中时,Reladiff 会使用连接操作对它们进行比较,并进行额外的优化以提高速度。
    • 支持将差异具体化到本地表中。
    • 可以收集有关表的各种额外统计数据。
  • 线程:利用多个线程显著提高差异操作期间的性能。
  • 可配置:为高级用户提供多种选项来定制和优化他们的使用。
  • 自动化友好:输出 JSON 和类似 git 的差异(带有 + 和 - ),便于轻松集成到 CI/CD 管道中。
  • 支持十几种数据库。MySQL、Postgres、Snowflake、Bigquery、Oracle、Clickhouse 等。查看完整列表
    Reladiff 是名为data-diff的存档项目的一个分支。

    13、OpenContracts
    OpenContracts 是一款Apache-2 许可的企业文档分析工具。
    强大的 PDF 处理管道:

    • 我们拥有强大的 PDF 处理流程,可水平扩展,并为 PDF 输入一致地生成标准化数据(我们正在努力尽快添加其他格式)

    它提供了几个主要功能:

    1. 管理文档- 管理文档集合 ( Corpuses)
    2. 布局解析器- 自动从 PDF 中提取布局特征
    3. 自动矢量嵌入- 为上传的 PDF 和提取的布局块生成
    4. 可插入式微服务分析器架构——让您分析文档并自动注释
    5. 人工注释界面——用于手动注释文档,包括多页注释。
    6. LlamaIndex 集成- 使用我们的向量存储(由 pgvector 提供支持)和任何手动或自动注释的功能,让 LLM 智能地回答问题。
    7. 数据提取- 使用复杂的 LLM 查询行为对数百个文档提出多个问题。我们的示例实现使用 LlamaIndex + Marvin。
    8. 自定义数据提取- 可以在前端使用自定义数据提取管道批量查询文档。


    14、Unique3D
    Unique3D 的官方实现:从单个图像生成高质量、高效的 3D 网格。

    Unique3D 在 30 秒内从单视图野生图像生成高保真、多样化纹理网格。

    论文|项目页面Huggingface 演示Gradio 演示|在线演示


    15、Frappe HR
    Frappe HR 拥有推动公司内部卓越发展所需的一切。它是一款完整的 HRMS 解决方案,包含 13 多个不同的模块,包括员工管理、入职、休假、工资单、税务等!

    主要特征

    • 员工管理
    • 员工生命周期
    • 请假及出勤
    • 轮班管理
    • 费用报销和预付款
    • 招聘
    • 绩效管理
    • 车队的管理
    • 训练
    • 工资单
    • 税收
    • 赔偿
    • 分析


    16、sellm
    在 SQLite 查询中使用 LLM

    tsellm依赖以下事实:

    • SQLite 与标准 Python 库捆绑在一起(import sqlite3)
    • Python 3.12 附带SQLite 交互式 shell
    • 可以创建用 Python 编写的用户定义函数以用于 SQLite 查询(请参阅create_function
    • Simon Willison经历了创建漂亮的llm Python 库和 CLI的过程

    例子
    如果您在标准 SQLite 查询中组合模型,事情会变得更加有趣。

    首先,创建一个包含一些数据的数据库

    sqlite3 prompts.db <<EOF
    CREATE TABLE [prompts] (
       [p] TEXT
    );
    INSERT INTO prompts VALUES('hello world!');
    INSERT INTO prompts VALUES('how are you?');
    INSERT INTO prompts VALUES('is this real life?');
    INSERT INTO prompts VALUES('1+1=?');
    EOF

    只需一个查询,您就可以获得来自不同 LLM 的快速答复:

    tsellm prompts.db "
            select p,
            prompt(p, 'orca-2-7b'),
            prompt(p, 'orca-mini-3b-gguf2-q4_0'),
            embed(p, 'sentence-transformers/all-MiniLM-L12-v2') 
            from prompts
    "