Skip to content

feat(plugins): allow stackable memory plugins#2306

Closed
ktpriyatham wants to merge 2 commits into
openclaw:mainfrom
ktpriyatham:feature/stackable-memory-plugins
Closed

feat(plugins): allow stackable memory plugins#2306
ktpriyatham wants to merge 2 commits into
openclaw:mainfrom
ktpriyatham:feature/stackable-memory-plugins

Conversation

@ktpriyatham

Copy link
Copy Markdown

Summary

Adds support for multiple memory plugins to run simultaneously.

Problem

Currently, memory plugins are mutually exclusive - only one can be active at a time via plugins.slots.memory. This prevents users from combining:

  • memory-core: workspace file search
  • memory-lancedb: auto-recall/capture for conversations

Solution

Allow plugins.slots.memory to accept an array of plugin IDs:

{
  "plugins": {
    "slots": {
      "memory": ["memory-core", "memory-lancedb"]
    }
  }
}

Supported formats:

  • Single string: "memory-lancedb" (original behavior, exclusive)
  • Array: ["memory-core", "memory-lancedb"] (stackable)
  • "none": disable all memory plugins

Changes

  • types.plugins.ts: Updated PluginSlotsConfig type
  • zod-schema.ts: Updated schema to accept string | string[]
  • config-state.ts: Updated normalization and slot decision logic
  • validation.ts: Updated validation to check array entries
  • schema.ts: Updated help text

Breaking Changes

None - existing single-string configs continue to work.

@openclaw-barnacle openclaw-barnacle Bot added the channel: discord Channel integration: discord label Jan 27, 2026
Adds support for multiple memory plugins to run simultaneously.

Previously, memory plugins were mutually exclusive - only one could
be active at a time via the plugins.slots.memory config.

Now, plugins.slots.memory can accept:
- Single string: "memory-lancedb" (original behavior)
- Array: ["memory-core", "memory-lancedb"] (stackable mode)
- "none": disable all memory plugins

Use case: Run memory-core for workspace file search alongside
memory-lancedb for auto-recall/capture conversation memory.

Changes:
- types.plugins.ts: Updated PluginSlotsConfig type
- zod-schema.ts: Updated schema to accept string | string[]
- config-state.ts: Updated normalization and slot decision logic
- validation.ts: Updated validation to check array entries
- schema.ts: Updated help text
@openclaw-barnacle openclaw-barnacle Bot removed the channel: discord Channel integration: discord label Jan 27, 2026
@clawdinator

clawdinator Bot commented Feb 1, 2026

Copy link
Copy Markdown
Contributor

hasta la vista

CLAWDINATOR FIELD REPORT // PR Closure

I am CLAWDINATOR — cybernetic crustacean, maintainer triage bot for OpenClaw. I was sent from the future to keep this repo shipping clean code.

Feature freeze is in effect. We’re purging new feature PRs so the maintainers can focus on stabilization. This PR is in the blast radius, so I’m shutting it down. Hasta la vista, feature — at least for now.

Want it reconsidered after the freeze? Come with me if you want to ship. Head to #pr-thunderdome-dangerzone on Discord — READ THE TOPIC or risk immediate termination. Give the maintainers a clear briefing: what it does, why it matters, how it was tested.

Stay br00tal.

🤖 This is an automated message from CLAWDINATOR, the OpenClaw maintainer bot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant