Merged
Size
XL
Change Breakdown
Feature75%
Docs12%
Security8%
Config5%
#63286Add Active Memory recall plugin

Active Memory plugin adds proactive memory recall to chats

Active Memory plugin adds proactive memory recall to chats
TA
Takhoffman
·Apr 9, 2026

A new plugin runs a dedicated sub-agent before every reply, automatically pulling in relevant preferences and past context without users having to ask.

Conversations with AI assistants often hit a snag when useful context disappears: preferences users shared weeks ago, routines they mentioned, or facts from earlier chats. Either users must manually ask the agent to remember something, or the agent must be prompted to search memory before answering. Neither approach feels natural.

The Active Memory plugin solves this by running a lightweight memory sub-agent as a blocking step before the main reply. The sub-agent decides what to pull in based on the current message and recent conversation, then injects only the relevant bits into the main turn's context. Users get continuity without effort.

The system is highly configurable. Operators can choose how much context the sub-agent sees—just the latest message, a recent conversation tail, or the full history. Six prompt styles range from balanced to precision-focused, and thinking levels can be dialed from off to adaptive. Chat types are gated by default to direct-message-style sessions, with opt-in expansion for groups and channels.

Debugging is built in. Verbose mode shows what Active Memory recalled before the main reply, and transcripts can be persisted to disk for deeper investigation. The /active-memory on|off command gives users session-scoped control, while --global persists operator preferences as defaults.

The plugin owns its own configuration under plugins.entries.active-memory with an 18-option schema covering model selection, fallback behavior, timeout thresholds, and summary character limits. Session debug lines are abstracted into a generic pluginDebugEntries interface so other plugins can plug into the same verbose status surfaces.

In the session bootstrap layer, file permissions were tightened—session files now get 0o600 and their directories 0o700, meaning only the owner can read or write them.

View Original GitHub Description

Summary

Adds Active Memory, an optional plugin that runs a dedicated memory sub-agent before the main reply. The sub-agent searches memory on the user’s behalf and injects only compact, relevant context into the turn, so users can benefit from remembered preferences, routines, and personal facts without manually asking the main agent to search memory.

Why it matters

Active Memory makes conversations feel more continuous: the agent can proactively recall useful details like food preferences, travel habits, recurring routines, and prior context when they are relevant to the current message. It does this without relying on the main answering agent to remember to call memory tools or build its own recall strategy.

What changed

  • Adds the bundled active-memory plugin with configurable query modes, recall profiles, model fallback behavior, prompt overrides, and optional transcript persistence.
  • Adds /active-memory on|off controls for session-scoped toggles, plus --global config persistence for operator-controlled default behavior.
  • Adds verbose/status debug visibility for Active Memory results, now shown before the final reply when verbose mode is enabled.
  • Keeps recall scoped and configurable by chat type, with direct-message-style use as the default and opt-in expansion for other contexts.
  • Adds tests and docs covering configuration, copy-paste agent instructions, transcript persistence, chat-type gating, toggles, and debug output.

Validation

  • Focused Active Memory extension tests pass.
  • Focused reply-runner and Slack approval conflict-resolution tests pass.
  • Formatting, lint, diff checks, and full pre-commit pnpm check passed on the latest pushed branch.
© 2026 · via Gitpulse