Skip to content

History Search

KOKOTO-DEV edited this page Aug 26, 2026 · 2 revisions

History Search

KOKOTO WebChat 5.0.0 · Minecraft 1.18–26.2 · Java 17 baseline

9. History and Search

SQLite is the recommended storage backend.

chat:
  history-storage: "sqlite"
  history-sqlite-file: "history.db"
  history-retention-days: 5
  history-size: 0
  history-page-size: 80

Storage modes:

  • sqlite: recommended for search and long-running servers
  • jsonl: legacy single-file persistence
  • memory: history is lost at server restart

history-retention-days: 0 disables age cleanup. history-size: 0 disables count cleanup.

On startup KWC validates an existing SQLite history database before serving it. If integrity validation fails, the DB/WAL/SHM set is preserved in a timestamped history.db.corrupt-* directory and a fresh history database is created. WAL/SHM files left without a usable main DB are isolated the same way.

Optional one-time JSONL import when the SQLite database is empty:

chat:
  history-sqlite-migrate-jsonl: true

Search:

search:
  enabled: true
  result-limit: 50

Search filters include message text, sender, date/time range, source, and whether system/event messages are included. Selecting a result loads surrounding history and jumps to the message. Very large result limits increase database, memory, and response-size costs.

Clone this wiki locally