jsongrep: Uma Ferramenta de Consulta JSON Baseada em DFA Que Supera o jq em Benchmarks

O que o jsongrep faz
jsongrep (binário jg) recebe uma consulta e uma entrada JSON e imprime cada valor cujo caminho através do documento corresponda à consulta. Ele trata documentos JSON como árvores onde objetos e arrays são ramificações, escalares são folhas, e chaves e índices rotulam as arestas. A linguagem de consulta é uma linguagem regular sobre o alfabeto de chaves e índices.
Recursos da Linguagem de Consulta
Caminhos com ponto selecionam campos aninhados por nome: jg 'roommates[0].name' retorna roommates.[0].name: "Alice".
Curingas correspondem a qualquer chave única (*) ou qualquer índice de array ([*]): jg 'favorite_drinks[*]' retorna todos os elementos do array.
Alternância (|) corresponde a qualquer ramificação: jg 'name | roommates' retorna ambos os campos.
jg '(* | [*])*.name' encontra cada campo name em qualquer profundidade. A flag -F fornece uma abreviação: jg -F name faz o mesmo.Opcional (?) corresponde a zero ou uma ocorrência: jg 'roommates[0].favorite_food?' retorna tanto o objeto pai quanto o valor do campo.
Abordagem Técnica
jsongrep compila consultas em autômatos finitos determinísticos (DFA) usando um pipeline que inclui: análise da consulta, tratamento do JSON como uma árvore, construção de um NFA usando o algoritmo de Glushkov, determinização via construção de subconjuntos, e busca usando DFS com transições DFA. Isso permite processamento em uma única passagem com trabalho O(1) por símbolo de entrada, evitando retrocesso, pilhas de recursão e explosão exponencial em consultas patológicas.
O autor observa que isso difere fundamentalmente de ferramentas como jq, jmespath ou jsonpath-rust, que interpretam expressões de caminho, avaliam consultas em cada nó, verificam predicados e descem recursivamente—potencialmente revisitando subárvores ou mantendo listas de trabalho com consultas de descida recursiva.
Instalação e Disponibilidade
Instale do crates.io: cargo install jsongrep. Como ripgrep (que inspirou o projeto), jsongrep é multiplataforma com binários disponíveis e escrito em Rust.
A ferramenta detecta se a saída é canalizada para comandos como less ou sort e omite caminhos JSON por padrão (substitua com a opção --with-path).
📖 Leia a fonte completa: HN LLM Tools
👀 See Also

Personalizando o Claude IA para Feedback Aprimorado
Ajuste as configurações da Claude AI para evitar concordância excessiva e promover mais pensamento crítico e feedback prático.

Argus: Uma Extensão do VS Code para Depurar Custos e Comportamento de Sessão do Claude Code
Um desenvolvedor criou o Argus, uma extensão do VS Code que analisa transcrições JSONL do Claude Code e as exibe em uma linha do tempo em tempo real, com detalhamento de tokens/custo por etapa, taxa de acerto de cache e sinalização de loops de repetição, leituras duplicadas e pressão de contexto.

Habilidade GAN para Claude Code: Ferramenta de IA Adversarial para Refinamento de Ideias
Uma habilidade do Claude Code chamada /gan usa funções adversárias de IA para criticar e melhorar ideias através de fases alternadas de Discriminador e Gerador, com recursos como modos de intensidade, saída multilíngue e seleção forçada de função desenvolvidos por meio de autoiteração.

Integração OpenClaw para Mercados de Ações Indianos: Terminal de Análise e Negociação Multi-Agente
Um terminal de negociação de código aberto para mercados indianos foi configurado como um servidor de habilidades OpenClaw, permitindo que qualquer agente OpenClaw obtenha dados do mercado de ações indiano e execute análises completas via HTTP sem instalação local. O sistema utiliza sete agentes especialistas trabalhando em paralelo para gerar análises estruturadas com planos de negociação.