maniacs.club
← Back to all apps
Server + web UI + CLI MIT

chist-server

Unified full-text search across Claude Code, Codex, Cursor CLI and Antigravity CLI history. Every transcript is ingested into one SQLite database, searchable from a web UI, an MCP server, or the command line. Ingest and search are zero-dependency.

chist-server
docs/screenshot.png — web UI search

Features

Four sources, one index

Three JSONL formats plus protobuf-in-SQLite for Antigravity CLI, normalised into one schema.

CJK-capable search

FTS5 with the trigram tokenizer, so Japanese substrings match — the default unicode61 tokenizer cannot.

Incremental ingest

Unchanged files skipped by mtime + size; changed ones resume from a byte offset, verified against a hash of the first 4 KB.

MCP server

MCP 2026-07-28 over stdio or streamable HTTP, read-only: search_history, list_sessions, get_session.

Multi-machine aggregation

Each machine ingests locally and pushes deltas; project_key from the git remote groups a project across machines and tools.

Secret masking

Masked on display locally and before storage on the aggregation server — known prefixes, labelled values and credential-bearing commands.

Install

No Docker needed locally. Run the aggregation server in Docker behind your reverse proxy only when several machines share an index.

python3 -m chist ingest              # 増分インポート
python3 -m chist search 'trigram'    # 全文検索
python3 -m chist show <ext_id>       # 会話を読む

# MCP として登録する
claude mcp add --transport http chist https://chist.example.com/mcp

Stack

Python 3.9+ 標準ライブラリのみ(取り込み・検索) SQLite FTS5 / trigram Svelte SPA MCP 2026-07-28 Docker / Traefik
Initial ingest
14.9 s
Second run
< 0.1 s
Search latency
~0.05 s
Database size
130 MB

Support & limitations

SecurityNever expose the app directly: /mcp and the browser routes are protected by the proxy, and the server refuses to start without CHIST_TOKEN.
Pruningchist prune deletes by time range, source, session or body match. With no condition it does nothing, and prune is not exposed over MCP.
Search limitsQueries under 3 characters fall back to LIKE. tool_call / tool_result are stored but not indexed.
LimitationsCursor CLI has no timestamps or model names, Codex reasoning is usually encrypted, and Antigravity CLI is decoded without a .proto.

Other apps