Skip to content

[FEAT] Hindsight long-term memory integration #1345

Description

@benfrank241

Is your feature request related to a problem? Please describe.

VoltAgent's memory layer is great for conversation/working memory, but agents that need long-term, cross-session memory — durable facts, experiences, and consolidated "mental models" about a user — currently have to wire that up by hand. There's clear demand here: supermemory already ships a VoltAgent wrapper, so a long-term-memory option fits the ecosystem.

I maintain Hindsight, an open-source agent memory system (world facts / experience facts / consolidated mental models, with recall + reflect). I'd like to make it a first-class option for VoltAgent users and wanted to discuss the right approach before opening a PR, per the contributing guide.

Describe the thing to improve

Add a Hindsight integration for VoltAgent so an agent can transparently recall relevant long-term memories before an LLM call and retain new memories after a response.

Following the pattern supermemory uses, the lightest-touch shape is a wrapper that hooks the agent lifecycle rather than replacing the core memory adapter:

  • onPrepareMessages → recall relevant memories and inject them into context
  • onEnd → retain the conversation turn
import { withHindsight } from "@hindsight/voltagent"; // illustrative

const agent = new Agent(
  withHindsight(
    { name: "assistant", instructions: "...", model: openai("gpt-4o") },
    { apiKey: process.env.HINDSIGHT_API_KEY, bank: "user-123" },
  ),
);

Describe alternatives you've considered

  1. Lifecycle wrapper (above) — non-invasive, layers on top of existing config. Mirrors the supermemory approach.
  2. Custom Memory adapter implementing VoltAgent's memory interface — tighter, makes Hindsight a first-party listed adapter, but heavier since Hindsight's model (facts/mental models/reflect) doesn't map 1:1 onto the message/conversation adapter surface.

I'm happy to build and maintain either. My instinct is to start with the wrapper.

Additional context

Mainly want to gauge maintainer interest and where you'd prefer this to live:

  • a package contributed into this repo (e.g. packages/hindsight), or
  • an externally published package (like @supermemory/tools/voltagent).

Either works for us — happy to follow whatever fits your roadmap. Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions