Pipestream AI

Open-source infrastructure for semantic search and document parsing.

Pipestream AI is a small group of engineers building distributed semantic search, a set of document parsers, and the protobuf and gRPC plumbing that connects them.

The work is public and licensed under Apache 2.0 or MIT. When a fix or a feature belongs in an existing project, it goes back upstream instead of into a fork. The contributions below each link to the pull request, so the claim can be read against the code.

Apache OpenNLP Apache Tika Apache Lucene Quarkus Docling gRPC

Public packages

Everything below is public and open source — libraries you can depend on, tools you can run, and the research engine — under the ai-pipestream organization.

protomolt

Protobuf toolkit and schema registry over Git: validation, compatibility, search indexing.

distributed-search

Distributed semantic search with collaborative HNSW KNN across shards.

quarkus-buf-grpc-generator

Quarkus Mutiny gRPC stubs generated with Buf, cross-platform.

quarkus-grpc-zero

JVM-only, self-contained protoc codegen for Quarkus.

protobuf4j

Pure-Java Protobuf toolkit that runs protoc as WebAssembly.

docling-java

A Java API for Docling, including a gRPC service client.

tika4-shaded

All-in-one shaded Tika 4 jar for quick Java integration.

docling-grpc-examples

Runnable multi-language examples for the Docling gRPC interface.

mcp-grpc-transport-proto

A gRPC transport definition for the Model Context Protocol.

pipestream-quic-protocol-rfc

Draft RFC for a QUIC-based pipeline transport.

gRPC document parsers

Four services that turn documents into structured protobuf and stream the results back as they parse, without writing anything to disk.

A real pipeline runs into every format at once: scanned PDFs and images, Word and PowerPoint and their OpenDocument cousins, and spreadsheets in every Excel flavour. Rather than force all of them through one engine, each service wraps the library that already handles its format well and puts it behind the same protobuf contract. gRParse runs OCR and layout on the GPU and also coordinates the others, grpc-libreoffice renders and reads office documents through LibreOffice, grPOIc pulls content and metadata with Apache POI, and grpc-calamine streams spreadsheets cell by cell in Rust.

ProtoMolt

A modular Java toolkit for Protocol Buffers at runtime, and a schema registry whose storage is a plain Git repository behind the Confluent protocol. It is the schema layer underneath Pipestream, maintained as its own project.

Every code path operates on descriptors rather than generated classes: gather .proto sources from Git, Maven, jars, or other registries; validate messages against rules carried on the schema (the protovalidate dialect passes the full conformance suite, 2,872 of 2,872 cases, re-scored in CI on every push); diff schemas with a typed compatibility engine; and register versions through compatibility-gated writes, one Git commit each. gRPC consumers fetch compiled binary descriptor sets directly.

An MCP server makes the whole toolkit agent-operable: an AI agent can reflect a live gRPC server, invoke its methods with no generated stubs, and generate native clients in eight languages. The OpenVINO tutorial walks the full path against a real inference server.

The same descriptor model reaches past schemas into data and integration work: projecting messages into Lucene, OpenSearch, Solr, and Microsoft Graph search; landing them in Apache Iceberg tables as committed snapshots written by its own Hadoop-free Parquet emitter; reading and writing OneDrive and SharePoint files and metadata over the Microsoft Graph API; masking fields by declared sensitivity; and rendering schemas as knowledge bundles. Twenty-three verbs run identically over gRPC, REST, and MCP.

More projects

Other open-source repositories we build and maintain.

quarkus-buf-grpc-generator

Generates Quarkus Mutiny gRPC stubs using Buf, so a Quarkus build can consume proto workspaces without a native protoc toolchain. Cross-platform. → repo

tika4-shaded

An all-in-one shaded build of Apache Tika 4 — one jar you can drop into a Java application for text and metadata extraction without wrestling dependency conflicts. → repo

docling-grpc-examples

Runnable examples, in several languages, for the gRPC document-conversion interface being proposed to the Docling project. → repo

pipestream-quic-protocol-rfc

A draft RFC exploring a QUIC-based transport for the pipeline. → repo

Upstream contributions

Functional work merged into or proposed to established open-source projects. Each links to the pull request so the claim can be read against the code.

Dedicated write-ups: the OpenNLP work and the gRPC document parsers. Pages for Quarkus, the Jandex Gradle plugin, and Apicurio are in progress.

Pipestream AI Public Research

Open research on distributed vector search. We publish the work so it can be reviewed, reproduced, and improved on.

Collaborative distributed HNSW search

HNSW graphs give excellent approximate nearest-neighbour recall on a single node, but a naïve distributed search queries every shard to full depth and merges afterward — paying the full cost on every shard. We are investigating a collaborative approach where shards share a running floor value, letting each shard prune candidates that cannot enter the global top-k. The Lucene shared-floor kNN collector is the first upstream piece of this work.

  • distributed-search — reference engine for collaborative KNN across shards.
  • Shared-floor kNN collection — proposed to Apache Lucene (sandbox module).
  • Distributed Lucene index — a shard-native index format, in progress.

Read the research write-up →

Background

The through-line is search. An NLP search engine in 1999, then production work on relevance and live-updating indexes, including rebuilding Etsy's search in 2010 for live updates and modernized relevance, and the search at Adorama. The distributed-search engine and the collaborative-HNSW research are the current chapter of the same problem.

Further back, the same hands wrote the AccessX keyboard and pointer features for Linux in 1999 (StickyKeys, SlowKeys, BounceKeys, and MouseKeys), the first time those accessibility features shipped on the platform, where they went out across the Linux desktops. It was freeware, so the attribution sits in the dark corners of the internet, but AccessX still gets referenced.