llm-engram
Durable, explainable long-term memory for Simon Willison's llm CLI, powered by Engram (Lumetra).
llm-engram registers six tools that let any model running under llm store and recall facts across sessions, with semantic + knowledge-graph retrieval handled server-side.
Install
llm install llm-engram
(or, from a checkout: llm install -e .)
Configure
Get an API key at https://lumetra.io, then export it:
export LLM_ENGRAM_API_KEY=eng_live_...
# Optional: pin a default bucket so you don't have to repeat it
export LLM_ENGRAM_DEFAULT_BUCKET=my-project
# Optional: self-hosted Engram
export LLM_ENGRAM_API_BASE=https://engram.internal.example.com
ENGRAM_API_KEY is also accepted for parity with other Engram clients; LLM_ENGRAM_API_KEY wins if both are set.
Tools
| Tool | What it does |
|---|---|
engram_store_memory |
Save an atomic fact/preference/decision. Args: content, optional bucket. |
engram_query_memory |
Ask a natural-language question against memory. Args: question, optional bucket. |
engram_list_memories |
List raw memories in a bucket. Args: optional bucket, limit, offset. |
engram_list_buckets |
List buckets visible to this API key. Args: optional limit, offset. |
engram_delete_memory |
Delete one memory by memory_id. Args: memory_id, optional bucket. |
engram_clear_memories |
Wipe a bucket. Destructive. Args: optional bucket. |
Usage
List the tools:
llm tools
One-shot:
llm -T engram_store_memory "Remember: I prefer pytest over unittest."
llm -T engram_query_memory "What testing framework do I prefer?"
Chat with memory wired in:
llm chat -T engram_store_memory -T engram_query_memory \
-T engram_list_memories -T engram_list_buckets
Per-call bucket override:
llm -T engram_store_memory \
"Q2 OKR: ship v2 of the ingest pipeline" \
--tools-arg engram_store_memory bucket=work
Self-hosting
Point LLM_ENGRAM_API_BASE at any Engram-compatible REST endpoint. The plugin uses only the documented /v1/... routes.
Privacy
See PRIVACY.md.
License
MIT — see LICENSE.
Release files for llm-engram 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llm_engram-0.1.1.tar.gz | 5.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llm_engram-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.4 kB
Release files / llm_engram-0.1.1.tar.gz
| Download URL | llm_engram-0.1.1.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b1ea69ddcc9450d4e67ace3498aa43a2bdd4ada85969a41fd9dd15abb4f7413
|
|
BLAKE2b-256 checksum How to use checksums |
1aeb78fbe852c579cec0b89721295e8bbb77bc9fa14b55ffe31c7a8561101d3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|
Release files / llm_engram-0.1.1-py3-none-any.whl
| Download URL | llm_engram-0.1.1-py3-none-any.whl |
|---|---|
| Size | 5.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
637cb1473d7add91fe19cf8a29cf17533a06c83a6c9bcc8df6c52dc571f8b7b5
|
|
BLAKE2b-256 checksum How to use checksums |
e810f118f93618132e2c77098f31b50f828e90f2b1a0c39ee51bda75fdad0631
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.2
|