Install DuckDB, then load Flock from DuckDB’s community extension catalog. The same SQL works in the native CLI / Python clients and in DuckDB-WASM in the browser.
Prerequisites
Install DuckDB
Visit the DuckDB installation guide and choose options for your environment (CLI, Python, platform, and download method). For the browser, use shell.duckdb.org or embed @duckdb/duckdb-wasm.
Install Flock
In your DuckDB instance, run:
Flock is now ready to use. Configure a provider next — see Getting Started.
In DuckDB-WASM, INSTALL records extension metadata and the .wasm binary is fetched when you LOAD. See the DuckDB-WASM extensions guide for details. After loading, Flock SQL (llm_complete, llm_filter, and so on) matches the native extension.
WASM (Browser) limitations
DuckDB-WASM in the browser has constraints that do not apply to native DuckDB:
- API keys: Provider credentials must be available to the browser session. Avoid embedding production secrets in client-side code.
- Network: LLM calls still go to external provider APIs; only DuckDB computation runs locally.
- CORS: Browser fetches to provider endpoints may be blocked unless your app proxies requests.
- Secrets persistence: DuckDB-WASM has no durable cross-session storage for
CREATE SECRET; configure secrets per session.
For production browser apps, prefer a backend that holds API keys and exposes a controlled SQL or API surface.
Build from source
To build Flock locally (including WASM artifacts) or contribute to the project, see the Developer Guide or run ./scripts/build_and_run.sh from the GitHub repository.