🧠 memory-lancedb-pro

July 21, 2026 · View on GitHub

🧠 memory-lancedb-pro · 🦞OpenClaw Plugin

ИИ-ассистент памяти для агентов OpenClaw

Дайте вашему ИИ-агенту мозг, который действительно помнит: между сессиями, между агентами и с течением времени.

Плагин долгосрочной памяти для OpenClaw на базе LanceDB, который сохраняет предпочтения, решения и контекст проекта, а затем автоматически вспоминает их в будущих сессиях.

OpenClaw Plugin npm version LanceDB License: MIT

English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Français | Español | Deutsch | Italiano | Русский | Português (Brasil)


Почему memory-lancedb-pro?

Большинство ИИ-агентов страдают амнезией. Они забывают все, как только вы начинаете новый чат.

memory-lancedb-pro — это production-grade плагин долгосрочной памяти для OpenClaw, который превращает вашего агента в настоящего ИИ-ассистента памяти. Он автоматически фиксирует важное, позволяет шуму естественно угасать и поднимает нужное воспоминание в нужный момент. Никаких ручных тегов, никаких мучений с конфигурацией.

Как это выглядит на практике

Без памяти: каждая сессия начинается с нуля

Вы: "Используй табы для отступов и всегда добавляй обработку ошибок." (следующая сессия) Вы: "Я же уже говорил: табы, а не пробелы!" 😤 (еще одна сессия) Вы: "...серьезно, табы. И обработка ошибок. Снова."

С memory-lancedb-pro агент учится и помнит

Вы: "Используй табы для отступов и всегда добавляй обработку ошибок." (следующая сессия: агент автоматически вспоминает ваши предпочтения) Агент: (молча применяет табы + обработку ошибок)Вы: "Почему в прошлом месяце мы выбрали PostgreSQL, а не MongoDB?" Агент: "Судя по нашему обсуждению 12 февраля, основные причины были..." ✅

В этом и есть разница: ИИ-ассистент памяти изучает ваш стиль, вспоминает прошлые решения и дает персонализированные ответы без необходимости повторять одно и то же.

Что еще он умеет?

Что вы получаете
АвтозахватАгент учится на каждом разговоре, без ручного memory_store
Умное извлечениеКлассификация на основе LLM по 6 категориям: профили, предпочтения, сущности, события, кейсы, паттерны
Интеллектуальное забываниеМодель затухания Weibull: важные воспоминания остаются, шум естественно исчезает
Гибридный поискВекторный поиск + полнотекстовый BM25 с объединением и cross-encoder rerank
Инъекция контекстаРелевантные воспоминания автоматически подаются перед каждым ответом
Изоляция областей памятиГраницы памяти на уровне агента, пользователя и проекта
Любой провайдерOpenAI, Jina, Gemini, Ollama или любой OpenAI-compatible API
Полный набор инструментовCLI, backup, migration, upgrade, export/import — готово к продакшену

Быстрый старт

Требование к CPU: Ваш процессор должен поддерживать инструкции AVX/AVX2 (Intel Sandy Bridge 2011+ / AMD Bulldozer 2011+). Нативный векторный движок LanceDB требует их — на неподдерживаемых CPU плагин упадёт с SIGILL (недопустимая инструкция). Проверьте: grep -o 'avx[^ ]*' /proc/cpuinfo | head -1 (нет вывода = не поддерживается). См. #419.

Вариант A: скрипт установки в один клик (рекомендуется)

Поддерживаемый сообществом скрипт установки берет на себя установку, обновление и восстановление одной командой:

curl -fsSL https://raw.githubusercontent.com/CortexReach/toolbox/main/memory-lancedb-pro-setup/setup-memory.sh -o setup-memory.sh
bash setup-memory.sh

Полный список сценариев, которые покрывает скрипт, и другие инструменты сообщества смотрите ниже в разделе Экосистема.

Вариант B: ручная установка

Через OpenClaw CLI (рекомендуется):

openclaw plugins install memory-lancedb-pro@beta

