Memory arrives as an opening summary scoped to one project, rather than a search you have to remember to run, so the first message already carries the recent decisions and the items left open.
A persistent memory layer for Claude Desktop, spoken over stdio and stored in a local SQLite file. Ten tools cover the opening context, the entries saved as the conversation runs, and the search that pulls them back; a separate Streamlit screen handles the tidying up.
- An opening summary at the top of a conversation: local time, the five most recent entries for the project you name, and the questions and actions still unresolved in that slice — `chronica_compose_opening`
- A short per-turn payload with the current local time, how long since the last saved memory, and the start of the recent topic — `chronica_session_tick`
- Entries written out of the conversation in five kinds — note, event, decision, action and question — with tags, a title and an optional relative date like "3日前" that gets parsed for you — `chronica_save_entry`
- Search by thread, kind, tag or project, and a timeline over a date range — `chronica_search`, `chronica_timeline`
- Daily, weekly and decision summary packs, with counts by kind plus decisions, actions and open questions pulled out — `chronica_summarize`
- Threads as the unit of a topic: create one, list what exists, read one in detail, and ask when you last spoke — `chronica_create_thread`, `chronica_list_threads`, `chronica_get_thread_info`, `chronica_get_last_seen`
- A Streamlit screen for curating what has piled up: filter by kind or tag, delete what you do not want, and see which entries take the most of the token budget
Python 3.10 or newer, Claude Desktop over stdio, on Windows or macOS. Setup scripts write the client config for you; the store is a SQLite file under the project directory. Pass the `project` argument on the opening call — without it, entries from other projects can mix into the summary, so confirm the name against the thread list first if you are unsure. The curation screen deletes entries; it does not edit them.
One command — .\setup.ps1
