Skip to main content
A base is a database-style view over your knowledge base. Each base is a saved view: a named DQL query plus presentation settings, stored as JSON under .kiwi/views/. Open Bases in the web UI to browse the results, or run the same view from the API or MCP. Use a base when you want a reusable slice of your pages, such as all open incidents, every paper tagged llm, or vendors that have an office location.

How it works

1

Pages carry frontmatter

Every field you want to query lives in YAML frontmatter, for example status, owner, or due.
2

A view stores a DQL query

The view’s query selects and shapes rows. Filtering and sorting belong in the query (WHERE, SORT).
3

Executing the view runs the query

GET /api/kiwi/views/{name}/execute runs the query against the frontmatter index, then evaluates any computed formula columns.
4

The web UI renders the rows

Bases shows the result in the view’s default layout. You can switch layouts and quick-search the loaded rows without editing the view.
Executing a view requires the default SQLite search engine. With [search] engine = "grep", the execute endpoint returns 503.

File format

Each view is one JSON file named after the view.
.kiwi
views
open-incidents.json
reading-list.json
.kiwi/views/open-incidents.json
View names must start with a letter or digit and may contain letters, digits, spaces, hyphens, and underscores.

Computed columns

A column with a formula is evaluated for each row after the query runs, and the result is written into that column’s property. Formulas support:
  • Field references, numbers, and quoted strings
  • Arithmetic with +, -, *, and /
  • length(x), round(x, digits), and if(field, then, else), where the condition is true when the field is set and not empty

Layouts in the web UI

Hide the Bases toolbar button with bases = false under [ui.features].

Create and run a view

Terminal
Saved views are configuration under .kiwi/, not pages. Saving one writes the JSON file directly; it does not create a git commit or appear in search.

Saved views versus computed views

Saved views live in .kiwi/views/ and render in the web UI. Computed views are markdown pages with kiwi-view: true and a kiwi-query in frontmatter. KiwiFS writes the query result into the page body between <!-- kiwi:auto --> and <!-- /kiwi-view --> markers, so any tool that reads the file sees the result. Regenerate one with POST /api/kiwi/view/refresh or the kiwi_view_refresh MCP tool. See DQL for details.

Views REST API

List, save, delete, and execute views.

DQL

The query language behind every view.

Metadata API

Query frontmatter directly.

Web UI

Toolbar views, including Bases.
Last modified on October 19, 2026