Releases: youdie006/sessionwiki
v0.16.1
Docs patch over v0.16.0. The crates.io README's dark-mode banner now uses an absolute image URL so it renders on the crates.io page (crates.io, unlike GitHub, does not rewrite relative <source srcset> paths). No code changes - see v0.16.0 for the feature notes (aider adapter, recall loop, schema stabilization).
v0.16.0
The 11-tool release: aider support, automatic memory for Claude Code, and a stable on-disk schema.
Added
- aider adapter (11th tool) — indexes Aider sessions from each repo's
.aider.chat.history.md. Discovery is a bounded, capped, symlink-safe walk that opens only that file. - Recall loop (Claude Code plugin) — a SessionStart hook gives Claude Code long-term memory of a project: it auto-injects a small, fenced "prior work here" brief at the start of a session, so the agent recalls past work without being asked. Exact-project scoped, fast, fenced as untrusted data, and a no-op on fresh projects.
Changed
- Schema stability on the road to 1.0 — the durable tables (summaries, tags, notes, archive) now version independently of the disposable cache via a forward-only, additive-only migration runner, so your curation and archived sessions survive every upgrade.
Security
searchstrips control bytes from terminal snippets, so an untrusted session body can no longer inject terminal escape sequences.
Install
- macOS / Linux / WSL:
curl -sSL https://raw.githubusercontent.com/youdie006/sessionwiki/main/scripts/install.sh | sh - Windows (PowerShell):
irm https://raw.githubusercontent.com/youdie006/sessionwiki/main/scripts/install.ps1 | iex - With Rust:
cargo install sessionwiki
v0.15.0
v0.15.0: blame (git blame for the AI era) + terminal-title control-ch…
v0.14.0
v0.14.0: gptme adapter (10th tool) + Windows PowerShell installer
v0.13.0
v0.13.0 - security hardening Red-team pass of the launch surface (findings confirmed with PoCs): - web: reject non-loopback Host (DNS rebinding) and cross-origin Origin - resume: never auto-launch Codex/Gemini into a session-claimed directory (a planted session could load an attacker's AGENTS.md); print the command - resolve: escape LIKE wildcards so a web id of '%' can't dump a session - install.sh: honest about checksum scope (corruption, not malicious release)
v0.12.0
- digest: per-project rollup of recent sessions (files touched + synopses) - security: resume validates the session-derived working directory before launching; untrusted reads are size/row capped; SECURITY.md corrected - README: simplified, comparison table, banner/badges refreshed for 9 tools History note: all git history and tags were rewritten to remove personal identifiers that had leaked into earlier commits; this is the clean baseline.
v0.11.0
migrate <id> <dir>: resume any past session from a different project directory (per-tool: claude-code copies into the target's store, codex resumes by id from anywhere, gemini copies into the target project). Plus the Show HN launch hardening: banner/social images rebuilt for 9 tools, README positioning leads with trace and names competitors, archive mode framed as a disk-reclaim feature.
v0.10.0
recall (one-shot search+brief), sync / --no-sync for a warm index, and the harness filesystem-only fix (drops the false-positive text-based oh-my-* labeling that shipped in v0.9.0). Plus review-pass polish to resolve_lazy, recall --json, and the sync count.
v0.9.0
sessionwiki indexes the AI coding sessions already on your disk and makes them searchable, linkable, and resumable - 100% local. This release widens coverage from four tools to nine, recognizes the Korean "oh-my-*" wrappers, and reads OpenCode's current SQLite store.
New adapters (four -> nine tools)
- Cline, Roo Code, Kilo Code - one parser over their shared VS Code
globalStorage/<ext>/tasks/<id>/layout, handling both nativetool_useblocks and the XML-in-text tool calls Cline writes, with edited files extracted fortrace. - gajae-code (and upstream Pi) -
~/.gjc/agent/sessionsJSONL. - Continue -
~/.continue/sessions/*.json.
Harness labeling for the oh-my-* wrappers
- oh-my-claudecode, oh-my-codex, and the oh-my-openagent / lazyclaudecode / lazycodex family run on top of Claude Code, Codex, and OpenCode, so their conversations are already indexed through those adapters. sessionwiki now detects which harness drove a session (from the markers each injects) and auto-tags it
oh-my-claudecode/oh-my-codex/oh-my-openagent, solist --tag oh-my-claudecodeworks. No extra setup, no new adapter.
OpenCode SQLite
- The OpenCode adapter now reads OpenCode's SQLite store (
~/.local/share/opencode/opencode.db, plusopencode-<channel>.dbandOPENCODE_DB), which has been the default since OpenCode v1.2.0 - the previous JSON-only reader missed every session created on a current install. The legacystorage/**JSON layout is still read on pre-1.2.0 installs. The database is opened strictly read-only.
Install
One-line installer: curl -sSL https://raw.githubusercontent.com/youdie006/sessionwiki/main/scripts/install.sh | sh
Or from source: cargo install --git https://github.com/youdie006/sessionwiki
Full changelog: v0.8.0...v0.9.0
v0.8.0
sessionwiki turns the AI coding sessions already on your disk into a searchable, linkable, resumable wiki - 100% local, no telemetry. This release adds file provenance and trace, an archive mode that keeps deleted sessions usable, real zero-setup Korean/CJK search, an agent-native --json surface with a Claude Code plugin, and a fourth tool adapter (OpenCode).
Provenance and trace
- Sessions are now linked to the files they edited or created, read from their tool calls (Claude's
Edit/Write/MultiEdit, Codex'sapply_patch). - New
files <id>lists a session's edits; newtrace <path>lists the sessions that touched a file, newest first (matched by path suffix). relatedalso links sessions that edited the same file, even across projects;statsreports the count of files linked to a session.- Web UI: touched files appear as chips in a session's header; clicking one lists every session that touched it (new
/api/traceendpoint). - Honest scope: this is sessions that touched a file, not line-level authorship.
Archive mode
- When a tool deletes a session's original file, sessionwiki keeps the indexed copy so
search,trace, andbriefkeep working. A durablearchivetable survives schema rebuilds; archived sessions are flagged[archived]and counted instats, andsyncreports how many were kept. - New
forget <id>purges a session for good; re-appearing files un-archive automatically;SESSIONWIKI_NO_ARCHIVEreverts to delete-on-prune. A store that vanishes wholesale (uninstall, unmount) is not mass-archived.
Korean and CJK search
- 2-syllable Korean words (회사, 검색) - the most common word length - are now searchable via a LIKE fallback below the trigram floor.
- All indexed text and queries are NFC-normalized, so macOS NFD input no longer silently returns nothing. Zero-setup CJK search is now actually true.
Agent-native --json and Claude Code plugin
--jsononsearch,list,related,brief,trace, andfiles: stable snake_case output matching the web API, with absolute paths hidden and control-code-free snippets (plus asnippet_markedvariant).- New Claude Code plugin (
/plugin marketplace add youdie006/sessionwiki): a session-recall skill and/sessionwiki:recallcommand let an agent recall past sessions as long-term memory, fully offline, degrading gracefully when the CLI isn't installed.
OpenCode adapter
- Indexes sst/opencode sessions from
~/.local/share/opencode/storage(the multi-file session/message/part JSON layout), including the files each session edited fortrace. Supported tools now number four: Claude Code, Codex, Gemini CLI, and OpenCode.
Quality of life
showpages long transcripts through your pager when stdout is a terminal (SESSIONWIKI_PAGER, thenPAGER, defaultless -FRX), and falls back to plain printing when no pager is installed; piped output is unchanged.summarizestates up front that it pipes each transcript to the summarizer (the defaultclaude -psends them to the Anthropic API) - the one place data can leave the machine, and only on explicitsummarize.
Fixed
tagnow rejects a tag containing a comma or an empty tag (a comma corrupted the comma-joinedtagsarray in--json/web; an empty tag emitted""). JSON serialization of session rows insearch/tracecan no longer panic mid-array.
Install
One-line installer: curl -sSL https://raw.githubusercontent.com/youdie006/sessionwiki/main/scripts/install.sh | sh
Or from source: cargo install --git https://github.com/youdie006/sessionwiki
Full changelog: v0.7.0...v0.8.0