sessionwiki
Your AI coding sessions, compiled into a searchable, interlinked wiki — from Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot, ZCode and OpenCode. Local-first, with LLM synthesis, a session graph, and an MCP server so your agents can look up what you already solved.
[License: MIT]
[Python 3.9+]
[Version]
[Tests]
[CI]
[Link check]
[Wiki checks]
[Docker]
27 synthetic sessions across five projects and seven agents (Aug–Nov 2026) — no personal data. Rebuilt from examples/demo-sessions/ on every push to master.
[sessionwiki home: activity heatmap, token stats and project cards]
Why
Every agent you work with writes a full transcript to disk: the plan, the dead ends, the fix, the reasoning behind it. Hundreds of them, in five different formats, and you never look at them again.
sessionwiki turns that history into a knowledge base:
- One place for every agent. Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot, ZCode and OpenCode sessions land in the same wiki, tagged by agent, project, model and date.
- Always current. Hooks, an OpenCode plugin and nightly timers keep it in sync without you running anything.
- Readable. LLM synthesis writes a summary page per session; low-signal sessions are folded into cluster pages instead of cluttering the wiki.
- Usable by your agents. A built-in MCP server lets Claude Code, ZCode or any MCP client search past decisions before redoing them.
- Yours. Everything runs locally; transcripts are redacted on the way in, and
sessionwiki audit checks the output before you publish anything.
Highlights
Screenshots
All screenshots come from the live demo and are regenerated with scripts/regen_docs_screenshots.py.
Every session, every agent — filter by project, model and date; each row carries its agent badge.
[sessions table with Claude, ZCode, Codex and OpenCode badges]
Session pages — the summary, the conversation, highlighted code and the tools that ran, plus token and cache usage.
[session page with a highlighted Go code block and tool calls]
Projects — topics, description, activity and tool usage per project, with freshness badges on the index.
Graph and search — sessions grouped around their projects; ⌘K searches every page instantly.
Quick start
setup creates a checkout-local .venv, installs the package, scaffolds raw/, wiki/, site/, enables the adapters for the agents it finds and runs sessionwiki doctor. The wrapper scripts use the venv automatically; for the CLI, activate it (source .venv/bin/activate) or call .venv/bin/sessionwiki.
Or install the published package — pick one:
Docker — serve a site you have built (image ghcr.io/necroz/sessionwiki, see Docker deployment for docker compose and running CLI commands in the container):
A step-by-step walkthrough with screenshots lives in the setup guide.
Connect your agents
Claude Code, Codex CLI, Cursor, Gemini CLI, Copilot — read straight from their session folders on sessionwiki sync. To sync after every Claude Code reply, add a Stop hook to ~/.claude/settings.json:
Parallel hook runs are safe: sync and synthesize take an OS file lock and write their state atomically.
ZCode keeps sessions in SQLite. sessionwiki exports them read-only and installs the hook and a nightly job for you:
OpenCode (V2, opencode.db) gets a server plugin that runs autosync when a session goes idle:
Hook-triggered runs skip instead of queueing when a cycle is already running; scheduled runs wait and catch up. Details: ZCODE.md, docs/adapters/opencode.md, and sessionwiki adapters for the full list.
LLM synthesis
sync fills raw/ with redacted transcripts. synthesize turns them into wiki pages: a summary per session, project pages, cross-links. Point it at any backend in config.local.json:
Backends: ollama (local), openai (any OpenAI-compatible /v1: vLLM, SGLang, LM Studio, LiteLLM, hosted APIs), agent-delegate (let your coding agent write the pages), dummy (offline stubs). sessionwiki warns when a non-loopback base_url would send transcripts off your machine. See docs/modes/api/.
Ask your wiki from your agents (MCP)
Claude Code plugin — the MCP server plus a skill that tells the agent when to search the wiki. It asks for your sessionwiki folder on install:
Any MCP client — run the published package with uvx, and point SESSIONWIKI_HOME at the folder that holds raw/ and wiki/ (run sessionwiki sync there first):
From a source checkout, use "command": "/path/to/sessionwiki/.venv/bin/sessionwiki" with "args": ["mcp"]; the checkout is the data root, so no env is needed.
Add it to Claude Code, Claude Desktop, ZCode or any MCP client. Tools include wiki_query, wiki_search (optionally over raw transcripts), wiki_read_page, wiki_list_sources, wiki_lint, wiki_sync, wiki_export, wiki_dashboard and more — 12 in total, stdio transport, no SDK dependency, path-traversal guarded.
CLI reference
Every subcommand has --help. Full reference: docs/reference/cli.md.
Configuration
Settings are layered; later files win:
Put machine-specific values — synthesis backend and keys, redaction patterns, project roots, adapter toggles — in config.local.json. Reference: docs/configuration-reference.md. Use .llmwikiignore to exclude projects or sessions.
How it works
Three layers, following Karpathy's LLM Wiki pattern: raw/ is the immutable source of truth, wiki/ is maintained by the LLM, site/ is generated. Your raw/ and wiki/ are gitignored — your data never enters the repository.
Privacy
- Transcripts are redacted on conversion: your username, home paths and 17 kinds of keys and tokens, plus your own patterns.
- ZCode and OpenCode databases are opened read-only.
- Nothing leaves your machine unless you configure a remote synthesis backend — and sessionwiki warns when you do.
sessionwiki audit scans raw/, wiki/ and site/ before you publish a site.
See docs/privacy.md and SECURITY.md.
Documentation
Based on llmwiki
sessionwiki started as a fork of llmwiki by Pratiyush (MIT) at v1.3.82 and keeps its full history. Most of the converter, site, lint and MCP foundations are his work. sessionwiki adds the ZCode and OpenCode sources with autosync, the OpenAI-compatible synthesis backend, session coalescing, locking and atomic state, doctor and audit, the session graph, and a long list of fixes — see what's different and how to migrate.
Thanks also to Andrej Karpathy for the LLM Wiki idea, Python Markdown, highlight.js and vis-network.
Contributing
Read CONTRIBUTING.md. Keep PRs to one concern, use feat: / fix: / docs: / chore: / test: titles, add a CHANGELOG entry for feat and fix, and never commit real session data. CI must be green.
License
MIT © 2026 Igor Lashkevich (sessionwiki) · © 2026 Pratiyush (original llmwiki). See NOTICE.