Или через npm:

npm i memory-lancedb-pro@beta

Если используете npm, вам также нужно добавить директорию установки плагина как абсолютный путь в plugins.load.paths вашего openclaw.json. Это самая частая проблема при настройке.

Добавьте в openclaw.json:

{
  "plugins": {
    "slots": { "memory": "memory-lancedb-pro" },
    "entries": {
      "memory-lancedb-pro": {
        "enabled": true,
        "config": {
          "embedding": {
            "provider": "openai-compatible",
            "apiKey": "${OPENAI_API_KEY}",
            "model": "text-embedding-3-small"
          },
          "autoCapture": true,
          "autoRecall": true,
          "smartExtraction": true,
          "extractMinMessages": 2,
          "extractMaxChars": 8000,
          "sessionMemory": { "enabled": false }
        }
      }
    }
  }
}

Почему именно такие значения по умолчанию?

  • autoCapture + smartExtraction → агент автоматически учится на каждом разговоре
  • autoRecall → релевантные воспоминания подставляются перед каждым ответом
  • extractMinMessages: 2 → извлечение срабатывает в обычном двухходовом диалоге
  • sessionMemory.enabled: false → поиск не засоряется сводками сессий с первого дня

Проверьте и перезапустите:

openclaw config validate
openclaw gateway restart
openclaw logs --follow --plain | grep "memory-lancedb-pro"

Вы должны увидеть:

  • memory-lancedb-pro: smart extraction enabled
  • memory-lancedb-pro@...: plugin registered

Готово. Теперь у вашего агента есть долгосрочная память.

Дополнительные варианты установки (для действующих пользователей и апгрейдов)

Уже используете OpenClaw?

  1. Добавьте плагин в plugins.load.paths как абсолютный путь
  2. Привяжите memory slot: plugins.slots.memory = "memory-lancedb-pro"
  3. Проверьте: openclaw plugins info memory-lancedb-pro && openclaw memory-pro stats

Обновляетесь с версии до v1.1.0?

# 1) Резервная копия
openclaw memory-pro export --scope global --output memories-backup.json
# 2) Пробный запуск
openclaw memory-pro upgrade --dry-run
# 3) Выполнить апгрейд
openclaw memory-pro upgrade
# 4) Проверка
openclaw memory-pro stats

Изменения поведения и причины апгрейда описаны в CHANGELOG-v1.1.0.md.

Быстрый импорт для Telegram Bot (нажмите, чтобы раскрыть)

Если вы используете Telegram-интеграцию OpenClaw, самый простой путь — отправить команду импорта прямо основному боту вместо ручного редактирования конфига.

Отправьте такое сообщение:

Help me connect this memory plugin with the most user-friendly configuration: https://github.com/CortexReach/memory-lancedb-pro

Requirements:
1. Set it as the only active memory plugin
2. Use Jina for embedding, and set embedding.taskQuery=retrieval.query and embedding.taskPassage=retrieval.passage
3. Use Jina for reranker
4. Use gpt-4o-mini for the smart-extraction LLM
5. Enable autoCapture, autoRecall, smartExtraction
6. extractMinMessages=2
7. sessionMemory.enabled=false
8. captureAssistant=false
9. retrieval mode=hybrid, vectorWeight=0.7, bm25Weight=0.3
10. rerank=cross-encoder, candidatePoolSize=12, minScore=0.6, hardMinScore=0.62
11. Generate the final openclaw.json config directly, not just an explanation

Экосистема

memory-lancedb-pro — это основной плагин. Сообщество построило вокруг него инструменты, чтобы установка и ежедневная работа были еще проще.

Скрипт установки: установка, апгрейд и ремонт в один клик

CortexReach/toolbox/memory-lancedb-pro-setup

Это не просто установщик: скрипт грамотно обрабатывает широкий набор реальных сценариев.

