This package connects OpenClaw to the Mirix hosted memory backend and mirrors the core Python SDK flow:
POST /agents/meta/initializePOST /users/create_or_getPOST /memory/retrieve/conversationbefore a turnPOST /memory/addafter a turnGET /memory/searchfor explicit search
- Automatic memory recall on
before_agent_start - Automatic memory capture on
agent_end - A
mirix_memoryagent tool for manual retrieval/search/add - One dedicated detailed-search tool, configurable as
search_mirix_memoryorsearch_memory - A
mirix.statusgateway RPC method mirix-statusslash commandopenclaw mirix statusCLI helper
From this directory:
openclaw plugins install -l .
openclaw mirix setupRestart the OpenClaw gateway after installation.
To make this installable for all OpenClaw users through the normal plugin install flow:
- Publish the package to npm:
npm login
npm publish --access public- Users can then install it with:
openclaw plugins install @mirix-ai/openclaw-mirix
openclaw mirix setupopenclaw mirix setup only prompts for the Mirix API key. It uses the default API URL https://api.mirix.io and the default detailed search tool name search_mirix_memory unless you override them with CLI flags.
The setup command prompts for the Mirix API key and writes the plugin config into ~/.openclaw/openclaw.json.
It also supports non-interactive flags:
openclaw mirix setup --api-key YOUR_MIRIX_API_KEY --search-tool-name search_mirix_memory- If you want it listed on the OpenClaw community plugins page, add:
- a public GitHub repo for this package
- the npm package link
- install/config docs
- a PR to the OpenClaw community plugins page with the Mirix entry
Add this to your OpenClaw config:
{
"plugins": {
"slots": {
"memory": "openclaw-mirix"
},
"entries": {
"openclaw-mirix": {
"enabled": true,
"config": {
"apiKey": "your_mirix_api_key",
"baseUrl": "https://api.mirix.io",
"provider": "openai",
"autoInitialize": true,
"autoRecall": true,
"autoCapture": true,
"recallLimit": 6,
"searchMethod": "embedding",
"searchToolName": "search_mirix_memory",
"userIdMode": "session",
"userIdPrefix": "openclaw"
}
}
}
}
}The plugin derives user_id for Mirix from OpenClaw runtime state.
sessionmode:openclaw:<agentId>:<sessionKey>agentmode:openclaw:<agentId>fixedmode: usesfixedUserId
session is the safest default because it keeps memory scoped per OpenClaw session.
The plugin registers exactly one detailed-search tool name.
Set searchToolName to:
search_mirix_memoryif you want the system prompt and tool name to stay Mirix-specificsearch_memoryif you want the shorter generic tool name
Example detailed-search tool call:
{
"query": "MirixDB indexing",
"memoryType": "episodic",
"searchField": "summary",
"searchMethod": "embedding",
"limit": 5
}This payload works with whichever tool name you configured.
Example mirix_memory tool calls:
{
"action": "search",
"query": "MirixDB indexing",
"memoryType": "episodic",
"searchField": "summary",
"searchMethod": "embedding",
"limit": 5
}{
"action": "retrieve_conversation",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What did we decide about retention policies?"
}
]
}
]
}- The plugin uses only the Mirix remote REST API and
X-API-Keyauthentication. - It does not depend on the Python SDK at runtime.
providerApiKeyandmodelare optional and are passed through to Mirix when initializing the meta agent.