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 lib2027Benchmarks
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-27bAs mesmas perguntas, modelo pequeno
150 perguntas · 4BDireito russo (15 códigos, pravo.gov.ru)
150 perguntas · qwen3.8-27bQuiz da API do three.js r186
90 respostas · Claude Haiku 4.5¹ 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
| Tarefa | Modelo | Sem biblioteca | Placebo | Com lib2027 |
|---|---|---|---|---|
| Documentação web recente (devdocs, set. 2026) 150 perguntas · qwen3.8-27b | qwen3.8-27b | 17,8% | 12,7% | 85,1% |
| As mesmas perguntas, modelo pequeno 150 perguntas · 4B | 4B | 9,1% | 0,4% | 83,1% |
| Direito russo (15 códigos, pravo.gov.ru) 150 perguntas · qwen3.8-27b | qwen3.8-27b | 34,7% | 33,8% | 84,4%¹ |
| Quiz da API do three.js r186 90 respostas · Claude Haiku 4.5 | Claude Haiku 4.5 | 27,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)
initializeadd ./docs (6 documentos, 237 trechos)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 claudeExecuta claude mcp add para você. O Claude Code ganha estas ferramentas:
search_knowledgeread_sourcelist_librariescheck_codeexplore_graph
pi
npx lib2027 piInstala 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.
| Comando | O 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. |
list | Bibliotecas 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) |
mcp | Servidor 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 |
doctor | Mostra o que está instalado e onde os cálculos rodam |
Roda onde você trabalha
Plataformas
| Plataformas | CUDA | DirectML | CPU |
|---|---|---|---|
| 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.
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