Aliou Diallo

sesame

BM25 full-text search over Pi sessions.

sesame

Search coding-agent sessions with local BM25 full-text search (SQLite FTS5).

Sesame indexes Pi JSONL session files locally and lets you search them with ranked session, project, date, tool, and path filters.

What it does

Installation

Homebrew

brew tap aliou/toolbox
brew install sesame

From source

Requires Node.js 25 or newer and pnpm.

Quickstart (repo)

pnpm install
pnpm run build

Index sessions:

pnpm run dev index

Search:

pnpm run dev search "nix infra simplify"
pnpm run dev search "package.json exports" --tools --tool write
pnpm run dev search "*" --limit 20

Check index:

pnpm run dev status

Watch for changes:

pnpm run dev watch
pnpm run dev watch --interval 30

Configuration

Sesame reads ~/.config/sesame/config.jsonc by default and creates it if missing:

{
  "piSessionPaths": ["~/.pi/agent/sessions"]
}

The SQLite index is stored at ~/.local/share/sesame/index.sqlite by default on macOS/Linux. Sesame also respects SESAME_*_DIR and XDG directory environment variables.

CLI docs

See docs/cli-usage.md.

Internals docs

Pi integration

Monorepo package:

Development

pnpm run lint
pnpm test
pnpm run typecheck