Skip to main content

Chat Exports

kernel-cli chat turns a human conversation export into a local, searchable data source. Version 0.26.11 supports WhatsApp _chat.txt files and exported ZIP archives.

One export, two sides

The app pack operates the application and produces an export. The chat reader owns analysis after the file exists. Keeping those roles separate means the reader never needs to automate WhatsApp merely to answer a question about an already exported conversation.

Start with an export

ingest accepts a ZIP, a bare _chat.txt, or a directory containing the export. Add --name "team group" when the automatic name is not useful. <chat> arguments accept a unique slug prefix.

Command map

Every verb supports --json for machine-readable output.

The parser proves what it can

WhatsApp exports do not include a locale marker. The reader detects date order and 12/24-hour form from the file and reports the result in chat show. Ambiguous data is labeled as assumed instead of silently presented as proven. The parser also:
  • removes bidirectional formatting marks that commonly appear in exports;
  • joins multiline bodies until the next valid message header;
  • distinguishes media, deleted, edited, and system messages;
  • keeps forwarded headers inside the forwarding message when accepting them as real headers would make time move backward by more than 24 hours;
  • refuses an ingest that produces zero messages.
The chronology guard prevents phantom participants and misleading reply-time statistics while leaving room for real timezone travel.

Storage and ownership

Chats live under ~/.monochat/chats/ by default; set MONOCHAT_DIR to choose another store. The original text is the durable source. Kernel CLI and the standalone monochat frontend share the same reader and store, so a chat ingested through either frontend is visible to both. Installing standalone monochat is optional when Kernel CLI is already present. Only ingest/import writes chat-store files. List, show, read, search, stats, timeline, and export are read-only over existing chat data.
In Kernel CLI 0.26.11, the verb-scoped audit hook for chat ingest is not yet wired. The ingest still writes only the disclosed local chat-store files, but it does not yet enter Kernel CLI’s mutating-command audit log. Treat that as a known verification gap rather than assuming the BRAVE banner covers it.

MCP

The typed chat MCP tool exposes the same actions:
ingest is the only mutating action. The other actions read local files and do not reach the network. The MCP tool and CLI route into the same embedded reader, so their parser and store behavior do not diverge.

Current boundary

The shipped adapter reads WhatsApp text exports. KakaoTalk, Telegram, and iMessage are future adapters over the same conversation model; Kernel CLI 0.26.11 does not claim support for them. WhatsApp text exports also contain no reaction history, so the reader does not invent reactions.

Verified Input

Prove stable app state between keyboard steps.

Workflows

Export through an app pack, then verify the resulting artifact.