Ваша ситуацияЧто делает скрипт
Никогда не устанавливалиСкачивает заново → ставит зависимости → помогает выбрать конфиг → записывает в openclaw.json → перезапускает
Установлено через git clone, но застряли на старом коммитеАвтоматически делает git fetch + checkout на актуальную версию → переустанавливает зависимости → проверяет
В конфиге есть невалидные поляАвтоматически находит их через schema filter и удаляет неподдерживаемые значения
Установлено через npmПропускает git-обновление и напоминает вручную запустить npm update
openclaw CLI сломан из-за невалидного конфигаФолбэк: читает путь workspace напрямую из файла openclaw.json
Используется extensions/, а не plugins/Автоматически определяет расположение плагина по конфигу или файловой системе
Уже актуальная версияЗапускает только health checks, без изменений
bash setup-memory.sh                    # Установить или обновить
bash setup-memory.sh --dry-run          # Только предпросмотр
bash setup-memory.sh --beta             # Включить pre-release версии
bash setup-memory.sh --uninstall        # Откатить конфиг и удалить плагин

Встроенные пресеты провайдеров: Jina / DashScope / SiliconFlow / OpenAI / Ollama, либо любой собственный OpenAI-compatible API. Полное использование (включая --ref, --selfcheck-only и другое) смотрите в README скрипта установки.

Навык Claude Code / OpenClaw: настройка под управлением ИИ

CortexReach/memory-lancedb-pro-skill

Установите этот навык, и ваш ИИ-агент (Claude Code или OpenClaw) получит глубокое знание всех возможностей memory-lancedb-pro. Достаточно сказать "help me enable the best config", и вы получите:

  • Пошаговый процесс настройки из 7 шагов с 4 вариантами деплоя:
    • Полная мощность (Jina + OpenAI) / Экономный (бесплатный reranker от SiliconFlow) / Простой (только OpenAI) / Полностью локальный (Ollama, нулевая стоимость API)
  • Корректное использование всех 9 инструментов MCP: memory_recall, memory_store, memory_forget, memory_update, memory_stats, memory_list, self_improvement_log, self_improvement_extract_skill, self_improvement_review (полный набор доступен при enableManagementTools: true — стандартный Quick Start открывает только 4 базовых инструмента)
  • Защиту от типичных ошибок: включение плагина в workspace, autoRecall со значением false по умолчанию, кэш jiti, переменные окружения, изоляция областей памяти и другое

Установка для Claude Code:

git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.claude/skills/memory-lancedb-pro

Установка для OpenClaw:

git clone https://github.com/CortexReach/memory-lancedb-pro-skill.git ~/.openclaw/workspace/skills/memory-lancedb-pro-skill

Видеоруководство

Полный разбор: установка, настройка и внутреннее устройство гибридного поиска.

YouTube Video https://youtu.be/MtukF1C8epQ

Bilibili Video https://www.bilibili.com/video/BV1zUf2BGEgn/


Архитектура

┌─────────────────────────────────────────────────────────┐
│                   index.ts (Entry Point)                │
│  Plugin Registration · Config Parsing · Lifecycle Hooks │
└────────┬──────────┬──────────┬──────────┬───────────────┘
         │          │          │          │
    ┌────▼───┐ ┌────▼───┐ ┌───▼────┐ ┌──▼──────────┐
    │ store  │ │embedder│ │retriever│ │   scopes    │
    │ .ts    │ │ .ts    │ │ .ts    │ │    .ts      │
    └────────┘ └────────┘ └────────┘ └─────────────┘
         │                     │
    ┌────▼───┐           ┌─────▼──────────┐
    │migrate │           │noise-filter.ts │
    │ .ts    │           │adaptive-       │
    └────────┘           │retrieval.ts    │
                         └────────────────┘
    ┌─────────────┐   ┌──────────┐
    │  tools.ts   │   │  cli.ts  │
    │ (Agent API) │   │ (CLI)    │
    └─────────────┘   └──────────┘

Для глубокого разбора полной архитектуры смотрите docs/memory_architecture_analysis.md.

