Skip to content

Add auto-extraction of memories from conversation messages #591

@het0814

Description

@het0814

Problem

memanto remember stores a literal string supplied by the user. Memanto already has native LLM access (the answer endpoint uses Moorcheh's answer.generate) and a 13 typed memory taxonomy, so it has everything needed to do this.

Proposed solution

Add an extraction path that turns conversation into typed memories:

  1. Input - accept [{ "role": "...", "content": "..." }] turns (JSON file or stdin).
  2. Extraction - run an extraction prompt over the conversation using the same LLM path the answer endpoint uses. Produce candidate memories with type, title, content, and confidence.
  3. Store - persist via the existing batch path (batch_remember, ≤100 per request).
  4. Surfaces:
    • REST: POST /api/v2/agents/{agent_id}/remember/extract
    • CLI: memanto remember --from-conversation messages.json with a --dry-run that prints the candidate memories without storing them.

Notes

  • Keep extraction optional and explicit, do not change the default remember "..." literal behavior.
  • Consider deduping obvious repeats within a single extraction batch.

Acceptance criteria

  • Passing a conversation produces multiple correctly typed memories.
  • --dry-run previews extracted memories without writing them.
  • The literal remember "..." path is unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthelp wantedExtra attention is needed
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions