{
  "schemaVersion": "1.0",
  "item": {
    "slug": "openclaw-memory-brain",
    "name": "OpenClaw Memory (Brain)",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/homeofe/openclaw-memory-brain",
    "canonicalUrl": "https://clawhub.ai/homeofe/openclaw-memory-brain",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/openclaw-memory-brain",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=openclaw-memory-brain",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "index.ts",
      "openclaw.plugin.json",
      "package-lock.json",
      "package.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/openclaw-memory-brain"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/openclaw-memory-brain",
    "agentPageUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "openclaw-memory-brain",
        "body": "This is an OpenClaw Gateway plugin that behaves like a lightweight personal brain:\n\nIt listens to inbound messages and captures likely-valuable notes when certain triggers or topics occur.\nIt allows semantic-ish recall via a search tool and slash commands.\nEverything is stored locally (JSONL) with optional secret redaction.\nOldest items are evicted when the configurable maxItems cap is reached."
      },
      {
        "title": "/remember-brain <text>",
        "body": "Explicitly save a personal brain memory item.\n\nAuth required: No\nArguments: The text to remember (required)\n\n/remember-brain TypeScript 5.5 requires explicit return types on exported functions\n\nResponse: Saved brain memory. (or Saved brain memory. (secrets redacted) when secrets are detected and redacted)."
      },
      {
        "title": "/search-brain <query> [limit]",
        "body": "Search brain memory items by semantic similarity.\n\nAuth required: No\nArguments: Search query (required), optional trailing number for limit (default 5, max 20)\n\n/search-brain architecture decisions\n/search-brain deployment process 10\n\nResponse: Numbered list of results with similarity scores and text previews, or No brain memories found for: <query> when empty. A sole numeric argument is treated as the query, not a limit."
      },
      {
        "title": "/list-brain [limit]",
        "body": "List the most recent brain memory items.\n\nAuth required: No\nArguments: Optional limit number (default 10, max 50)\n\n/list-brain\n/list-brain 20\n\nResponse: Numbered list with dates and text previews, or No brain memories stored yet. when empty."
      },
      {
        "title": "/tags-brain",
        "body": "List all unique tags across all brain memory items, sorted alphabetically.\n\nAuth required: No\nArguments: None\n\n/tags-brain\n\nResponse: Tags (N): tag1, tag2, ... or No tags found."
      },
      {
        "title": "/export-brain [--tags tag1,tag2]",
        "body": "Export brain memory items as JSON for backup or portability.\n\nAuth required: No\nArguments: Optional --tags filter\n\n/export-brain\n/export-brain --tags arch,design\n\nResponse: A JSON object with { version, exportedAt, count, items }. The items array contains full memory items. Use --tags to export only items matching specific tags."
      },
      {
        "title": "/import-brain <json>",
        "body": "Import brain memory items from a JSON export. Accepts either a bare JSON array of items or an envelope object (as produced by /export-brain).\n\nAuth required: Yes\nArguments: JSON string (required)\n\n/import-brain [{\"id\":\"...\",\"kind\":\"note\",\"text\":\"...\",\"createdAt\":\"...\"}]\n/import-brain {\"version\":1,\"items\":[...]}\n\nResponse: Imported N items. X skipped (already exist). Y skipped (invalid format).\n\nItems with matching IDs are skipped (idempotent). Missing IDs get a new UUID. Invalid kind defaults to \"note\". Missing tags receive defaultTags."
      },
      {
        "title": "/purge-brain [--dry-run]",
        "body": "Delete brain memory items older than the configured retention period.\n\nAuth required: Yes\nArguments: Optional --dry-run flag\n\n/purge-brain\n/purge-brain --dry-run\n\nResponse: Purged N item(s) older than X day(s). M item(s) remaining. or Retention policy is not configured. when retention.maxAgeDays is 0 or unset. Use --dry-run to preview without deleting. Expired items are also automatically purged on plugin startup."
      },
      {
        "title": "/forget-brain <id>",
        "body": "Delete a brain memory item by its unique ID.\n\nAuth required: Yes\nArguments: The memory item UUID (required)\n\n/forget-brain 550e8400-e29b-41d4-a716-446655440000\n\nResponse: Deleted brain memory: <id> or No memory found with id: <id>."
      },
      {
        "title": "Tool: brain_memory_search",
        "body": "An AI-callable tool for searching personal brain memory items from the local JSONL store."
      },
      {
        "title": "Input schema",
        "body": "ParameterTypeRequiredDefaultDescriptionquerystringyes-The search textlimitnumberno5Max results to return (1-20)"
      },
      {
        "title": "Example tool call",
        "body": "{ \"query\": \"Anthropic reset schedule\", \"limit\": 5 }"
      },
      {
        "title": "Response format",
        "body": "{\n  \"hits\": [\n    {\n      \"score\": 0.87,\n      \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"createdAt\": \"2026-02-27T10:30:00.000Z\",\n      \"tags\": [\"brain\"],\n      \"text\": \"Remember: Anthropic resets usage limits on the 1st of each month.\"\n    }\n  ]\n}\n\nReturns { \"hits\": [] } when no results match or the query is empty."
      },
      {
        "title": "Auto-capture behavior",
        "body": "The plugin hooks into the message_received event for automatic memory capture."
      },
      {
        "title": "Capture logic",
        "body": "A message is captured when all of these conditions are met:\n\nThe message content is not empty\nMessage length >= minChars (default 80)\nAt least one of:\n\nContains an explicit trigger phrase (e.g. \"remember this\", \"keep this\")\nrequireExplicit is false AND the message contains an auto-topic keyword (e.g. \"decision\")"
      },
      {
        "title": "Trigger matching",
        "body": "Case-insensitive substring matching (e.g. \"merke dir\" also matches \"Merke dir:\" naturally)\nDefault explicit triggers: merke dir, remember this, notiere, keep this\nDefault auto-topics: entscheidung, decision"
      },
      {
        "title": "Convention",
        "body": "Brain-memory should not silently store large amounts of chat. The recommended default is requireExplicit: true.\n\nIf you want more aggressive capture, set requireExplicit: false in config (not recommended for OPSEC)."
      },
      {
        "title": "Configuration",
        "body": "Full configuration reference via openclaw.plugin.json:\n\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-memory-brain\": {\n        \"enabled\": true,\n        \"config\": {\n          \"storePath\": \"~/.openclaw/workspace/memory/brain-memory.jsonl\",\n          \"dims\": 256,\n          \"redactSecrets\": true,\n          \"maxItems\": 5000,\n          \"capture\": {\n            \"minChars\": 80,\n            \"requireExplicit\": true,\n            \"explicitTriggers\": [\"merke dir\", \"remember this\", \"notiere\", \"keep this\"],\n            \"autoTopics\": [\"entscheidung\", \"decision\"]\n          },\n          \"defaultTags\": [\"brain\"],\n          \"retention\": {\n            \"maxAgeDays\": 90\n          }\n        }\n      }\n    }\n  }\n}"
      },
      {
        "title": "Configuration options",
        "body": "OptionTypeDefaultDescriptionenabledbooleantrueEnable or disable the plugin entirelystorePathstring~/.openclaw/workspace/memory/brain-memory.jsonlJSONL file path (must be inside home directory)dimsnumber256Embedding vector dimensions (32-2048)redactSecretsbooleantrueRedact detected secrets before storagemaxItemsnumber5000Maximum stored items before eviction (100-100000)defaultTagsstring[][\"brain\"]Default tags for all captured itemsretention.maxAgeDaysnumber0Delete items older than this many days. 0 = disabled.capture.minCharsnumber80Minimum message length for auto-capture (10+)capture.requireExplicitbooleantrueRequire explicit trigger phrases for capturecapture.explicitTriggersstring[]see config blockTrigger phrases for explicit capture (substring match, case-insensitive)capture.autoTopicsstring[][\"entscheidung\", \"decision\"]Topic keywords for auto-capture"
      },
      {
        "title": "Safety",
        "body": "Secrets (API keys, tokens, passwords, private keys, JWTs, DB connection strings) are redacted before storage.\nOnly rule names and match counts are stored - never the matched secret text.\nStore path is validated to stay inside the user's home directory.\nLocal storage only - no external data transmission."
      },
      {
        "title": "ClawHub",
        "body": "clawhub install openclaw-memory-brain"
      },
      {
        "title": "Local development",
        "body": "openclaw plugins install -l ~/.openclaw/workspace/openclaw-memory-brain\nopenclaw gateway restart"
      }
    ],
    "body": "openclaw-memory-brain\n\nThis is an OpenClaw Gateway plugin that behaves like a lightweight personal brain:\n\nIt listens to inbound messages and captures likely-valuable notes when certain triggers or topics occur.\nIt allows semantic-ish recall via a search tool and slash commands.\nEverything is stored locally (JSONL) with optional secret redaction.\nOldest items are evicted when the configurable maxItems cap is reached.\nCommands\n/remember-brain <text>\n\nExplicitly save a personal brain memory item.\n\nAuth required: No\nArguments: The text to remember (required)\n/remember-brain TypeScript 5.5 requires explicit return types on exported functions\n\n\nResponse: Saved brain memory. (or Saved brain memory. (secrets redacted) when secrets are detected and redacted).\n\n/search-brain <query> [limit]\n\nSearch brain memory items by semantic similarity.\n\nAuth required: No\nArguments: Search query (required), optional trailing number for limit (default 5, max 20)\n/search-brain architecture decisions\n/search-brain deployment process 10\n\n\nResponse: Numbered list of results with similarity scores and text previews, or No brain memories found for: <query> when empty. A sole numeric argument is treated as the query, not a limit.\n\n/list-brain [limit]\n\nList the most recent brain memory items.\n\nAuth required: No\nArguments: Optional limit number (default 10, max 50)\n/list-brain\n/list-brain 20\n\n\nResponse: Numbered list with dates and text previews, or No brain memories stored yet. when empty.\n\n/tags-brain\n\nList all unique tags across all brain memory items, sorted alphabetically.\n\nAuth required: No\nArguments: None\n/tags-brain\n\n\nResponse: Tags (N): tag1, tag2, ... or No tags found.\n\n/export-brain [--tags tag1,tag2]\n\nExport brain memory items as JSON for backup or portability.\n\nAuth required: No\nArguments: Optional --tags filter\n/export-brain\n/export-brain --tags arch,design\n\n\nResponse: A JSON object with { version, exportedAt, count, items }. The items array contains full memory items. Use --tags to export only items matching specific tags.\n\n/import-brain <json>\n\nImport brain memory items from a JSON export. Accepts either a bare JSON array of items or an envelope object (as produced by /export-brain).\n\nAuth required: Yes\nArguments: JSON string (required)\n/import-brain [{\"id\":\"...\",\"kind\":\"note\",\"text\":\"...\",\"createdAt\":\"...\"}]\n/import-brain {\"version\":1,\"items\":[...]}\n\n\nResponse: Imported N items. X skipped (already exist). Y skipped (invalid format).\n\nItems with matching IDs are skipped (idempotent). Missing IDs get a new UUID. Invalid kind defaults to \"note\". Missing tags receive defaultTags.\n\n/purge-brain [--dry-run]\n\nDelete brain memory items older than the configured retention period.\n\nAuth required: Yes\nArguments: Optional --dry-run flag\n/purge-brain\n/purge-brain --dry-run\n\n\nResponse: Purged N item(s) older than X day(s). M item(s) remaining. or Retention policy is not configured. when retention.maxAgeDays is 0 or unset. Use --dry-run to preview without deleting. Expired items are also automatically purged on plugin startup.\n\n/forget-brain <id>\n\nDelete a brain memory item by its unique ID.\n\nAuth required: Yes\nArguments: The memory item UUID (required)\n/forget-brain 550e8400-e29b-41d4-a716-446655440000\n\n\nResponse: Deleted brain memory: <id> or No memory found with id: <id>.\n\nTool: brain_memory_search\n\nAn AI-callable tool for searching personal brain memory items from the local JSONL store.\n\nInput schema\nParameter\tType\tRequired\tDefault\tDescription\nquery\tstring\tyes\t-\tThe search text\nlimit\tnumber\tno\t5\tMax results to return (1-20)\nExample tool call\n{ \"query\": \"Anthropic reset schedule\", \"limit\": 5 }\n\nResponse format\n{\n  \"hits\": [\n    {\n      \"score\": 0.87,\n      \"id\": \"550e8400-e29b-41d4-a716-446655440000\",\n      \"createdAt\": \"2026-02-27T10:30:00.000Z\",\n      \"tags\": [\"brain\"],\n      \"text\": \"Remember: Anthropic resets usage limits on the 1st of each month.\"\n    }\n  ]\n}\n\n\nReturns { \"hits\": [] } when no results match or the query is empty.\n\nAuto-capture behavior\n\nThe plugin hooks into the message_received event for automatic memory capture.\n\nCapture logic\n\nA message is captured when all of these conditions are met:\n\nThe message content is not empty\nMessage length >= minChars (default 80)\nAt least one of:\nContains an explicit trigger phrase (e.g. \"remember this\", \"keep this\")\nrequireExplicit is false AND the message contains an auto-topic keyword (e.g. \"decision\")\nTrigger matching\nCase-insensitive substring matching (e.g. \"merke dir\" also matches \"Merke dir:\" naturally)\nDefault explicit triggers: merke dir, remember this, notiere, keep this\nDefault auto-topics: entscheidung, decision\nConvention\n\nBrain-memory should not silently store large amounts of chat. The recommended default is requireExplicit: true.\n\nIf you want more aggressive capture, set requireExplicit: false in config (not recommended for OPSEC).\n\nConfiguration\n\nFull configuration reference via openclaw.plugin.json:\n\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-memory-brain\": {\n        \"enabled\": true,\n        \"config\": {\n          \"storePath\": \"~/.openclaw/workspace/memory/brain-memory.jsonl\",\n          \"dims\": 256,\n          \"redactSecrets\": true,\n          \"maxItems\": 5000,\n          \"capture\": {\n            \"minChars\": 80,\n            \"requireExplicit\": true,\n            \"explicitTriggers\": [\"merke dir\", \"remember this\", \"notiere\", \"keep this\"],\n            \"autoTopics\": [\"entscheidung\", \"decision\"]\n          },\n          \"defaultTags\": [\"brain\"],\n          \"retention\": {\n            \"maxAgeDays\": 90\n          }\n        }\n      }\n    }\n  }\n}\n\nConfiguration options\nOption\tType\tDefault\tDescription\nenabled\tboolean\ttrue\tEnable or disable the plugin entirely\nstorePath\tstring\t~/.openclaw/workspace/memory/brain-memory.jsonl\tJSONL file path (must be inside home directory)\ndims\tnumber\t256\tEmbedding vector dimensions (32-2048)\nredactSecrets\tboolean\ttrue\tRedact detected secrets before storage\nmaxItems\tnumber\t5000\tMaximum stored items before eviction (100-100000)\ndefaultTags\tstring[]\t[\"brain\"]\tDefault tags for all captured items\nretention.maxAgeDays\tnumber\t0\tDelete items older than this many days. 0 = disabled.\ncapture.minChars\tnumber\t80\tMinimum message length for auto-capture (10+)\ncapture.requireExplicit\tboolean\ttrue\tRequire explicit trigger phrases for capture\ncapture.explicitTriggers\tstring[]\tsee config block\tTrigger phrases for explicit capture (substring match, case-insensitive)\ncapture.autoTopics\tstring[]\t[\"entscheidung\", \"decision\"]\tTopic keywords for auto-capture\nSafety\nSecrets (API keys, tokens, passwords, private keys, JWTs, DB connection strings) are redacted before storage.\nOnly rule names and match counts are stored - never the matched secret text.\nStore path is validated to stay inside the user's home directory.\nLocal storage only - no external data transmission.\nInstall\nClawHub\nclawhub install openclaw-memory-brain\n\nLocal development\nopenclaw plugins install -l ~/.openclaw/workspace/openclaw-memory-brain\nopenclaw gateway restart"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/homeofe/openclaw-memory-brain",
    "publisherUrl": "https://clawhub.ai/homeofe/openclaw-memory-brain",
    "owner": "homeofe",
    "version": "0.3.1",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/openclaw-memory-brain",
    "downloadUrl": "https://openagent3.xyz/downloads/openclaw-memory-brain",
    "agentUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent",
    "manifestUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/openclaw-memory-brain/agent.md"
  }
}