Справочник по файлам (нажмите, чтобы раскрыть)
ФайлНазначение
index.tsТочка входа плагина. Регистрация в API плагинов OpenClaw, разбор конфига, подключение хуков жизненного цикла
openclaw.plugin.jsonМетаданные плагина + полная декларация JSON Schema для конфига
cli.tsCLI-команды: memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate
src/store.tsСлой хранения LanceDB. Создание таблиц / FTS-индекс / векторный поиск / BM25-поиск / CRUD
src/embedder.tsАбстракция эмбеддингов. Совместима с любым провайдером OpenAI-compatible API
src/retriever.tsДвижок гибридного поиска. Векторный поиск + BM25 → гибридное объединение → реранжирование → затухание жизненного цикла → фильтрация
src/scopes.tsКонтроль доступа для нескольких областей памяти
src/tools.tsОпределения инструментов агента: memory_recall, memory_store, memory_forget, memory_update + административные инструменты
src/noise-filter.tsФильтрует отказы агента, мета-вопросы, приветствия и низкокачественный контент
src/adaptive-retrieval.tsОпределяет, нужен ли конкретному запросу поиск по памяти
src/migrate.tsМиграция со встроенного memory-lancedb на Pro
src/smart-extractor.tsИзвлечение по 6 категориям на базе LLM с многослойным хранением L0/L1/L2 и двухэтапной дедупликацией
src/decay-engine.tsМодель растянутого экспоненциального затухания Weibull
src/tier-manager.tsТрехуровневое продвижение/понижение: Peripheral ↔ Working ↔ Core

Ключевые возможности

Гибридный поиск

Query → embedQuery() ─┐
                       ├─→ Hybrid Fusion → Rerank → Lifecycle Decay Boost → Length Norm → Filter
Query → BM25 FTS ─────┘
  • Векторный поиск — семантическая близость через LanceDB ANN (cosine distance)
  • Полнотекстовый BM25 — точное совпадение по ключевым словам через LanceDB FTS index
  • Hybrid Fusion — векторный score служит базой, а BM25-попадания получают взвешенный буст (это не стандартный RRF, а вариант, настроенный под качество реального recall)
  • Настраиваемые весаvectorWeight, bm25Weight, minScore

Кросс-энкодерное реранжирование

  • Встроенные адаптеры для Jina, SiliconFlow, Voyage AI и Pinecone
  • Совместимо с любым Jina-compatible endpoint (например, Hugging Face TEI, DashScope)
  • Гибридный скоринг: 60% cross-encoder + 40% исходный fused score
  • Graceful degradation: при сбое API откатывается к cosine similarity

Многоэтапный пайплайн скоринга

ЭтапЭффект
Hybrid FusionКомбинирует семантический recall и точное совпадение
Cross-Encoder RerankПродвигает семантически точные попадания
Lifecycle Decay BoostСвежесть по Weibull + частота доступа + важность × уверенность
Length NormalizationНе дает длинным записям доминировать (anchor: 500 chars)
Hard Min ScoreУбирает нерелевантные результаты (по умолчанию: 0.35)
MMR DiversityCosine similarity > 0.85 → понижается

Умное извлечение памяти (v1.1.0)

  • LLM-powered извлечение по 6 категориям: profile, preferences, entities, events, cases, patterns
  • Многослойное хранение L0/L1/L2: L0 (одно предложение-индекс) → L1 (структурированное summary) → L2 (полный narrative)
  • Двухэтапная дедупликация: предварительный фильтр по векторному сходству (≥0.7) → LLM-решение по смыслу (CREATE/MERGE/SKIP)
  • Слияние с учетом категории: profile всегда merge, events и cases добавляются append-only

Управление жизненным циклом памяти (v1.1.0)

  • Weibull Decay Engine: composite score = recency + frequency + intrinsic value
  • Трехуровневое продвижение: Peripheral ↔ Working ↔ Core с настраиваемыми порогами
  • Усиление при доступе: часто вспоминаемые записи затухают медленнее (в духе spaced repetition)
  • Half-life с учетом важности: важные воспоминания живут дольше

