About CorpusKit

CorpusKit is an open source research portal over a body of research, built on Progress Agentic RAG. It is licensed under Apache-2.0 and maintained by Noice.

Search the collection, ask questions with sources you can inspect, and follow connections between documents. The tools below support that work, from reading a single report to administering a portal.

At a glance

The specifics behind the catalogue: what a portal takes in, how it answers, what it produces and what it runs on.

Content it takes in

  • PDF reports, including scanned and image-only pages read by a vision language model
  • Word, PowerPoint, Excel and OpenDocument files
  • Web pages, whole sites and sitemaps, re-synced on a schedule
  • Video and audio, transcribed and searchable
  • Pasted text as a resource of its own
  • Tables extracted as tables with the table-aware method
  • Uploads up to 100 MB per file, singly or in batches
  • Originals never altered; generated fields sit beside them

How it answers

  • Hybrid, semantic and keyword retrieval with a reranking pass
  • Neighbouring-paragraph or full-document grounding, chosen per question type
  • Knowledge graph relations in the retrieval loop
  • Deep research that maps a broad question into sub-questions
  • Answers stream as they are written, then the checked answer replaces the stream
  • Nothing from general knowledge or the internet; every sentence cites its passage

How it checks

  • Figures, populations, named studies, years and safety wording checked sentence by sentence
  • Plain-text comparison against the extracted documents, with no language model in the loop
  • Unsupported sentences removed, and the removal declared under the answer
  • Reference lists cut out before the check, so a bibliography cannot stand in for a finding
  • Confidence shown as high, moderate or low, led by the check
  • Platform quality scores can lower that label but never raise it

What comes out

  • Briefings, comparisons, timelines, FAQs and pros and cons, each with numbered references
  • Knowledge checks of 3, 5 or 10 questions at foundational, intermediate or advanced level
  • Word exports of Ask sessions, investigations and generated material
  • A print-ready view for saving a briefing as a PDF
  • Audit records as CSV or JSON, and enrichment records as JSON
  • Watches that re-run a saved search daily and flag new results

How it connects

  • An MCP server over Streamable HTTP with four read-only tools: search, answer, get document and browse catalogue
  • Bearer keys scoped to one portal, with a role, an optional expiry and instant revocation
  • Microsoft Entra sign-in with app roles and group mappings
  • Public, authenticated and restricted access modes
  • Six roles across portal and platform scopes, over 22 declared permissions
  • Custom hostnames per portal

How it looks

  • Five library palettes, one of them dark, or the portal’s own seeded colours
  • Six typeface pairings, or your own uploaded fonts
  • Square, rounded or soft shapes, three text sizes and four densities
  • Logo, hero and banner images per portal
  • Every palette passes an automated WCAG contrast check before it ships
  • Responsive from a phone to a wide display

What it runs on

  • Cloudflare Workers, with application state in SQLite-backed Durable Objects
  • One Progress Agentic RAG knowledge box per portal, with an Australian region option
  • Deno 2 and TypeScript throughout, with React on the front end
  • A typecheck, lint, format and test gate before any deploy
  • Knowledge box credentials held on the server and never sent to the browser
  • No mock mode: the portal always works against a live knowledge box
  • Apache 2.0 licence

Discovery and search

Answers you can check

Knowledge graph and investigations

Library and reading

Generate and assess

Content, taxonomy and enrichment

Access and security

Integration and tools

Platform and deployment

Explore CorpusKit

Use a portal

Explore the documentation collection and ask questions in the demo.

Try the demo

Read the guides

Learn how to research with CorpusKit and manage a portal.

Read the docs

Run CorpusKit

Inspect the code, run your own installation or contribute to the project.

View the repository