Load a bulk NDJSON (JSON Lines) dump — plain or via a JSON manifest of compressed exports — into a Dify Knowledge base, one document per record, with configurable field mapping.
A Dify datasource plugin that loads a bulk NDJSON (JSON Lines) dump into a
Dify Knowledge base — one document per record — instead of crawling a live site.
It is generic: any HTTP-served NDJSON dump works — a bare /
, or a JSON manifest listing per-file compressed exports — via
configurable field mapping. See Sources for examples.
Give it a Source URL. The plugin auto-detects what it points at:
Each NDJSON line is parsed as one JSON object and mapped to a document via the
parameters. Blank and malformed lines are skipped, never fatal. The
stream is decompressed lazily line-by-line, so a ~45 MB compressed export is
never fully materialised as decompressed text in memory.
This is an -type datasource, which fits large bulk dumps far
better than (which would stream every record's full content into
the browser preview and time out on big sections). It works in two phases:
The cache is on disk (not memory) because the plugin process may be recycled
between the two phases. The returned to Dify encodes the datasource
parameters, so on a cold cache (evicted / temp wiped) rebuilds the
cache once from the source, then serves every page from it — the dump is not
re-downloaded per page.
The ingested document exposes only a title and content — there is no free-form
metadata field. Any fields you list in are therefore inlined
as a compact one-line header at the top of the document content, e.g.:
This keeps the key metadata searchable/visible inside each document. A future
Dify SDK with a real metadata field would let this move out of the body.
The dump URL is a datasource parameter, not a credential, so credential
validation performs no network calls.
Anything that serves newline-delimited JSON over HTTP works. A few public examples:
Point at the file (or a manifest) and map its fields with the
parameters.
The ingestion core (manifest parsing, gzip line-streaming, record→document
mapping, page-id assignment, and the disk cache) lives in the
package, which is independent of the Dify SDK so it can be unit-tested without
installed. is the thin SDK adapter.
Every outbound call builds its address at runtime, so no host can be listed.
Last checked 09/08/2026 08:53 AM · version 0.0.5