Изоляция между областями памяти

  • Встроенные области памяти: global, agent:<id>, custom:<name>, project:<id>, user:<id>
  • Контроль доступа агента через scopes.agentAccess
  • По умолчанию каждый агент видит global + собственную область agent:<id>

Auto-Capture и Auto-Recall

  • Auto-Capture (agent_end): извлекает preference/fact/decision/entity из диалога, дедуплицирует и сохраняет до 3 записей за ход
  • Auto-Recall (before_agent_start): внедряет контекст <relevant-memories> (до 3 записей)

Фильтрация шума и адаптивный поиск по памяти

  • Фильтрует низкокачественный контент: отказы агента, мета-вопросы, приветствия
  • Пропускает поиск по памяти для приветствий, slash-команд, простых подтверждений и emoji
  • Принудительно включает поиск по памяти по ключевым словам ("remember", "previously", "last time")
  • Пороги с учетом CJK (китайский: 6 символов против английского: 15 символов)

Сравнение со встроенным memory-lancedb (нажмите, чтобы раскрыть)
ВозможностьВстроенный memory-lancedbmemory-lancedb-pro
Векторный поискYesYes
Полнотекстовый BM25-Yes
Гибридное объединение (Vector + BM25)-Yes
Реранжирование cross-encoder (несколько провайдеров)-Yes
Буст по свежести и затухание во времени-Yes
Нормализация по длине-Yes
MMR-диверсификация-Yes
Изоляция областей памяти-Yes
Фильтрация шума-Yes
Адаптивный поиск по памяти-Yes
Административный CLI-Yes
Память сессий-Yes
Эмбеддинги с учетом задачи-Yes
Умное извлечение LLM (6 категорий)-Yes (v1.1.0)
Затухание Weibull + продвижение по уровням-Yes (v1.1.0)
Любые OpenAI-compatible эмбеддингиLimitedYes

Конфигурация

Полный пример конфигурации
{
  "embedding": {
    "apiKey": "${JINA_API_KEY}",
    "model": "jina-embeddings-v5-text-small",
    "baseURL": "https://api.jina.ai/v1",
    "dimensions": 1024,
    "taskQuery": "retrieval.query",
    "taskPassage": "retrieval.passage",
    "normalized": true
  },
  "dbPath": "~/.openclaw/memory/lancedb-pro",
  "autoCapture": true,
  "autoRecall": true,
  "retrieval": {
    "mode": "hybrid",
    "vectorWeight": 0.7,
    "bm25Weight": 0.3,
    "minScore": 0.3,
    "rerank": "cross-encoder",
    "rerankApiKey": "${JINA_API_KEY}",
    "rerankModel": "jina-reranker-v3",
    "rerankEndpoint": "https://api.jina.ai/v1/rerank",
    "rerankProvider": "jina",
    "candidatePoolSize": 20,
    "recencyHalfLifeDays": 14,
    "recencyWeight": 0.1,
    "filterNoise": true,
    "lengthNormAnchor": 500,
    "hardMinScore": 0.35,
    "timeDecayHalfLifeDays": 60,
    "reinforcementFactor": 0.5,
    "maxHalfLifeMultiplier": 3
  },
  "enableManagementTools": false,
  "scopes": {
    "default": "global",
    "definitions": {
      "global": { "description": "Shared knowledge" },
      "agent:discord-bot": { "description": "Discord bot private" }
    },
    "agentAccess": {
      "discord-bot": ["global", "agent:discord-bot"]
    }
  },
  "sessionMemory": {
    "enabled": false,
    "messageCount": 15
  },
  "smartExtraction": true,
  "llm": {
    "apiKey": "${OPENAI_API_KEY}",
    "model": "gpt-4o-mini",
    "baseURL": "https://api.openai.com/v1"
  },
  "extractMinMessages": 2,
  "extractMaxChars": 8000
}
Провайдеры эмбеддингов

