wikipedia.pikelet is a 648.5 MB static file — 456,153 Simple English Wikipedia articles, an embedded query encoder, and a search index, sealed into one file on a plain HTTP host. There is no application server behind it. Every answer below comes from byte-range reads against that one file, lit up on a map of the file as they happen.
The badge on each answer is match quality, not a fact-check: it measures how well the
retrieved passage matches your question, not whether that passage actually contains the
specific claim you asked about. At Wikipedia's scale almost every question has some
topically related article, so strong mostly means "an article about this
exists" — it can be confidently wrong on a specific detail the article doesn't cover. The
one place this file reliably withholds is when the topic itself is missing, which is what
the fact-removal tab shows.
— · one file · —
bytes=X-Y against one URL.
You just searched this file yourself, with the network log open. Watch Claude use this exact file over MCP →
Same artifact, same read path, restricted to search / list_packs / get_record — no web tool, no filesystem tool.
bytes=X-Y against each of these files.
Two identical .pikelet files, compiled from the same fictional research-station
corpus. The right-hand file is missing a single record — pick which one. Same model, same
code path, no other change — the answer is a function of the file's contents, nothing else.
Press "Run query on both files" above.
Press "Run query on both files" above.
A third file for the fact selected above: identical to the full pack except that this one record was edited to state a different, still-plausible value. The model answers confidently either way — confidence measures how well the passage matches the question, not whether the file's facts are internally consistent.
Press "Run query on the contradicted file" above.
Pikelet is an open-source (Apache-2.0) tool that compiles a folder of
documents or a website into one self-contained, queryable .pikelet file. The
file carries the source text, a semantic (vector) index and a BM25 keyword index, the query
encoder that turns a question into a vector, a calibrated match-quality model, evaluation
queries, and integrity hashes over all of it. Its identity is a SHA-256 hash of its
contents, so an answer can cite the exact version of the knowledge it came from.
Put the file on disk, S3, R2, a CDN or any static HTTP host. A reader opens it locally or over HTTP Range requests and searches it with no vector database, embedding API or search server: it loads a small index, embeds the question with the encoder inside the file (WebAssembly, in the browser or Node.js), and fetches only the byte ranges it needs. Updates ship as small immutable layer files on top of a base file.
wikipedia.pikelet, 456,153 Simple
English Wikipedia articles in one 648.5 MB file on Cloudflare R2, and answers each
question in your browser, listing every byte range it reads. There is no
/search, /embed or /api endpoint behind it.
Each answer carries matchQuality: strong, weak or
none, a calibrated signal of how well the file's best passages match the
question. It is not a fact-check: a passage on the right topic can still lack the specific
detail asked for, so read the passage before relying on it.
npx pikelet compile --source ./docs --out docs.pikelet
npx pikelet mcp install --client claude-code --pack ./docs.pikelet
The first command builds a pack from a folder or a URL; the second gives Claude Code, or
any MCP client, a search tool over it. From code, openPikeletFile
in the pikelet-wasm package opens a
pack in Node.js, browsers or Cloudflare Workers; the CLI is the
pikelet package.
Source, documentation and benchmarks: github.com/mcn92/pikelet.