OpenClaw Plugin Changelog
- Recall Hook compatibility with modern OpenClaw hosts: For host versions ≥
2026.5.7, the recall logic automatically migrates to the newbefore_prompt_buildhook, while safely maintaining backward compatibility withbefore_agent_startfor legacy hosts. - Automatic system-event skipping: Both the recall and write phases now automatically detect and ignore the following system events to keep memory records clean:
- Heartbeat polls (
Read HEARTBEAT.md if it exists,[OpenClaw heartbeat poll]) - System commands (
/new,/reset,/stop,/status,/help,/dock_*,/undock)
- Heartbeat polls (
- End-to-End Tool Memory support:
- Recall phase: Appends a new
<tool_memories>section to the prompt injection block, rendering structurally fromtool_memory_detail_list. - Write phase: Implements schema conversion for
assistant.tool_callsandtoolResultmessages into the standard MemOS/add/messageformat (role: "tool"withtool_call_id). - File data normalization: Preserves URLs within tool results as searchable text; distills base64/data URIs into metadata descriptions instead of inlining large binary payloads.
- Recall phase: Appends a new
- System Note prefix stripping: Automatically removes the
Note: The previous agent run was aborted by the user.prefix to improve the accuracy of recall queries and stored memories.
- Refactored system-event detection: Extracted detection logic into reusable helpers (
isHeartbeatPromptandisSystemCommandPrompt), anchoring the heartbeat regex pattern to the start of the string to prevent false positives on regular user messages. - Streamlined memory filtration: Consolidated duplicate relevance-threshold evaluations within the
buildMemorySectionsfunction.
- Added
test/recall-hook-registration.test.mjsto validate hook registration compatibility across modern and legacy OpenClaw host versions.
- Updated the "How it Works" section in both
README.mdandREADME_ZH.mdto outline the hook adaptation strategies across different OpenClaw versions.
- Added
activation.onCapabilities: ["hook"]to the OpenClaw, Moltbot, and ClawDBot plugin manifests. - Added compatibility with the plugin loading mechanism introduced in OpenClaw 5.3 and later. OpenClaw evaluates capability declarations before plugin registration; this declaration ensures the plugin is recognized and loaded as a lifecycle hook plugin, allowing hooks such as
before_agent_startandagent_endto continue registering correctly.
- Adjusted the automatic
hooks.allowConversationAccess: truepatching flow to run after the gateway is ready, allowing the host config update to trigger a gateway restart and apply the required hook permission.
Added compatibility support for the agent_end permission restriction introduced in OpenClaw 2026.4.23 and later: when the gateway starts, the plugin automatically checks the host config and adds hooks.allowConversationAccess: true for this plugin, helping users avoid memory-write hook failures caused by missing permissions.
Fully supports shared knowledge base access and collaborative processing in multi-agent mode.
- Multi-Agent Knowledge Base Support: Fully supported collaborative access and processing of the knowledge base by multiple agents. Allows different agent nodes to share, retrieve, and invoke data from the same knowledge base, improving knowledge acquisition efficiency and context consistency during multi-agent collaboration in complex tasks.
Introduced local visual configuration interface, deeply refactored configuration resolution architecture, and adapted to OpenClaw plugin security review.
- Local Configuration Service: Built-in HTTP service provides a plugin management backend, supporting visual configuration viewing and modification in the browser, and real-time synchronization of configuration changes (default URL is
http://127.0.0.1:38463). - Startup Stability Assurance: Introduced gateway readiness detection (
waitForGatewayReady) in the service startup process to ensure stable service status. - UI Experience Optimization: Added responsive layout and collapsible floating navigation tools, along with new SVG icons.
- Security Review Adaptation (Subprocess Removed): To comply with strict plugin sandbox and security requirements, completely removed
child_processspawn/execcalls. The auto-update mechanism was changed from "silent background download and force update" to "version detection only with manual update command prompts in logs", eliminating the risk of background process escape. - Security Review Adaptation (Default Overstep Removed): Removed all
defaultvalue settings in theplugin.jsondeclaration files to ensure the plugin does not trigger unauthorized or unexpected calls when no explicit configuration is provided. - Centralized Schema Management: Refactored configuration resolution logic (
getConfigResolution) to centrally manage priority strategies for environment variables, user configurations, and default values, enhancing code security and robustness.
Strengthened fine-grained control for multi-agent scenarios and enhanced dynamic user identity extraction capabilities.
- Direct Session User ID Support: Added
useDirectSessionUserIdconfiguration. When enabled, it directly parses and extracts the real session user ID from thesessionKey, meeting data isolation needs in complex agent scenarios.
- Agent Execution Whitelist: Added the
allowedAgentsconfiguration item, allowing memory recall and recording to be triggered only for specific agents in multi-agent mode, avoiding redundant consumption caused by global interception. - Differentiated Override Mechanism (Agent Overrides): Introduced the
agentOverridesconfiguration object, supporting individual overrides for core parameters such as knowledge base IDs (knowledgebaseIds), recall limit (memoryLimitNumber), and feature switches (recallEnabled) for different agents.
- Improved memory ingestion quality: Added and strengthened cleanup for OpenClaw inbound metadata, timestamp wrappers, and trailing Feishu system hints to reduce noisy writes into memory.
- Multi-channel message prefix cleanup improvements: Expanded and standardized envelope/prefix stripping for channels such as WebChat, WhatsApp, Telegram, Slack, Discord, and Zalo, reducing platform wrapper noise in memory ingestion and recall quality.
- More accurate recall display: Recall timestamps now prioritize update time for better temporal consistency.
- More robust Recall Filter: Default parameters are aligned with runtime fallback values (timeout and retries), improving stability in local model scenarios.
- Timeout and resource management optimization: Fixed timer cleanup behavior to prevent resource leaks on exceptional code paths.
- Configuration completeness: Completed Recall Filter-related fields in the plugin schema for more complete and controllable configuration.
- Enhanced observability: Added before/after filtering count logs to make recall quality and filter effect troubleshooting easier.
Silent upgrade and memory recall optimization. This release includes the following improvements to enhance usability and Token efficiency:
- Added a plugin version self-check mechanism that periodically checks the latest version from the NPM registry in the background.
- When a new version is detected, a silent upgrade is triggered automatically so users can continuously receive the latest capabilities and fixes without manual actions.
- Introduced LLM-based secondary filtering for memory recall.
- Added configuration options such as recallFilterModel and recallFilterBaseUrl, allowing an independent model to evaluate relevance.
- Effectively removes noisy results and keeps only memory snippets that are truly useful for the current conversation.
- Refactored memory injection logic by moving static protocols and instructions to appendSystemContext.
- prependContext now keeps only dynamically retrieved memory-list data.
- Significantly reduces Token usage caused by repetitive prompts and improves model focus on core memory.
Added support for multi-agent mode, enabling agent identification from context for memory isolation, with a compatibility switch for older versions.
Added support for user-defined relativity in the searchMemory API.
Supports searchMemory in the before_agent_start event and addMessage in the agent_end event.