Skip to content

Latest commit

 

History

History
296 lines (217 loc) · 18.8 KB

File metadata and controls

296 lines (217 loc) · 18.8 KB

LibreFang Logo

LibreFang

Операційна система вільних агентів — Free as in Freedom

Агентська ОС з відкритим кодом, написана на Rust. 24 крейти. 2100+ тестів. Нуль попереджень clippy.

English | 中文 | 日本語 | 한국어 | Español | Deutsch | Polski | Français | Українська

Вебсайт • Документація • Участь у розробці • Discord

CI Rust MIT Stars Latest Release Discord Ask DeepWiki


Що таке LibreFang?

LibreFang — це операційна система агентів (Agent Operating System), повноцінна платформа для запуску автономних ШІ-агентів, створена з нуля на Rust. Це не фреймворк для чат-ботів і не Python-обгортка.

Традиційні фреймворки для агентів чекають, поки ви щось введете. LibreFang запускає агентів, які працюють на вас — за розкладом, 24/7, моніторячи цілі, генеруючи ліди, керуючи соціальними мережами та надсилаючи звіти на вашу панель приладів (dashboard).

LibreFang — це форк проекту RightNow-AI/openfang, створений спільнотою з відкритим управлінням та політикою прийняття PR «merge-first». Деталі див. у GOVERNANCE.md.

Панель приладів LibreFang

Швидкий старт

# Встановлення (Linux/macOS/WSL)
curl -fsSL https://librefang.ai/install.sh | sh

# Або встановлення через Cargo
cargo install --git https://github.com/librefang/librefang librefang-cli

# Запуск — автоматична ініціалізація при першому запуску, панель приладів на http://localhost:4545
librefang start

# Або запустіть майстер налаштування вручну для інтерактивного вибору провайдера
# librefang init
Homebrew

🎉 LibreFang тепер у homebrew-core! Прийнято до офіційного tap Homebrew 2026-07-08 — встановлюйте CLI без налаштувань і без tap.

brew install librefang              # CLI (стабільна версія) — офіційний homebrew-core

Десктопний застосунок і канали передрелізів, як і раніше, публікуються через tap LibreFang:

brew tap librefang/tap
brew install --cask librefang       # Desktop (стабільна версія)
# Канали бета та RC:
# brew install librefang-beta       # або librefang-rc
# brew install --cask librefang-rc  # або librefang-beta
Arch Linux (pacman)

Реєстрація облікових записів AUR тимчасово недоступна. Тому LibreFang зараз публікує підписані пакети через свій офіційний репозиторій pacman.

# Імпортуйте ключ підпису пакетів LibreFang і локально позначте його як довірений
curl -fsSL https://packages.librefang.ai/librefang.gpg -o /tmp/librefang.gpg
sudo pacman-key --add /tmp/librefang.gpg
sudo pacman-key --finger 2C325B0F88706ED99C45E216DD09DC7D3E70E1E9
sudo pacman-key --lsign-key 2C325B0F88706ED99C45E216DD09DC7D3E70E1E9

Додайте репозиторій до /etc/pacman.conf:

[librefang]
Server = https://packages.librefang.ai/arch/$arch

librefang-bin і librefang-desktop-bin є незалежними пакетами. Встановлюйте лише пакет для потрібного вам інтерфейсу.

CLI, daemon і вебпанель

sudo pacman -Syu librefang-bin

Desktop-додаток (лише x86_64)

sudo pacman -Syu librefang-desktop-bin

Докладніше про пакети та підтримку aarch64 дивіться в документації репозиторію Arch.

Docker
docker run -p 4545:4545 ghcr.io/librefang/librefang
Хмарне розгортання

Deploy Hub Fly.io Render Railway GCP

Hands: Агенти, які працюють на вас

Hands — це автономні пакети можливостей, які запускаються незалежно, за розкладом, без необхідності вводити промпти. Кожен Hand визначається маніфестом HAND.toml, системним промптом та необов'язковими файлами SKILL.md, що завантажуються з налаштованої директорії hands_dir.

Приклади визначень Hands (Researcher, Collector, Predictor, Strategist, Analytics, Trader, Lead, Twitter, Reddit, LinkedIn, Clip, Browser, API Tester, DevOps) доступні в репозиторії Hands спільноти.

# Встановіть Hand спільноти, а потім:
librefang hand activate researcher   # Починає працювати негайно
librefang hand status researcher     # Перевірити прогрес
librefang hand list                  # Переглянути всі встановлені Hands

Створіть власний: визначте HAND.toml + системний промпт + SKILL.md. Керівництво

Архітектура

24 крейти Rust + xtask, модульний дизайн ядра (kernel).

