本週16個Github有趣專案如Maestro

banq發表於2024-06-29

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 億行。
    • ♾️能夠處理數百億行的表。
  2. 資料庫內差異:當兩個表位於同一個資料庫中時,Reladiff 會使用連線操作對它們進行比較,並進行額外的最佳化以提高速度。
    • 支援將差異具體化到本地表中。
    • 可以收集有關表的各種額外統計資料。
  3. 執行緒:利用多個執行緒顯著提高差異操作期間的效能。
  4. 可配置:為高階使用者提供多種選項來定製和最佳化他們的使用。
  5. 自動化友好:輸出 JSON 和類似 git 的差異(帶有 + 和 - ),便於輕鬆整合到 CI/CD 管道中。
  6. 支援十幾種資料庫。MySQL、Postgres、Snowflake、Bigquery、Oracle、Clickhouse 等。檢視完整列表 <ul>
    Reladiff 是名為data-diff的存檔專案的一個分支。
  7. 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 <font>"
            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
    "


     

    相關文章