Adding memory to Kimchi Coding

a pi descendant that kept pi's transcript and pi's wiring

Kimchi Coding is a pi descendant, and it kept pi's transcript as well as pi's wiring: a JSONL log per working directory under ~/.config/kimchi/harness/sessions/, with the directory encoded into the folder name between double dashes. It can resume one of those; a new session reads none of the others, and none of them knows what you did in Claude Code or Codex in the same repo. This page is about adding that.

What Kimchi already has

The session logs, resumption by session, and pi's extension loader, which reads ~/.config/kimchi/harness/extensions without a trust prompt.

Adding recall

deja install kimchi-auto

Three files, all reversible with deja uninstall kimchi-auto, all in ~/.config/kimchi/harness. Kimchi uses that directory whatever KIMCHI_CODING_AGENT_DIR or XDG_CONFIG_HOME say: it sets the variable itself at startup.

  • mcp.json: the MCP server, the path read out of Kimchi's mcp-adapter config.
  • skills/deja-history/SKILL.md: the skill. Kimchi offers it once .config/kimchi/harness/skills is among the skill paths in ~/.config/kimchi/config.json, which first-run setup chooses by default.
  • extensions/deja.ts: pi's extension, unchanged. It adds the digest at session start, recall on each prompt, a line before an edit, and /deja.

deja install kimchi without -auto writes the first two. Leave Kimchi's extensions.claude-code-hook-adapter off alongside the extension, or deja's Claude Code hooks run as well and everything arrives twice.

What arrives

With the server alone: what the model asks for, through the tool. With the extension: a short digest of the project's history at session start, recall on each prompt, and the fix beside a failing command. An injection is capped at 1,536 bytes per prompt and about 4 KB per tool call. What memory costs has the measured comparison.

The part that is not about Kimchi Coding

The index covers every agent's transcripts on the machine — forty-three of them, each in its own format — so a fix found in Claude Code answers a question asked in Kimchi Coding, including sessions from before any of this was installed. A transcript a client later deletes stays searchable; only deja forget drops one on purpose. Nothing here writes memories, so there is nothing to hallucinate into your history; indexing and search are local, and credentials are stripped as the index is built (privacy).

Getting started · Switching between agents · The Kimchi Coding session format

Found this useful? Star deja-vu on GitHub.