lib2027
Português

Uso gratuito · roda na sua própria máquina

Uma biblioteca de conhecimento com seus arquivos, para você e seus agentes de IA

Adicione uma pasta de documentos e pesquise de três jeitos ao mesmo tempo: por significado, por formas das palavras em 15 idiomas e por nomes exatos de API. Há uma interface web para você e um servidor MCP para Claude Code, pi, Cursor e outros agentes.

  • Um único binário Rust via npx
  • Sem Python, sem banco de dados
  • GPU NVIDIA, DirectML ou CPU
# coloque uma pasta na estante
$ npx lib2027 add ./docs
# abra a interface web → http://127.0.0.1:2027
$ npx lib2027

Benchmarks

Isso realmente ajuda um modelo a responder?

Modelos não sabem de memória conhecimento recente ou de nicho, e só acrescentar mais texto não resolve. Medimos o que os trechos certos fazem.

Como medimos

Mesmo modelo, mesmas perguntas

Cada comparação roda um modelo em um conjunto de perguntas. A única coisa que muda é o que o modelo recebe para ler.

Um grupo placebo

Texto irrelevante do mesmo tamanho: um controle para a ideia de que “mais contexto ajuda”.

Pré-registrado

Perguntas, regras e limiares de sucesso foram definidos antes da coleta de qualquer dado.

Repetido e testado

Cada grupo rodou 3 vezes. A significância vem de um teste do sinal pareado sobre as perguntas.

Proporção de respostas corretas

  • Sem biblioteca
  • Placebo
  • Com lib2027
  • Sem biblioteca — o modelo responde de memória
  • Placebo — texto irrelevante do mesmo tamanho
  • Com lib2027 — os trechos que a busca do lib2027 retornou

Documentação web recente (devdocs, set. 2026)

150 perguntas · qwen3.8-27b
Sem biblioteca17,8%
Placebo12,7%
Com lib202785,1%

As mesmas perguntas, modelo pequeno

150 perguntas · 4B
Sem biblioteca9,1%
Placebo0,4%
Com lib202783,1%

Direito russo (15 códigos, pravo.gov.ru)

150 perguntas · qwen3.8-27b
Sem biblioteca34,7%
Placebo33,8%
Com lib202784,4%¹

Quiz da API do three.js r186

90 respostas · Claude Haiku 4.5
Sem biblioteca27,8%
Placebonão medido
Com lib202788,9%

¹ O artigo de lei inteiro é retornado em vez dos primeiros 800 caracteres (o resultado anterior era 69,1%). Em artigos alterados desde 2024, o modelo vai de 25% para 81%.

Mostrar os números em tabela
TarefaModeloSem bibliotecaPlaceboCom lib2027
Documentação web recente (devdocs, set. 2026)
150 perguntas · qwen3.8-27b
qwen3.8-27b17,8%12,7%85,1%
As mesmas perguntas, modelo pequeno
150 perguntas · 4B
4B9,1%0,4%83,1%
Direito russo (15 códigos, pravo.gov.ru)
150 perguntas · qwen3.8-27b
qwen3.8-27b34,7%33,8%84,4%¹
Quiz da API do three.js r186
90 respostas · Claude Haiku 4.5
Claude Haiku 4.527,8%—88,9%

Além do quiz: three.js com Claude Haiku 4.5

Respostas que usam uma API desatualizada

24,4%5,6%

quanto menos, melhor

Tarefa “escreva um jogo”, nota de 0 a 100

5275

quanto maior, melhor

Turnos para concluir o jogo

5636

com custo um pouco menor

Uma biblioteca que o modelo nunca viu

2% – 5%84% – 96%

Um modelo 4B passa de 2% – 5% para 84% – 96% de tarefas aprovadas quando o lib2027 entrega notas de migração para a tarefa.

Conclusão

Modelos não sabem de memória conhecimento recente ou de nicho, e mais contexto sozinho não ajuda: o placebo nunca superou a resposta de memória. O que ajuda são os trechos certos, e é isso que o lib2027 entrega.

Velocidade: Rust vs. a versão anterior em Python

Medido no Windows com uma RTX 5090, na mesma estante e com as mesmas consultas. As duas versões retornam os mesmos resultados: no quiz de direito, ambas entregaram o artigo em 122 de 150 perguntas.

  • Python + PyTorch
  • lib2027 (Rust)
Menor é melhor
Busca híbrida, mediana (GPU)
Python + PyTorch207 ms
lib2027 (Rust)103 ms
Busca léxica
Python + PyTorch39 ms
lib2027 (Rust)5 ms
Busca só na CPU
Python + PyTorch4,4 s
lib2027 (Rust)1,7 s
743 mil trechos (devdocs), por consulta
Python + PyTorch~0,4 s
lib2027 (Rust)0,15 s
Servidor MCP pronto para initialize
Python + PyTorch2,6–3,8 s
lib2027 (Rust)< 0,2 s
add ./docs (6 documentos, 237 trechos)
Python + PyTorch36,6 s
lib2027 (Rust)8,6 s
Construção de 15 códigos legais (16 mil trechos)
Python + PyTorch169 s
lib2027 (Rust)127 s
Análise de 7.170 arquivos
Python + PyTorch136 s
lib2027 (Rust)4,1 s
Instalação

Python + PyTorch: Python + PyTorch, cerca de 2,5 GB

