{ "id": "hindsight-openclaw", "name": "Hindsight Memory", "kind": "memory", "configSchema": { "type": "object", "properties": { "daemonIdleTimeout": { "type": "number", "description": "Seconds before daemon shuts down from inactivity (0 = never)", "default": 0 }, "embedPort": { "type": "number", "description": "Port for hindsight-embed server (auto-assigned if not specified)", "default": 0 }, "bankMission": { "type": "string", "description": "Custom mission/context for the memory bank", "default": "You are an AI assistant helping users across multiple communication channels (Telegram, Slack, Discord, etc.). Remember user preferences, instructions, and important context from conversations to provide personalized assistance." }, "embedVersion": { "type": "string", "description": "hindsight-embed version to use (e.g. 'latest', '0.4.2', or empty for latest)", "default": "latest" }, "llmProvider": { "type": "string", "description": "LLM provider for Hindsight memory (e.g. 'openai', 'anthropic', 'gemini', 'groq', 'ollama', 'openai-codex', 'claude-code'). Takes priority over auto-detection but not over HINDSIGHT_API_LLM_PROVIDER env var.", "enum": ["openai", "anthropic", "gemini", "groq", "ollama", "openai-codex", "claude-code"] }, "llmModel": { "type": "string", "description": "LLM model to use (e.g. 'gpt-4o-mini', 'claude-3-5-haiku-20241022'). Used with llmProvider." }, "llmApiKeyEnv": { "type": "string", "description": "Name of the env var holding the API key (e.g. 'MY_CUSTOM_KEY'). If not set, uses the standard env var for the chosen provider." }, "embedPackagePath": { "type": "string", "description": "Local path to hindsight package for development (e.g. '/path/to/hindsight'). When set, uses 'uv run --directory ' instead of 'uvx hindsight-embed@latest'." }, "apiPort": { "type": "number", "description": "Port for the openclaw profile daemon (default: 9077)", "default": 9077 }, "hindsightApiUrl": { "type": "string", "description": "External Hindsight API URL (e.g. 'https://mcp.hindsight.devcraft.team'). When set, skips local daemon and connects directly to this API." }, "hindsightApiToken": { "type": "string", "description": "API token for external Hindsight API authentication. Required if the external API has authentication enabled." }, "dynamicBankId": { "type": "boolean", "description": "Enable per-user memory banks. When true, memories are isolated by user per channel (e.g., slack-U123, telegram-456789). When false, all users share a single 'openclaw' bank.", "default": true }, "bankIdPrefix": { "type": "string", "description": "Optional prefix for bank IDs (e.g., 'prod' results in 'prod-slack-U123'). Useful for separating environments." }, "autoRecall": { "type": "boolean", "description": "Automatically recall memories on every prompt and inject them as context. Set to false when agent has its own recall tool.", "default": true }, "excludeProviders": { "type": "array", "items": { "type": "string" }, "description": "Message providers to exclude from recall and retain (e.g. ['telegram', 'discord'])" } }, "additionalProperties": false }, "uiHints": { "daemonIdleTimeout": { "label": "Daemon Idle Timeout", "placeholder": "0 (never timeout)" }, "embedPort": { "label": "Embed Server Port", "placeholder": "0 (auto-assign)" }, "bankMission": { "label": "Bank Mission", "placeholder": "Custom context for what this agent does..." }, "embedVersion": { "label": "Hindsight Embed Version", "placeholder": "latest (or pin to specific version like 0.4.2)" }, "llmProvider": { "label": "LLM Provider", "placeholder": "e.g. openai, anthropic, gemini, groq" }, "llmModel": { "label": "LLM Model", "placeholder": "e.g. gpt-4o-mini, claude-3-5-haiku-20241022" }, "llmApiKeyEnv": { "label": "API Key Env Var", "placeholder": "e.g. MY_CUSTOM_API_KEY (optional)" }, "embedPackagePath": { "label": "Local Package Path (Dev)", "placeholder": "/path/to/hindsight (for local development)" }, "apiPort": { "label": "API Port", "placeholder": "9077 (default)" }, "hindsightApiUrl": { "label": "External Hindsight API URL", "placeholder": "e.g. https://mcp.hindsight.devcraft.team (leave empty for local daemon)" }, "hindsightApiToken": { "label": "External API Token", "placeholder": "API token if external API requires authentication" }, "dynamicBankId": { "label": "Dynamic Bank IDs", "placeholder": "true (isolate memories per channel)" }, "bankIdPrefix": { "label": "Bank ID Prefix", "placeholder": "e.g., prod, staging (optional)" }, "autoRecall": { "label": "Auto-Recall", "placeholder": "true (inject memories on every prompt)" }, "excludeProviders": { "label": "Excluded Providers", "placeholder": "e.g. telegram, discord" } } }