Gratuito · gira sul tuo computer
Una biblioteca di conoscenza sui tuoi file, per te e i tuoi agenti IA
Aggiungi una cartella di documenti e cercala in tre modi contemporaneamente: per significato, per forme delle parole in 15 lingue e per nomi esatti delle API. C’è un’interfaccia web per te e un server MCP per Claude Code, pi, Cursor e altri agenti.
- Un unico binario Rust via npx
- Niente Python, niente database
- GPU NVIDIA, DirectML o CPU
# metti una cartella sullo scaffale
$ npx lib2027 add ./docs
# apri l’interfaccia web → http://127.0.0.1:2027
$ npx lib2027Benchmark
Aiuta davvero un modello a rispondere?
I modelli non conoscono a memoria le informazioni recenti o di nicchia, e aggiungere altro testo non basta. Abbiamo misurato cosa fanno i frammenti giusti.
Come abbiamo misurato
Stesso modello, stesse domande
Ogni confronto usa un solo modello su un solo insieme di domande. L’unica cosa che cambia è ciò che il modello può leggere.
Un gruppo placebo
Testo irrilevante della stessa lunghezza: un controllo per l’idea che «più contesto aiuta».
Preregistrato
Domande, regole e soglie di successo sono state fissate prima di raccogliere qualsiasi dato.
Ripetuto e verificato
Ogni gruppo è stato eseguito 3 volte. La significatività deriva da un test dei segni appaiato sulle domande.
Quota di risposte corrette
- Senza biblioteca
- Placebo
- Con lib2027
- Senza biblioteca — il modello risponde a memoria
- Placebo — testo irrilevante della stessa lunghezza
- Con lib2027 — i frammenti restituiti dalla ricerca di lib2027
Documentazione web recente (devdocs, set. 2026)
150 domande · qwen3.8-27bLe stesse domande, modello piccolo
150 domande · 4BDiritto russo (15 codici, pravo.gov.ru)
150 domande · qwen3.8-27bQuiz sull’API di three.js r186
90 risposte · Claude Haiku 4.5¹ Viene restituito l’intero articolo di legge invece dei primi 800 caratteri (il risultato precedente era 69,1%). Sugli articoli modificati dal 2024, il modello passa dal 25% all’81%.
Mostra i numeri in tabella
| Attività | Modello | Senza biblioteca | Placebo | Con lib2027 |
|---|---|---|---|---|
| Documentazione web recente (devdocs, set. 2026) 150 domande · qwen3.8-27b | qwen3.8-27b | 17,8% | 12,7% | 85,1% |
| Le stesse domande, modello piccolo 150 domande · 4B | 4B | 9,1% | 0,4% | 83,1% |
| Diritto russo (15 codici, pravo.gov.ru) 150 domande · qwen3.8-27b | qwen3.8-27b | 34,7% | 33,8% | 84,4%¹ |
| Quiz sull’API di three.js r186 90 risposte · Claude Haiku 4.5 | Claude Haiku 4.5 | 27,8% | — | 88,9% |
Oltre il quiz: three.js con Claude Haiku 4.5
Risposte che usano un’API obsoleta
24,4%5,6%
meno è meglio
Compito «scrivi un gioco», punteggio su 100
5275
più alto è meglio
Turni per completare il gioco
5636
a un costo leggermente inferiore
Una libreria che il modello non ha mai visto
2% - 5%84% - 96%
Un modello 4B passa dal 2% - 5% al 84% - 96% di compiti superati quando lib2027 fornisce le note di migrazione al compito.
In sintesi
I modelli non conoscono a memoria le informazioni recenti o di nicchia, e più contesto da solo non aiuta: il placebo non ha mai superato la risposta a memoria. Ciò che aiuta sono i frammenti giusti, ed è proprio quello che fornisce lib2027.
Velocità: Rust contro la precedente versione in Python
Misurato su Windows con una RTX 5090, sullo stesso scaffale e con le stesse query. Le due versioni restituiscono gli stessi risultati: nel quiz sul diritto, entrambe hanno fornito l’articolo per 122 domande su 150.
- Python + PyTorch
- lib2027 (Rust)
initializeadd ./docs (6 documenti, 237 frammenti)Come funziona
Tre tipi di ricerca, una risposta ordinata
Ogni query passa per tre canali contemporaneamente. I risultati vengono uniti e riordinati, e tu o il tuo agente ricevete passaggi interi da leggere e citare, non frammenti sparsi.
Significato
La ricerca semantica con l’embedder Qwen3-Embedding-0.6B trova passaggi che dicono la stessa cosa con parole diverse.
Forme delle parole
Morfologia per russo, inglese e altre 13 lingue: cerchi una forma di una parola e trovi le altre.
Nomi esatti delle API
I nomi di funzioni, classi e opzioni vengono confrontati in modo esatto: un nome trova proprio quella cosa, non qualcosa di simile.
Reranker
Il cross-encoder bge-reranker-v2-m3 legge ogni candidato insieme alla query e mette i migliori in cima.
Articoli interi
La struttura viene preservata. Le leggi sono suddivise per articoli e viene fornito l’articolo intero: così il benchmark sul diritto è passato dal 69,1% all’84,4%.
Formati: md, txt, html, pdf, docx e codice sorgente (js, ts, json, …). npx lib2027 package <name> aggiunge un intero pacchetto npm: tipi delle API, documentazione, test ed esempi.
Per gli agenti
Collegalo a Claude Code, pi, Cursor e altri client MCP
lib2027 funziona come server MCP. Basta un comando per collegarlo e da quel momento l’agente cerca nelle tue biblioteche da solo.
Claude Code
npx lib2027 claudeEsegue claude mcp add al posto tuo. Claude Code ottiene questi strumenti:
search_knowledgeread_sourcelist_librariescheck_codeexplore_graph
pi
npx lib2027 piInstalla l’adattatore MCP in pi e collega lib2027. npx lib2027 pi --remove lo scollega.
Cursor, Claude Desktop e altri client
Aggiungi questo alla configurazione MCP:
{ "mcpServers": { "lib2027": { "command": "npx", "args": ["-y", "lib2027", "mcp"] } } }Su Windows, esegui npx tramite cmd:
{ "mcpServers": { "lib2027": { "command": "cmd", "args": ["/c", "npx", "-y", "lib2027", "mcp"] } } }Preferisci il browser? npx lib2027 apre l’interfaccia web su http://127.0.0.1:2027, con accanto una HTTP API.
Comandi
Un binario, pochi comandi.
| Comando | Cosa fa |
|---|---|
add <folder|files…> [--name …] [--lang auto|ru|en|…] [--to slug] | Una cartella diventa una biblioteca; i file vengono aggiunti alla biblioteca indicata. Rieseguendolo si aggiornano i file modificati. |
list | Biblioteche sullo scaffale |
search "query" [-l slug] [--top-k 5] | Ricerca |
remove <slug> / restore <slug> | Nascondi dalla ricerca / ripristina (i file restano sul disco) |
package <npm-package>[@version] | Un intero pacchetto npm: tipi delle API, documentazione, test ed esempi |
ui [--port 2027] [--no-open] | Interfaccia web e HTTP API (come l’avvio senza comando) |
mcp | Server MCP su stdio (avviato dall’agente) |
claude [--scope user|project] | Esegue claude mcp add al posto tuo; senza Claude Code, stampa una configurazione per altri client |
pi [--project] [--remove] | Installa l’adattatore MCP in pi e collega lib2027 (o lo scollega) |
ask "question" | Una risposta con citazioni verificate (serve una chiave del modello: LIB2027_ANSWER_*) |
setup [--device cuda|directml|cpu] | Installa in anticipo runtime e modelli |
doctor | Mostra cosa è installato e su cosa calcola |
Funziona dove lavori tu
Piattaforme
| Piattaforme | CUDA | DirectML | CPU |
|---|---|---|---|
| Windows x64 | ✓ | ✓ | ✓ |
| Windows arm64 | — | — | ✓ |
| Linux x64glibc 2.35+ | ✓ | — | ✓ |
| Linux arm64glibc 2.35+ | — | — | ✓ |
| macOS Apple Silicon | — | — | ✓ |
Accelerazione
NVIDIA CUDA su Windows e Linux x64, DirectML su Windows x64. Tutto il resto gira sulla CPU.
Cosa ti serve
Solo Node.js 18+. Il primo avvio scarica il resto in ~/.lib2027, una sola volta, in circa 2 minuti: un runtime ONNX per il tuo hardware e due modelli, Qwen3-Embedding-0.6B e bge-reranker-v2-m3.
I tuoi documenti restano sul tuo dispositivo
Locale per natura
I tuoi documenti e lo scaffale restano sul tuo dispositivo. La ricerca gira nel binario, sulla tua GPU o CPU.
Nessun invio, a meno che tu non lo chieda
Il testo arriva a terzi solo se configuri un modello esterno per il servizio di risposta (LIB2027_ANSWER_*).
Solo localhost per impostazione predefinita
Senza LIB2027_API_KEY, l’interfaccia web e la HTTP API non richiedono chiavi e sono raggiungibili solo da localhost.
Una semplice cartella
Ogni biblioteca è composta da library.sqlite, vectors.f16 e knowledge.json. Copia lo scaffale e portalo con te.
Licenza
Uso gratuito, anche commerciale, su un numero illimitato di dispositivi. Codice chiuso. Puoi ridistribuire i pacchetti non modificati. I modelli e ONNX Runtime vengono scaricati dai rispettivi editori con le loro licenze.
Provalo sui tuoi documenti
Due comandi. Ti serve solo Node.js 18+.
# metti una cartella sullo scaffale
$ npx lib2027 add ./docs
# apri l’interfaccia web → http://127.0.0.1:2027
$ npx lib2027