Skip to content

feat: Add recall transparency option to show injected memories to users #114

Description

@Enominera

Problem

When autoRecall is enabled, the plugin automatically injects relevant memories into the user prompt via <relevant-memories> tags before the agent processes the message. However, users have no visibility into what memories are being injected.

This creates a trust and accuracy risk:

  • Old/inaccurate memories may silently influence the agent's behavior
  • Users cannot verify or correct injected content
  • The <relevant-memories> tag is stripped from persisted messages by the before_message_write hook, making it invisible in conversation history

Proposed Solution

Add a config option recall.showInjected (boolean, default false):

{
  "recall": {
    "showInjected": true
  }
}

When enabled, the before_message_write hook should skip stripping <relevant-memories> tags, preserving them in the conversation history so users can see what was injected.

Current Workaround

I patched dist/index.mjs to add this check:

const showInjected = api.pluginConfig?.recall?.showInjected ?? false;
api.on("before_message_write", (event) => {
    if (showInjected) return; // preserve <relevant-memories>
    // ... existing strip logic
});

This works but is lost on plugin upgrades.

Use Case

For long-term collaborative agents, memory accuracy degrades over time. Users need transparency into what the agent "remembers" to catch and correct stale or incorrect memories before they influence responses.

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