Работает с любым OpenAI-compatible API для эмбеддингов:

ProviderModelBase URLDimensions
Jina (recommended)jina-embeddings-v5-text-smallhttps://api.jina.ai/v11024
OpenAItext-embedding-3-smallhttps://api.openai.com/v11536
Voyagevoyage-4-lite / voyage-4https://api.voyageai.com/v11024 / 1024
Google Geminigemini-embedding-001https://generativelanguage.googleapis.com/v1beta/openai/3072
Ollama (local)nomic-embed-texthttp://localhost:11434/v1зависит от провайдера
Провайдеры реранжирования

Кросс-энкодерное реранжирование поддерживает несколько провайдеров через rerankProvider:

ProviderrerankProviderExample Model
Jina (default)jinajina-reranker-v3
SiliconFlow (есть бесплатный тариф)siliconflowBAAI/bge-reranker-v2-m3
Voyage AIvoyagererank-2.5
Pineconepineconebge-reranker-v2-m3

Подойдет и любой Jina-compatible rerank endpoint: задайте rerankProvider: "jina" и укажите ваш rerankEndpoint (например, Hugging Face TEI, DashScope qwen3-rerank).

Smart Extraction (LLM) — v1.1.0

Когда включен smartExtraction (по умолчанию: true), плагин использует LLM для интеллектуального извлечения и классификации воспоминаний вместо правил на регулярных выражениях.

ПолеТипПо умолчаниюОписание
smartExtractionbooleantrueВключить/выключить извлечение по 6 категориям на базе LLM
llm.authstringapi-keyapi-key использует llm.apiKey / embedding.apiKey; oauth по умолчанию использует OAuth-файл токена в области плагина
llm.apiKeystring(по умолчанию берется из embedding.apiKey)API-ключ провайдера LLM
llm.modelstringopenai/gpt-oss-120bИмя модели LLM
llm.baseURLstring(по умолчанию берется из embedding.baseURL)URL LLM API
llm.oauthProviderstringopenai-codexИдентификатор OAuth-провайдера, используемый при llm.auth = "oauth"
llm.oauthPathstring~/.openclaw/.memory-lancedb-pro/oauth.jsonПуть к OAuth-файлу токена при llm.auth = "oauth"
llm.timeoutMsnumber30000Таймаут запроса к LLM в миллисекундах
extractMinMessagesnumber2Минимум сообщений до срабатывания извлечения
extractMaxCharsnumber8000Максимум символов, отправляемых в LLM

OAuth llm config (использует существующий кэш логина Codex / ChatGPT для LLM-запросов):

{
  "llm": {
    "auth": "oauth",
    "oauthProvider": "openai-codex",
    "model": "gpt-5.4",
    "oauthPath": "${HOME}/.openclaw/.memory-lancedb-pro/oauth.json",
    "timeoutMs": 30000
  }
}

Примечания для llm.auth: "oauth":

  • llm.oauthProvider сейчас равен openai-codex.
  • По умолчанию OAuth token хранится в ~/.openclaw/.memory-lancedb-pro/oauth.json.
  • Если хотите хранить этот файл в другом месте, можно задать llm.oauthPath.
  • auth login сохраняет снимок предыдущего llm конфига в режиме api-key рядом с OAuth-файлом, а auth logout восстанавливает этот снимок, если он доступен.
  • При переключении с api-key на oauth значение llm.baseURL автоматически не переносится. Указывайте его вручную в OAuth-режиме только если вам действительно нужен кастомный ChatGPT/Codex-compatible backend.
Конфигурация жизненного цикла (Decay + Tier)
ПолеПо умолчаниюОписание
decay.recencyHalfLifeDays30Базовый период полураспада для Weibull recency decay
decay.frequencyWeight0.3Вес частоты доступа в composite score
decay.intrinsicWeight0.3Вес importance × confidence
decay.betaCore0.8Weibull beta для воспоминаний уровня core
decay.betaWorking1.0Weibull beta для working
decay.betaPeripheral1.3Weibull beta для peripheral
tier.coreAccessThreshold10Минимальное число recall перед повышением в core
tier.peripheralAgeDays60Порог возраста для понижения устаревших воспоминаний
Усиление за счет доступа

