Skip to main content
The CLI manages the same server workspaces used by the Web UI. Commands operate on the active server unless you pass --project <id>.

Installation

Start a local server

The first run asks for a project name, using my-larkup when you press Enter, then creates the workspace and starts its local server. Later, larkup dev starts the active workspace again. Create another workspace explicitly with larkup dev product-docs.

Add data and rebuild the server

index recursively loads supported text, PDF, Word, JSON, and source code files, then streams chunking and embedding progress with a terminal progress bar. It skips .git, .larkup, node_modules, dist, and build directories. The active Project’s document and index-run records are shared with the Web UI, so an indexing run started here appears in the Data and Index views immediately. Use --no-run when you want to load files without rebuilding the vector index:
Use one simple command for a folder, or narrow it to a file type when needed:
larkup indexing is an alias for larkup index.

Configure AI models

Projects, model settings, and indexing can all be managed from the terminal. Changes are written to the same active Project configuration used by the Web UI.
--apikey is accepted as a shorthand for --api-key. larkup set ai-model is an alias for configuring models. When no model flag is provided, larkup ai-model --api-key <key> updates the active embedding model’s API key.

Media

Images, audio, and video can be added directly:
Image metadata is added to the corpus. Audio and video speech is transcribed into a timestamped, searchable document. Media processing status is streamed in the terminal and persisted to the workspace. Audio and video processing requires the Video & Audio marketplace tool:
Configure the tool’s transcription provider and API key in the Web UI before processing audio or video. Pass --no-index to process media without rebuilding the index.

Chat and retrieval

query prints retrieved chunks. chat opens an interactive conversation grounded in retrieved content and streams the answer as it is generated. --model selects a model for that command only; it must be available through the project’s configured chat provider. Use larkup settings to change the provider or its default model. When the project uses Vercel AI Gateway, provider-prefixed IDs such as anthropic/claude-sonnet-4 are supported. Generated servers also expose POST /query and the streaming POST /chat endpoint, so the same features are available through the TypeScript and Python SDKs.

Corpus documents

docs is a shorter alias for documents. Updating a document marks it unindexed; run larkup index --incremental afterward.

Marketplace Hub

market is a shorter alias for marketplace. The catalog combines local tool manifests with the remote Marketplace Hub and retains an offline fallback catalog.

Generate, test, and deploy

Deployment targets: The standard generated server includes retrieval, document APIs, scraping, corpus export, and streaming chat. The agent target remains useful when you need the portable agent manifest and widget surface.

Browser and updates

open opens the Web UI by default. open api opens the active server’s API reference. update --check only reports whether a newer CLI exists; update installs it globally.

Command reference