lib2027 (Rust): Node.js + um binário de 7 MB; o runtime e os modelos são baixados na primeira execução

Como funciona

Três tipos de busca, uma resposta ranqueada

Cada consulta passa por três canais ao mesmo tempo. Os resultados são combinados e reordenados, e você ou seu agente recebem passagens inteiras para ler e citar, não fragmentos soltos.

Significado

A busca semântica com o embedder Qwen3-Embedding-0.6B encontra passagens que dizem a mesma coisa com outras palavras.

Formas das palavras

Morfologia para russo, inglês e mais 13 idiomas: busque uma forma de uma palavra e encontre as outras.

Nomes exatos de API

Nomes de funções, classes e opções são comparados de forma exata, então um nome encontra exatamente aquilo, e não algo parecido.

Reranker

O cross-encoder bge-reranker-v2-m3 lê cada candidato junto com a consulta e coloca os melhores primeiro.

Artigos inteiros

A estrutura é preservada. As leis são divididas por artigos, e o artigo inteiro é entregue: isso levou o benchmark de direito de 69,1% para 84,4%.

Formatos: md, txt, html, pdf, docx e código-fonte (js, ts, json, …). npx lib2027 package <name> adiciona um pacote npm inteiro: tipos da API, documentação, testes e exemplos.

Para agentes

Conecte ao Claude Code, pi, Cursor e outros clientes MCP

O lib2027 funciona como servidor MCP. Um comando faz a conexão e, a partir daí, o agente pesquisa suas bibliotecas sozinho.

Claude Code

npx lib2027 claude

Executa claude mcp add para você. O Claude Code ganha estas ferramentas:

  • search_knowledge
  • read_source
  • list_libraries
  • check_code
  • explore_graph

pi

npx lib2027 pi

Instala o adaptador MCP no pi e conecta o lib2027. npx lib2027 pi --remove desconecta.

Cursor, Claude Desktop e outros clientes

Adicione isto à configuração MCP:

{ "mcpServers": { "lib2027": { "command": "npx", "args": ["-y", "lib2027", "mcp"] } } }

No Windows, execute o npx pelo cmd:

{ "mcpServers": { "lib2027": { "command": "cmd", "args": ["/c", "npx", "-y", "lib2027", "mcp"] } } }

Prefere o navegador? npx lib2027 abre a interface web em http://127.0.0.1:2027, com uma HTTP API ao lado.

Comandos

Um binário, poucos comandos.

ComandoO que faz
add <folder|files…> [--name …] [--lang auto|ru|en|…] [--to slug]Uma pasta vira uma biblioteca; os arquivos são adicionados à biblioteca indicada. Rodar de novo atualiza os arquivos alterados.
listBibliotecas na estante
search "query" [-l slug] [--top-k 5]Busca
remove <slug> / restore <slug>Ocultar da busca / trazer de volta (os arquivos continuam no disco)
package <npm-package>[@version]Um pacote npm inteiro: tipos da API, documentação, testes e exemplos
ui [--port 2027] [--no-open]Interface web e HTTP API (o mesmo que rodar sem comando)
mcpServidor MCP via stdio (iniciado pelo agente)
claude [--scope user|project]Executa claude mcp add para você; sem o Claude Code, imprime uma configuração para outros clientes
pi [--project] [--remove]Instala o adaptador MCP no pi e conecta o lib2027 (ou desconecta)
ask "question"Uma resposta com citações verificadas (requer uma chave de modelo: LIB2027_ANSWER_*)
setup [--device cuda|directml|cpu]Instala o runtime e os modelos com antecedência
doctorMostra o que está instalado e onde os cálculos rodam

Roda onde você trabalha

Plataformas

PlataformasCUDADirectMLCPU
Windows x64✓✓✓
Windows arm64——✓
Linux x64glibc 2.35+✓—✓
Linux arm64glibc 2.35+——✓
macOS Apple Silicon——✓

Aceleração

NVIDIA CUDA no Windows e no Linux x64, DirectML no Windows x64. Todo o resto roda na CPU.

Do que você precisa

Só Node.js 18+. A primeira execução baixa o resto em ~/.lib2027, uma única vez, em cerca de 2 minutos: um runtime ONNX para o seu hardware e dois modelos, Qwen3-Embedding-0.6B e bge-reranker-v2-m3.

Seus documentos ficam no seu dispositivo

Local por natureza

Seus documentos e a estante ficam no seu dispositivo. A busca roda no binário, na sua própria GPU ou CPU.

Nada é enviado sem o seu pedido

O texto só vai para terceiros se você configurar um modelo externo para o serviço de respostas (LIB2027_ANSWER_*).

Localhost por padrão

Sem LIB2027_API_KEY, a interface web e a HTTP API não exigem chave e só podem ser acessadas via localhost.

Uma pasta comum

Cada biblioteca é library.sqlite, vectors.f16 e knowledge.json. Copie a estante e leve aonde quiser.

Licença

Uso gratuito, inclusive comercial, em quantos dispositivos você quiser. Código fechado. Você pode redistribuir os pacotes sem modificações. Os modelos e o ONNX Runtime são baixados de seus publicadores, sob as respectivas licenças.

Leia a licença no npm

Experimente com seus próprios documentos

Dois comandos. Você só precisa do Node.js 18+.

# coloque uma pasta na estante
$ npx lib2027 add ./docs
# abra a interface web → http://127.0.0.1:2027
$ npx lib2027