Memory

Asyncat keeps what matters from your chats, so you don't have to repeat yourself. You can see, edit and turn off all of it.

What it keeps

Memories are short notes stored on your computer, in Asyncat's database. Each one has a kind:

KindWhat it holds
userStable facts about you: who you are, your work, constraints you keep.
preferenceWhat you like and don't, and how you want answers formatted.
feedbackCorrections, such as “no, use the other folder”, and your notes on a Cat's runs.
projectA project's state, conventions and decisions.
referencePointers worth finding again: links, docs, commands, file locations.
factA lasting fact that fits no other kind.
contextWorking context to reuse. Expires after 30 days.
task_stateWhat's needed to pick up an unfinished task. Expires after 7 days.

How memories are made

  • When you ask. Say “remember that…” and the agent saves it.
  • From chats. With Remember things from chats on (it starts on), after a run that used tools, one short request to your model picks out up to three lasting facts and preferences worth keeping. Corrections you make in a chat are kept as feedback.
  • By hand. Add or edit one on the Memory page.

Turn Remember things from chats off in Settings → Privacy & safety → Learning from chats, and the agent saves a memory only when you ask. Temporary chats can read memories but never save, change or delete one.

How they're used

Relevant memories go into each run, so the agent starts with what it knows. When it searches its memory, it matches by meaning, using your provider's embeddings when they are available, and by words. Memories that are important or recently used rank higher.

When there are many, small memories of the same kind that are rarely used are merged into short summaries. Memories about you and your feedback are never merged.

Whose memories

Where it was madeWho sees it
A chat outside any projectEvery chat.
A chat in a projectMemories about you (user, feedback, preference) apply everywhere. The rest stay with that project.
A chat with one of your agentsIt is kept as that agent's own. Other agents don't see it; each sees its own memories plus shared ones.
A Cat's runOnly that Cat. A Cat sees its own memories plus shared ones, and your chats never see a Cat's.

The agent can also save a memory for every chat on purpose, when that's what you asked for.

The Memory page

Open Customize → Tools & Skills → Memory, or search for a memory with Cmd/Ctrl+K.

  • Each memory shows whose it is: shared with every chat, a project's, an agent's or a Cat's.
  • Filter by Whose memories (a project, an agent or a Cat) and by kind.
  • Edit or delete any memory, or press Add to write one yourself.
  • Consolidate merges small memories Asyncat saved of the same kind into short summaries and drops expired ones. Yours, and important ones, stay as they are.

An agent's editor and a Cat's settings link straight to their memories.

Memory tools

The agent uses these tools to work with memory during a run. See Workspace tools for the rest.

ToolDescription
save_memorySave a memory with a kind and content, and optionally a key, tags, an importance from 0 to 1, and a scope (project or everywhere).
recall_memorySearch memories by a query, optionally of one kind.
list_memoriesList stored memories, most important and recently used first.
forget_memoryDelete one memory by its key.
optimize_memoryDrop expired memories and merge small ones into summaries.