CommunityEscrita e Ediçãogithub.com

punt-labs/quarry

Pesquisa semântica local para agentes de IA. Mais de 20 formatos de documentos, busca híbrida, memória de agente, zero dependências de nuvem. Servidor MCP + CLI.

O que é quarry?

O Quarry, da punt-labs, é uma ferramenta de pesquisa semântica local projetada especificamente para agentes de IA. Ele oferece suporte a mais de 20 formatos de documentos, incluindo PDF, Markdown, imagens com OCR e áudio com transcrição, combinando busca vetorial e lexical (BM25) em uma experiência de busca híbrida eficiente. Além de ser um servidor MCP (Model Context Protocol) que permite que agentes como Claude Code, Cursor e outros realizem consultas semânticas, também oferece uma interface de linha de comando (CLI) para indexação e busca. Sua principal vantagem é a ausência de dependências de nuvem ou chaves de API, mantendo todos os dados localmente, com suporte a memória persistente e atualizações incrementais de índices. Ferramentas MCP como `semantic_search`, `local_agent_memory`, `update_agent_memory`, `delete_agent_memory`, `get_statistics` e `update_index` permitem que desenvolvedores e agentes integrem busca semântica e memória de forma robusta, sem custos de API e com privacidade total dos dados.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add punt-labs/quarry

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que quarry faz?

Pesquisa semântica local para agentes de IA. Mais de 20 formatos de documentos, busca híbrida, memória de agente, zero dependências de nuvem. Servidor MCP + CLI.

Visão Geral

O Quarry é um mecanismo de pesquisa semântica local que permite que agentes de IA (como Claude Code, Cursor, Codex, etc.) pesquisem seus documentos locais usando busca semântica por similaridade, combinada com correspondência lexical tradicional (BM25). Ele suporta mais de 20 formatos de documentos, incluindo PDF, Markdown, imagens com OCR, áudio com transcrição e muito mais.

Funcionalidades

  • Pesquisa Semântica Local: Execute buscas por similaridade semântica em seus documentos, com zero dependências de nuvem.
  • Busca Híbrida: Combina busca vetorial (embeddings) com busca lexical (BM25) para obter os melhores resultados.
  • Mais de 20 Formatos: Suporta PDF, Markdown, HTML, DOCX, imagens (OCR), áudio (transcrição) e muito mais.
  • Servidor MCP: Integra-se perfeitamente com agentes de IA via Model Context Protocol.
  • Interface CLI: Ferramenta de linha de comando para indexação e busca.
  • Memória de Agente: Armazenamento persistente de memória para agentes de IA.
  • Atualizações Incrementais: Índices são atualizados incrementalmente para eficiência.
  • Processamento Local: Tudo roda localmente no seu computador, sem necessidade de API keys ou serviços em nuvem.

Suporte a Formatos

O Quarry suporta mais de 20 formatos de documentos através de pipelines de extração:

CategoriaFormatos
DocumentosPDF, DOCX, HTML, Markdown, LaTeX, RST, Org-mode, EPUB, MOBI, FB2, CSV, TSV
CódigoPython, JavaScript, TypeScript, Java, C++, Go, Rust, Ruby, PHP, Shell
MídiaImagens (OCR via Tesseract), Áudio (transcrição via Whisper)
DadosJSON, YAML, XML, SQLite
OutrosEmail (.eml), Apresentações (via conversão para PDF)

Instalação

cargo install quarry

Ou baixe o binário pré-compilado da página de releases.

Início Rápido

1. Indexar seus Documentos

quarry index /caminho/para/seus/documentos

2. Buscar

quarry search "sua consulta de pesquisa"

3. Iniciar Servidor MCP

quarry mcp

Integração com Agentes de IA

Claude Code

Adicione o Quarry ao seu projeto Claude Code:

{
  "mcpServers": {
    "quarry": {
      "command": "quarry",
      "args": ["mcp"]
    }
  }
}

Cursor

No Cursor, configure uma nova ferramenta MCP apontando para o servidor Quarry.

Outros Agentes

Qualquer agente compatível com MCP pode se conectar ao Quarry.

Ferramentas MCP

O servidor MCP do Quarry expõe as seguintes ferramentas:

semantic_search(query, top_k=10, min_score=0.0)

Executa uma busca semântica no índice. Retorna documentos ordenados por relevância.

  • query (string): Sua consulta de busca.
  • top_k (opcional, default 10): Número de resultados a retornar.
  • min_score (opcional, default 0.0): Pontuação mínima de similaridade.

local_agent_memory(key=None)

Recupera memória do agente. Se nenhuma chave for fornecida, retorna todas as memórias.

update_agent_memory(key, value)

Atualiza ou cria uma nova memória do agente.

delete_agent_memory(key)

Exclui uma memória do agente.

get_statistics()

Retorna estatísticas do índice, como número total de documentos e tokens.

update_index(path=None)

Atualiza o índice incrementalmente. Se nenhum caminho for fornecido, reindexa todo o diretório configurado.

Exemplos de Uso

Busca Semântica via CLI

quarry search "Como implementar cache em Rust?" --top-k 5

Memória de Agente via CLI

quarry memory set "projeto_atual" "refatorando a pipeline de busca"
quarry memory get "projeto_atual"
quarry memory list

Uso programático (Rust)

use quarry::Quarry;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut quarry = Quarry::new("/caminho/para/indice")?;
    let resultados = quarry.search("sua consulta").await?;
    println!("{:?}", resultados);
    Ok(())
}

Configuração

O Quarry pode ser configurado via variáveis de ambiente ou arquivo de configuração:

VariávelDescriçãoPadrão
QUARRY_INDEX_PATHCaminho para o diretório do índice~/.local/share/quarry
QUARRY_MODELModelo de embedding a usarall-MiniLM-L6-v2
QUARRY_DEVICEDispositivo para inferência (cpu, cuda, mps)cpu
QUARRY_LOG_LEVELNível de loginfo

Licença

MIT

Contribuição

Contribuições são bem-vindas! Veja CONTRIBUTING.md para diretrizes.

Referências

Habilidades Relacionadas