Skip to content

Getting started

Install

CorpusOS needs Python 3.11 or later. With uv:

git clone https://github.com/YarlisAISolutions/corpusos.git && cd corpusos
uv sync                         # core, SQL, API, web app, MCP, Office readers and tests
uv run corpusos --help

With pip: pip install "corpusos[web]". Heavier parsers are optional extras: docling (PDF, Word and image layout), ocr, media (Whisper transcripts), tika, pii (Presidio), tokenizers and embed (sentence-transformers). corpusos parsers shows what is installed.

A first corpus from the command line

uv run corpusos inventory ~/Documents/projects          # read-only look: writes nothing
uv run corpusos init corpus --name "My Knowledge" --owner me@example.com
cd corpus
uv run corpusos ingest ~/Documents/projects --source projects
uv run corpusos review list                             # documents held before indexing
uv run corpusos search "leave policy" -p me@example.com
uv run corpusos sql 'SELECT * FROM personal_projects_finance_budget_budget' -p me@example.com
uv run corpusos scorecard                               # quality and release gates

--owner sets the default access list of new documents. Change it, and add per-source rules, in config/security.yaml.

A first corpus in the browser

uv run corpusos web --init --name "My Knowledge" --owner me@example.com -C corpus

Open http://127.0.0.1:8080 and sign in as me@example.com. In this local development mode the server trusts the name you type, so it only listens on loopback. Upload files on the Storage tab, or copy them into corpus/storage/<source>/ and press Sync.

To serve other people, choose a real sign-in method. See Web app and API.