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.
- indexes Pi session files from
~/.pi/agent/sessionsby default - stores normalized session/chunk data in SQLite under Sesame's XDG data directory
- supports ranked keyword/topic search with SQLite FTS5 + BM25
- supports listing recent sessions with
sesame search "*" - supports tool-oriented filters (
--tools,--tool,--path) - supports filesystem watch mode and interval polling
brew tap aliou/toolbox
brew install sesameRequires Node.js 25 or newer and pnpm.
pnpm install
pnpm run buildIndex sessions:
pnpm run dev indexSearch:
pnpm run dev search "nix infra simplify"
pnpm run dev search "package.json exports" --tools --tool write
pnpm run dev search "*" --limit 20Check index:
pnpm run dev statusWatch for changes:
pnpm run dev watch
pnpm run dev watch --interval 30Sesame 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.
See docs/cli-usage.md.
- indexing flow:
docs/indexing.md - library/API usage:
docs/library-usage.md - docs index:
docs/README.md
Monorepo package:
skills/sesame/SKILL.md: pi skill for the Sesame CLI.
pnpm run lint
pnpm test
pnpm run typecheck