Show HN: Harness session memory without transcript hoarding LLM Wiki, a new open-source tool released as a plugin for Claude Code, OpenAI Codex, and OpenCode, enables parallel multi-agent research and session memory without hoarding transcripts, using human-owned schema.md topic guides and plain Markdown output. The tool dispatches 5–10 agents across academic, technical, applied, news, and contrarian angles, with a --min-time 2h option for iterative rounds, and compiles sources into articles, reports, and study guides while keeping raw sources immutable. Research 5–10 parallel agents search academic, technical, applied, news, and contrarian angles. --min-time 2h keeps going in rounds, drilling into gaps each round finds. ██╗ ██╗ ███╗ ███╗ ██╗ ██╗██╗██╗ ██╗██╗ ██║ ██║ ████╗ ████║ ██║ ██║██║██║ ██╔╝██║ ██║ ██║ ██╔████╔██║ ██║ █╗ ██║██║█████╔╝ ██║ ██║ ██║ ██║╚██╔╝██║ ██║███╗██║██║██╔═██╗ ██║ ███████╗███████╗██║ ╚═╝ ██║ ╚███╔███╔╝██║██║ ██╗██║ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚══╝╚══╝ ╚═╝╚═╝ ╚═╝╚═╝ Parallel multi-agent research. Thesis-driven investigation. Source ingestion. Wiki compilation. Concept → Idea → Project incubation. Human-owned topic guides. Session memory. Feedback curation. Topic archiving. Inventory tracking. Dataset manifests. Truth-seeking audits. Token-efficient read-only querying. Artifact generation. Ships as a Claude Code plugin, an OpenAI Codex plugin, an OpenCode instruction file, or a portable AGENTS.md . Obsidian-compatible. Every run compounds. Sources become cross-referenced articles. Articles become reports, slide decks, study guides, playbooks, and implementation plans. Session digests keep the agent oriented without turning private chats into topic evidence. One command spins up a topic wiki, dispatches up to ten agents, ingests what's worth keeping, collects provenance-rich catalogs before tracking them, develops rough Ideas into approved Project briefs, archives old topics without deleting them, tracks durable follow-up state, indexes large datasets without copying them, captures redacted session context and feedback candidates without hoarding transcripts, compiles sources into articles, and hands you a deliverable built on top. Human-owned schema.md topic guides keep local vocabulary and conventions explicit. All plain Markdown you own. 5–10 parallel agents search academic, technical, applied, news, and contrarian angles. --min-time 2h keeps going in rounds, drilling into gaps each round finds. Start from a claim. Agents split across supporting, opposing, mechanistic, meta, and adjacent angles. Output is a verdict — not a summary. Round two fights confirmation bias. URLs, files, PDFs, inbox drops, Git doc repos, MediaWiki dumps, message archives, and Wayback CDX snapshots. Raw sources stay immutable; articles synthesize on top. Register explicitly trusted local research tools without publishing their code, credentials, corpora, or bulk results. Manifest handshakes, path scopes, timeouts, and artifact hashes keep execution reviewable; nothing is imported automatically. Find, dedupe, download bounded public media, and catalog discoverable artifacts, examples, memes, tools, entities, and source candidates. Captures aliases, found-in-context provenance, local asset paths, hashes, scale, media policy, and inventory fit. Track durable things the wiki should remember: items, source candidates, corpora, entities, open questions, watch items, and next actions. Chat views default to compact tables. Capture a rough proposal without pretending it is a Project. Research it, challenge it, compare minimal and ideal versions, then explicitly promote an approved snapshot when you are ready to deliver. Index large, external, mutable, or operational data with manifests, samples, profiles, and query recipes. The wiki becomes the interface; the data stays where it belongs. Every new wiki gets a human-owned schema.md topic guide for local vocabulary, relationships, source boundaries, and adoption notes. Older wikis can adopt one safely with llm-wiki schema adopt . Move whole topic wikis to topics/.archive/ . Preserved knowledge stays structurally maintainable but out of default query, compile, research, collect, output, and maintenance context. Raw sources become synthesized articles with cross-references and confidence scores. Every directory has an index.md — nothing is scanned blindly. Fast, read-only, index-first answers with exact file citations and bounded searches. Claude uses /wiki:query , Codex gets explicit $wiki-query , and Pi/DS4 get isolated read-only launchers. The full workflow stays available for research and writes. Default-on hook capture writes redacted events, state JSON, and Markdown digests under .sessions/ . Rehydrate future turns with compact context; promote only what belongs in a topic. Curates high-signal corrections, preferences, approvals, and plan acceptance under .sessions/feedback/ . Generic acknowledgements are ignored; durable lessons are explicitly promoted. Score every article for staleness and quality. Two-tier scan: fast metadata check, then deep content read for flagged articles. Checkpoint recovery. Machine-readable JSON + human-readable report. Answer the broader trust question. Reuse the librarian pass, trace outputs across raw/ , wiki/ , and output/ , detect drift, inspect provenance, and do fresh research when local evidence is not enough. Extract lessons learned from the current session — error→fix patterns, user corrections, discoveries. Saved as structured notes the wiki can query later. --rules emits enforceable rules instead of prose. Wiki-grounded implementation plans. Reads the knowledge base, interviews you about requirements, fills gaps with targeted research, and produces a phased plan citing wiki articles as evidence. --format rfc|adr|spec . Reports, slide decks, study guides, playbooks, implementation plans, timelines, glossaries, comparisons. Filed back into the wiki so the next output builds on every previous one. Native plugin. Recommended. claude plugin install wiki@llm-wiki Use /wiki:query for the compact read-only path. Research, ingest, compile, and maintenance commands keep the full workflow. Restart Claude Code after install or update. Marketplace plugin. Invoke with @wiki . codex plugin marketplace add nvk/llm-wiki codex plugin add wiki@llm-wiki Full workflows: @wiki Read-only lookup: type $ and select wiki-query Or from a local checkout: ./scripts/bootstrap-codex-plugin.sh --scope user --verify . The explicit-only $wiki-query skill is about 76% smaller than loading the full workflow for a lookup. Instruction file. In opencode.json: { "instructions": "path/to/llm-wiki/plugins/llm-wiki-opencode/skills/wiki-manager/SKILL.md" } Query-only alternative: { "instructions": "path/to/llm-wiki/plugins/llm-wiki-opencode/skills/wiki-query/SKILL.md" } The query-only instruction is about 89% smaller and forbids wiki writes. OpenCode package sync and size are tested; live behavior remains provider/model dependent. Full research also requires OPENCODE ENABLE EXA=1 . Read-only launchers. Best for local models. ./scripts/pi-wiki-query current Pi provider ./scripts/pi-ds4-wiki-query isolated local DS4 Full write-capable workflow: pi --skill path/to/llm-wiki/plugins/\ llm-wiki-opencode/skills/wiki-manager/SKILL.md The query launchers expose only read,grep,find,ls , disable unrelated discovery, and load the shared 2.8 KB query profile. Portable instruction files. Small read-only query profile: curl -sL https://raw.githubusercontent.com/nvk/llm-wiki/master/profiles/query-lite/SKILL.md \ ~/your-project/AGENTS.md Full research and maintenance protocol: curl -sL https://raw.githubusercontent.com/nvk/llm-wiki/master/AGENTS.md \ ~/your-project/AGENTS.md The query profile is about 95% smaller than the complete portable protocol. Choose the full file only when the agent must write or research. Claude Code: claude plugin update wiki@llm-wiki Restart Claude Code to apply If the update command misses a new version stale marketplace cache , sync manually: git clone https://github.com/nvk/llm-wiki.git or: git -C ~/llm-wiki pull REPO=~/llm-wiki/claude-plugin DEST=~/.claude/plugins/cache/llm-wiki/wiki VERSION=$ grep '"version"' "$REPO/.claude-plugin/plugin.json" | grep -o ' 0-9. ' rm -rf "$DEST"/ mkdir -p "$DEST/$VERSION" cp -R "$REPO/.claude-plugin" "$REPO/commands" "$REPO/skills" "$DEST/$VERSION/" Codex: run codex plugin marketplace upgrade llm-wiki , then codex plugin add wiki@llm-wiki . For a local checkout: re-run ./scripts/bootstrap-codex-plugin.sh --scope user --verify . AGENTS.md: re-run the curl command above to replace the file. One command, from anywhere — creates a topic wiki, launches parallel agents, keeps researching for an hour, comes back compiled. /wiki:research "gut microbiome" --new-topic --min-time 1h More common flows: /wiki:research "nutrition" --new-topic /wiki:research "fasting" --deep --min-time 2h /wiki:research "What makes articles go viral?" --new-topic /wiki:research --mode thesis "fiber reduces neuroinflammation via SCFAs" /wiki:query "How does fiber affect mood?" /wiki:query --resume /wiki add https://example.com/article fuzzy router → ingest /wiki what do we know about CRISPR? fuzzy router → query /wiki I have an idea for cited podcast search capture → inventory/ideas/ /wiki poke holes in the podcast idea shape; no Project yet /wiki use the narrow version and make it a project approve → frozen brief /wiki:ingest-collection https://github.com/bitcoin/bips --wiki bitcoin /wiki:adapter list /wiki:adapter doctor my-private-adapter /wiki:adapter run my-private-adapter --request /absolute/request.json /wiki:collect "bitcoin memes" --wiki bitcoin /wiki:collect "bitcoin memes" --scale medium --media reference --inventory corpus /wiki:inventory add item "TRX-4M ring and pinion" --wiki trx4m-1-18 /wiki:inventory list --view actions --limit 10 /wiki:dataset add "Bitcointalk Temporal Graph" --location https://figshare.com/articles/dataset/BitcoinTemporalGraph/26305093 /wiki:dataset list --view schema --limit 10 /wiki:archive topic old-interest --reason "No longer active" /wiki:archive list --archived /wiki:archive restore old-interest /wiki:session status /wiki:session rehydrate --cwd "$PWD" /wiki:feedback list --unpromoted /wiki:session disable optional opt-out /wiki:compile llm-wiki schema status /path/to/wiki llm-wiki schema adopt /path/to/wiki add advisory topic guide to older wikis /wiki:output report --topic gut-brain /wiki:assess /path/to/my-app --wiki nutrition /wiki:lint --fix Long agent runs lose useful context when chats compact, terminals close, or work moves from Claude to Codex. LLM Wiki now has a hidden operational layer for that: redacted checkpoints, compact digests, and user-feedback candidates under HUB/.sessions/ . It helps the next turn get oriented without treating private chat logs as curated wiki knowledge. A session ID such as codex:abc123 combines the harness name with that runtime's native session ID. It is a local lookup key that ties events, state, and a digest together—not a secret, transcript, wiki, or topic ID. Trusted hooks capture in balanced mode by default. /wiki:session disable writes enabled: false so those hooks become no-ops. Capture stores metadata, state, small events, and distilled Markdown digests. Full transcripts are not stored by default. /wiki:session rehydrate returns a compact context block pointing the agent to relevant digests for the current directory, topic, or session ID. Session digests and feedback candidates remain operational memory until promote writes a distilled note into a topic's raw/notes/ . HUB/.sessions/ ├── config.json enabled/mode/privacy/rehydrate settings ├── registry.jsonl append-only lifecycle events ├── queue/YYYY-MM-DD.jsonl small redacted hook events ├── state/