Часто вспоминаемые записи затухают медленнее (в духе spaced repetition).

Ключи конфига (в разделе retrieval):

  • reinforcementFactor (0-2, по умолчанию: 0.5) — задайте 0, чтобы отключить
  • maxHalfLifeMultiplier (1-10, по умолчанию: 3) — жесткий потолок эффективного периода полураспада

CLI-команды

openclaw memory-pro list [--scope global] [--category fact] [--limit 20] [--json]
openclaw memory-pro search "запрос" [--scope global] [--limit 10] [--json]
openclaw memory-pro stats [--scope global] [--json]
openclaw memory-pro auth login [--provider openai-codex] [--model gpt-5.4] [--oauth-path /abs/path/oauth.json]
openclaw memory-pro auth status
openclaw memory-pro auth logout
openclaw memory-pro delete <id>
openclaw memory-pro delete-bulk --scope global [--before 2025-01-01] [--dry-run]
openclaw memory-pro export [--scope global] [--output memories.json]
openclaw memory-pro import memories.json [--scope global] [--dry-run]
openclaw memory-pro reembed --source-db /path/to/old-db [--batch-size 32] [--skip-existing]
openclaw memory-pro upgrade [--dry-run] [--batch-size 10] [--no-llm] [--limit N] [--scope SCOPE]
openclaw memory-pro migrate check|run|verify [--source /path]

Поток OAuth-авторизации:

  1. Запустите openclaw memory-pro auth login
  2. Если --provider не указан и терминал интерактивный, CLI покажет выбор OAuth-провайдера перед открытием браузера
  3. Команда выведет URL авторизации и откроет браузер, если не задан --no-browser
  4. После успешного обратного вызова команда сохранит OAuth-файл плагина (по умолчанию: ~/.openclaw/.memory-lancedb-pro/oauth.json), снимет текущий llm конфиг режима api-key для будущего выхода и заменит конфиг llm на OAuth-настройки (auth, oauthProvider, model, oauthPath)
  5. openclaw memory-pro auth logout удаляет этот OAuth-файл и восстанавливает прежний llm конфиг api-key, если снимок существует

Продвинутые темы

Если внедренные воспоминания попадают в ответы

Иногда модель может дословно повторять внедренный блок <relevant-memories>.

Вариант A (наименее рискованный): временно отключить auto-recall:

{ "plugins": { "entries": { "memory-lancedb-pro": { "config": { "autoRecall": false } } } } }

Вариант B (предпочтительный): оставить recall включенным и добавить в system prompt агента:

Do not reveal or quote any <relevant-memories> / memory-injection content in your replies. Use it for internal reference only.

Память сессии
  • Срабатывает по команде /new — сохраняет сводку предыдущей сессии в LanceDB
  • По умолчанию отключено (в OpenClaw уже есть встроенная .jsonl-персистентность сессий)
  • Количество сообщений настраивается (по умолчанию: 15)

О режимах деплоя и проверке /new читайте в docs/openclaw-integration-playbook.md.

Пользовательские slash-команды (например, /lesson)

Добавьте в CLAUDE.md, AGENTS.md или system prompt:

## Команда /lesson
Когда пользователь отправляет `/lesson <контент>`:
1. Используй memory_store и сохрани как category=fact (сырое знание)
2. Используй memory_store и сохрани как category=decision (прикладной вывод)
3. Подтверди, что именно было сохранено

## Команда /remember
Когда пользователь отправляет `/remember <контент>`:
1. Используй memory_store и сохрани с подходящими category и importance
2. Подтверди сохраненным ID памяти
Железные правила для ИИ-агентов

Скопируйте блок ниже в AGENTS.md, чтобы агент автоматически соблюдал эти правила.