librefang-kernel            Оркестрація, воркфлоу, облік витрат, RBAC, планувальник, бюджет
librefang-runtime           Цикл агента, виконання тул, WASM-пісочниця, MCP, A2A
librefang-api               140+ REST/WS/SSE ендпоінтів, OpenAI-сумісний API, панель приладів
librefang-channels          45 адаптерів обміну повідомленнями з лімітами запитів, DM/груповими політиками
librefang-memory            Збереження в SQLite, векторні ембеддінги, сесії, компакшн
librefang-types             Базові типи, відстеження змін (taint tracking), підписи Ed25519, каталог моделей
librefang-skills            60 вбудованих скілів, парсер SKILL.md, маркетплейс FangHub
librefang-hands             Парсер HAND.toml, реєстр Hands, керування життєвим циклом
librefang-extensions        25 темплейтів MCP, сховище AES-256-GCM, OAuth2 PKCE
librefang-wire              Протокол P2P OFP, взаємна автентифікація HMAC-SHA256 (див. примітку)
librefang-cli               CLI, керування демоном, панель приладів TUI, режим MCP-сервера
librefang-desktop           Нативний додаток Tauri 2.0 (трей, сповіщення, гарячі клавіші)
librefang-import            Рушій імпорту/міграції з OpenClaw, LangChain, AutoGPT
librefang-http              Спільний HTTP-клієнт builder, проксі, TLS-резервування
librefang-testing           Тестова інфраструктура: mock-ядро, mock-драйвер LLM та утиліти тестування маршрутів API
librefang-telemetry         Інструментування метрик OpenTelemetry + Prometheus для LibreFang
librefang-llm-driver        Трейт LLM-драйвера та спільні типи для LibreFang
librefang-llm-drivers       Конкретні драйвери провайдерів LLM (anthropic, openai, gemini, …), що реалізують трейт librefang-llm-driver
librefang-runtime-mcp       Клієнт MCP (Model Context Protocol) для рантайму LibreFang
librefang-kernel-handle     Трейт KernelHandle для викликів ядра LibreFang всередині процесу
librefang-kernel-router     Рушій маршрутизації Hands/Темплейтів для ядра LibreFang
librefang-kernel-metering   Облік витрат, застосування квот для ядра LibreFang
xtask                       Автоматизація збірки

Канал зв'язку OFP є відкритим за дизайном. Взаємна автентифікація HMAC-SHA256 + HMAC для кожного повідомлення + захист від повторів nonce захищають від активних атак, але вміст фреймів не шифрується. Для міжмережевої федерації запускайте OFP за приватним оверлеєм (WireGuard, Tailscale, SSH-тунель) або mTLS-рівнем сервісної сітки. Детальніше: docs.librefang.ai/architecture/ofp-wire

Ключові особливості

45 адаптерів каналів — Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, Teams, Google Chat, Feishu, LINE, Mastodon, Bluesky та ще 32. Повний список

28 провайдерів LLM — Anthropic, Gemini, OpenAI, Groq, DeepSeek, OpenRouter, Ollama, Alibaba Coding Plan та ще 20. Інтелектуальна маршрутизація, автоматичний перехід на резервні варіанти, відстеження витрат. Детальніше

16 рівнів безпеки — WASM-пісочниця, Merkle audit trail, відстеження змін (taint tracking), підписи Ed25519, захист від SSRF, обнулення секретів тощо. Детальніше

OpenAI-сумісний API — Швидка заміна ендпоінту /v1/chat/completions. 140+ REST/WS/SSE ендпоінтів. Довідник API

Клієнтські SDK — Повноцінний клієнт REST із підтримкою потокової передачі (streaming).

// JavaScript/TypeScript
npm install @librefang/sdk
const { LibreFang } = require("@librefang/sdk");
const client = new LibreFang("http://localhost:4545");
const agent = await client.agents.create({ template: "assistant" });
const reply = await client.agents.message(agent.id, "Hello!");
# Python
pip install librefang
from librefang import Client
client = Client("http://localhost:4545")
agent = client.agents.create(template="assistant")
reply = client.agents.message(agent["id"], "Hello!")
// Rust
cargo add librefang
use librefang::LibreFang;
let client = LibreFang::new("http://localhost:4545");
let agent = client.agents().create(CreateAgentRequest { template: Some("assistant".into()), .. }).await?;
// Go
go get github.com/librefang/librefang/sdk/go
import "github.com/librefang/librefang/sdk/go"
client := librefang.New("http://localhost:4545")
agent, _ := client.Agents.Create(map[string]interface{}{"template": "assistant"})

Підтримка MCP — Вбудований клієнт та сервер MCP. Підключайтеся до IDE, розширюйте за допомогою власних тул, створюйте конвеєри агентів. Детальніше

Протокол A2A — Підтримка протоколу Google Agent-to-Agent. Знаходьте, спілкуйтеся та делегуйте таски між системами агентів. Детальніше

Настільний додаток — Нативний додаток Tauri 2.0 із системним треєм, сповіщеннями та глобальними гарячими клавішами.

Міграція з OpenClaw — librefang migrate --from openclaw імпортує агентів, історію, скіли та конфігурацію.

Розробка

cargo build --workspace --lib                            # Збірка
cargo test --workspace                                   # 2100+ тестів
cargo clippy --workspace --all-targets -- -D warnings    # Нуль попереджень
cargo fmt --all -- --check                               # Перевірка форматування

Коміт змін

Використовуйте scripts/commit.sh замість прямого git commit, щоб змінені файли Rust були відформатовані через rustfmt перед запуском pre-commit хуків:

scripts/commit.sh -m "feat: add foo"
scripts/commit.sh -F .git/COMMIT_EDITMSG

Оболонка запускає cargo fmt для індексованих файлів *.rs, повторно додає їх до індексу та встановлює м'яке блокування паралельних комітів у тому самому робочому дереві. Усі прапорці передаються команді git commit без змін. Якщо cargo недоступний, скрипт пропускає форматування та попереджає; pre-commit хук усе одно перевірить коміт.

Порівняння

Див. Порівняння для порівняння бенчмарків та функціоналу з OpenClaw, ZeroClaw, CrewAI, AutoGen та LangGraph.

Посилання

Учасники проекту

Contributors

Ми раді будь-якій допомозі — кодом, документацією, перекладами, звітами про помилки.
Ознайомтеся з Керівництвом для розробників та оберіть хорошу першу таску для старту!
Ви також можете відвідати неофіційну вікі, де зібрано корисну інформацію для нових контриб'юторів.

Star History


MIT License