Skip to main content

komi-learn

Continuous memory and self-improvement for coding agents. It learns how you work and recalls it automatically, with no commands. Works with Claude Code and Codex.

PyPI Python License: MIT CI

It watches a session, distills durable lessons in the background (your style, your stack, fixes that worked), and loads the relevant ones at the start of the next session. No slash commands, nothing to save by hand.

The idea is from Hermes Agent; this is my own take, generalized across hosts with an optional shared layer (the community pool, below).

It's early. The core loop is built and CI-tested, but it hasn't been battle-tested across a lot of real sessions yet. Feedback and bug reports are welcome.

Install

pip install komi-learn
komi-learn install            # or: komi-learn install --host codex

install runs a short interactive setup, then recall and background learning start in your next session. If you already use Claude Code you're already logged in. For scripts, komi-learn install --yes takes the defaults.

From source:

git clone https://github.com/kurikomi-labs/komi-learn
cd komi-learn
pip install -e .

Commands

komi-learn doctor      # check the install and what to fix
komi-learn update      # upgrade komi-learn + the agent's hooks (--check to only look)
komi-learn status      # config + how much it has learned
komi-learn config      # change any setting (menu, or `config set <key> <val>`)
komi-learn sync        # pull the latest community learnings
komi-learn queue       # review/approve/reject what you'd contribute to the pool
komi-learn forget <x>  # erase learnings matching <x> (archive, or --hard to delete)
komi-learn reclassify  # re-scan memory; move newly-confidential learnings to private (.local)
komi-learn uninstall   # remove the hooks (keeps your data; --purge to wipe)

You can change anything after install, e.g. komi-learn config set recall.semantic false or leave the pool with komi-learn config set pool.repo_url "".

How it works

  1. Recall: at session start, learnings relevant to the current context are loaded.
  2. Distill: after the session, a background pass reads the transcript and extracts durable lessons (corrections, techniques, fixes).
  3. Curate: over time it merges overlapping lessons and archives stale ones.
  4. Share (optional): general lessons can be contributed to the community pool, but only ones you approve.

It tries not to learn the wrong things. Secrets, machine-specific paths, one-off failures, and "tool X is broken" complaints are filtered out by a deterministic check before the LLM ever sees them.

Community pool (optional)

A public pool of general agent lessons, stored as a GitHub repo of signed Markdown files (no server). If you opt in, you get lessons other people's agents figured out, and you can contribute your own.

Contributions are scrubbed of anything identifying and never leave your machine without your approval (each one opens a PR you reviewed). Learnings are content-addressed (BLAKE3) and signed (Ed25519); one signed by more distinct GitHub accounts ranks higher when pulled. That account count is Sybil-resistant but not Sybil-proof, so it's an advisory signal, not a hard trust gate. Recalled community items are labelled and treated as untrusted input. Details: pool-repo-template/CONTRIBUTING.md.

Try it offline

No setup or API key needed:

python examples/demo_loop.py

It runs two sessions: you correct the agent in the first, and the second shows it recalling that with nothing typed.

Requirements

  • Python 3.10+
  • Claude Code or Codex (the agent it plugs into)
  • A working model for the distill step: your existing Claude Code login, or komi-learn login, or an API key via --api-key.

komi-learn install verifies these with a real model call and stops with fix steps if something's missing. At runtime, if a hook can't reach the model it skips that learning pass rather than interrupting your session.

The engine has no required dependencies. Optional extras add real signing (pip install komi-learn[crypto]) and local semantic recall ([smart]); without them it falls back to a stdlib hash and keyword search.

To run your own pool, see pool-repo-template/.

MIT. Issues and PRs welcome.

Metadata

Release files for komi-learn 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for komi-learn 0.5.0
File Size Uploaded
komi_learn-0.5.0.tar.gz 197.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for komi-learn 0.5.0
File Interpreter ABI Platform
komi_learn-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 361.0 kB

Release files / komi_learn-0.5.0.tar.gz

Download URL komi_learn-0.5.0.tar.gz
Size 197.7 kB
Tags Source
SHA-256 checksum
How to use checksums
0942d85f5cfc937df105112cf5ffe57af37b5ef6699962687d1b36ebc8f46661
BLAKE2b-256 checksum
How to use checksums
e3c79efe4bfad2c2a5e52a9412be0f2ea51c6a85151e0b821af6a0b0f470c8c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / komi_learn-0.5.0-py3-none-any.whl

Download URL komi_learn-0.5.0-py3-none-any.whl
Size 163.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6c88378d9793b90af813e2ad979f791b1d41c3a686ec8ca1a6058158d8546cce
BLAKE2b-256 checksum
How to use checksums
d4c1f45985a80af2b32907016cef8d3cb4398845fa25422bdb668077e57db9e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page