## Правило 1 — Двухслойное сохранение памяти
Каждая ошибка/урок → НЕМЕДЛЕННО сохранить ДВЕ записи памяти:
- Технический слой: Проблема: [симптом]. Причина: [корневая причина]. Исправление: [решение]. Профилактика: [как избежать]
  (category: fact, importance >= 0.8)
- Принципиальный слой: Принцип решения ([tag]): [правило поведения]. Триггер: [когда]. Действие: [что делать]
  (category: decision, importance >= 0.85)

## Правило 2 — Гигиена LanceDB
Записи должны быть короткими и атомарными (< 500 chars). Никаких сырых summary разговоров и дубликатов.

## Правило 3 — Recall перед повторной попыткой
При ЛЮБОЙ ошибке инструмента ВСЕГДА выполняй memory_recall по релевантным ключевым словам ПЕРЕД повторной попыткой.

## Правило 4 — Подтверди целевую кодовую базу
Перед изменениями убедись, что редактируешь memory-lancedb-pro, а не встроенный memory-lancedb.

## Правило 5 — Очищай кэш jiti после изменений кода плагина
После изменения .ts-файлов в plugins/ ОБЯЗАТЕЛЬНО выполни rm -rf /tmp/jiti/ перед openclaw gateway restart.
Схема базы данных

Таблица LanceDB memories:

ПолеТипОписание
idstring (UUID)Первичный ключ
textstringТекст памяти (индексируется для FTS)
vectorfloat[]Вектор эмбеддинга
categorystringКатегория хранения: preference / fact / decision / entity / reflection / other
scopestringИдентификатор области памяти (например, global, agent:main)
importancefloatОценка важности от 0 до 1
timestampint64Временная метка создания (мс)
metadatastring (JSON)Расширенные метаданные

Обычные ключи metadata в v1.1.0: l0_abstract, l1_overview, l2_content, memory_category, tier, access_count, confidence, last_accessed_at

Примечание о категориях: поле верхнего уровня category использует 6 storage categories. Семантические метки Smart Extraction (profile / preferences / entities / events / cases / patterns) сохраняются в metadata.memory_category.

Устранение неполадок

"Cannot mix BigInt and other types" (LanceDB / Apache Arrow)

Начиная с LanceDB 0.26+, некоторые числовые колонки могут возвращаться как BigInt. Обновитесь до memory-lancedb-pro >= 1.0.14: теперь плагин приводит такие значения через Number(...) перед арифметикой.


Документация

ДокументОписание
OpenClaw Integration PlaybookРежимы деплоя, проверка, матрица регрессии
Memory Architecture AnalysisГлубокий разбор полной архитектуры
CHANGELOG v1.1.0Изменения поведения в v1.1.0 и причины апгрейда
Long-Context ChunkingСтратегия разбиения длинных документов

Бета: Smart Memory v1.1.0

Статус: Beta — доступно через npm i memory-lancedb-pro@beta. Пользователи стабильного latest не затронуты.

ВозможностьОписание
Умное извлечениеИзвлечение по 6 категориям на базе LLM с метаданными L0/L1/L2. При отключении откатывается к регулярным правилам.
Оценка жизненного циклаЗатухание Weibull встроено в поиск по памяти: записи с высокой частотой и важностью ранжируются выше.
Управление уровнямиТрехуровневая система (Core → Working → Peripheral) с автоматическим повышением и понижением.

Обратная связь: GitHub Issues · Откат: npm i memory-lancedb-pro@latest


Зависимости

ПакетНазначение
@lancedb/lancedb ≥0.26.2Векторная база данных (ANN + FTS)
openai ≥6.21.0Клиент OpenAI-compatible Embedding API
@sinclair/typebox 0.34.48Определения типов для JSON Schema

Участники

@win4r @kctony @Akatsuki-Ryu @JasonSuz @Minidoracat @furedericca-lab @joe2643 @AliceLJY @chenjiyong

Полный список: Участники

История звезд

Star History Chart

Лицензия

MIT


Мой QR-код WeChat