🧠 memory-lancedb-pro

August 24, 2026 · View on GitHub

🧠 memory-lancedb-pro · 🦞OpenClaw Plugin

Assistente de Memória IA para Agentes OpenClaw

Dê ao seu agente de IA um cérebro que realmente lembra — entre sessões, entre agentes, ao longo do tempo.

Um plugin de memória de longo prazo para OpenClaw baseado em LanceDB que armazena preferências, decisões e contexto de projetos, e os recupera automaticamente em sessões futuras.

OpenClaw Plugin npm version LanceDB License: MIT

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


Por que memory-lancedb-pro?

A maioria dos agentes de IA sofre de amnésia. Eles esquecem tudo no momento em que você inicia um novo chat.

memory-lancedb-pro é um plugin de memória de longo prazo de nível de produção para OpenClaw que transforma seu agente em um verdadeiro Assistente de Memória IA — captura automaticamente o que importa, deixa o ruído desaparecer naturalmente e recupera a memória certa no momento certo. Sem tags manuais, sem dores de cabeça com configuração.

Seu Assistente de Memória IA em ação

Sem memória — cada sessão começa do zero:

Você: "Use tabs para indentação, sempre adicione tratamento de erros." (próxima sessão) Você: "Eu já te disse — tabs, não espaços!" 😤 (próxima sessão) Você: "…sério, tabs. E tratamento de erros. De novo."

Com memory-lancedb-pro — seu agente aprende e lembra:

Você: "Use tabs para indentação, sempre adicione tratamento de erros." (próxima sessão — agente recupera automaticamente suas preferências) Agente: (aplica silenciosamente tabs + tratamento de erros) ✅ Você: "Por que escolhemos PostgreSQL em vez de MongoDB no mês passado?" Agente: "Com base na nossa discussão de 12 de fevereiro, os principais motivos foram…" ✅

Essa é a diferença que um Assistente de Memória IA faz — aprende seu estilo, lembra decisões passadas e entrega respostas personalizadas sem você precisar se repetir.

O que mais ele pode fazer?

O que você obtém
Auto-CaptureSeu agente aprende de cada conversa — sem necessidade de memory_store manual
Extração inteligenteClassificação LLM em 6 categorias: perfis, preferências, entidades, eventos, casos, padrões
Esquecimento inteligenteModelo de decaimento Weibull — memórias importantes permanecem, ruído desaparece
Busca híbridaBusca vetorial + BM25 full-text, fundida com reranking cross-encoder
Injeção de contextoMemórias relevantes aparecem automaticamente antes de cada resposta
Isolamento multi-scopeLimites de memória por agente, por usuário, por projeto
Qualquer provedorOpenAI, Jina, Gemini, Ollama ou qualquer API compatível com OpenAI
Toolkit completoCLI, backup, migração, upgrade, exportação/importação — pronto para produção

Início rápido

Requisito de CPU: Sua CPU deve suportar instruções AVX/AVX2 (Intel Sandy Bridge 2011+ / AMD Bulldozer 2011+). O motor vetorial nativo do LanceDB requer essas instruções — em CPUs não compatíveis o plugin falhará com SIGILL (Instrução ilegal). Verifique com: grep -o 'avx[^ ]*' /proc/cpuinfo | head -1 (sem saída = não suportado). Veja #419.

Opção A: Script de instalação com um clique (recomendado)

O script de instalação mantido pela comunidade gerencia instalação, atualização e reparo em um único comando:

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

Veja Ecossistema abaixo para a lista completa de cenários cobertos e outras ferramentas da comunidade.

Opção B: Instalação manual

Via OpenClaw CLI (recomendado):

openclaw plugins install memory-lancedb-pro@beta

Ou via npm:

npm i memory-lancedb-pro@beta

Se usar npm, você também precisará adicionar o diretório de instalação do plugin como caminho absoluto em plugins.load.paths no seu openclaw.json. Este é o problema de configuração mais comum.

Adicione ao seu 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 }
        }
      }
    }
  }
}

Por que esses valores padrão?

  • autoCapture + smartExtraction → seu agente aprende automaticamente de cada conversa
  • autoRecall → memórias relevantes são injetadas antes de cada resposta
  • extractMinMessages: 2 → a extração é acionada em chats normais de dois turnos
  • sessionMemory.enabled: false → evita poluir a busca com resumos de sessão no início

Valide e reinicie:

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

Você deve ver:

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

Pronto! Seu agente agora tem memória de longo prazo.

Mais caminhos de instalação (usuários existentes, upgrades)

Já está usando OpenClaw?

  1. Adicione o plugin com um caminho absoluto em plugins.load.paths
  2. Vincule o slot de memória: plugins.slots.memory = "memory-lancedb-pro"
  3. Verifique: openclaw plugins info memory-lancedb-pro && openclaw memory-pro stats

Atualizando de versões anteriores ao v1.1.0?

# 1) Backup
openclaw memory-pro export --scope global --output memories-backup.json
# 2) Dry run
openclaw memory-pro upgrade --dry-run
# 3) Run upgrade
openclaw memory-pro upgrade
# 4) Verify
openclaw memory-pro stats

Veja CHANGELOG-v1.1.0.md para mudanças de comportamento e justificativa de upgrade.

Importação rápida via Telegram Bot (clique para expandir)

Se você está usando a integração Telegram do OpenClaw, a maneira mais fácil é enviar um comando de importação diretamente para o Bot principal em vez de editar a configuração manualmente.

Envie esta mensagem:

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

Ecossistema

memory-lancedb-pro é o plugin principal. A comunidade construiu ferramentas ao redor dele para tornar a configuração e o uso diário ainda mais suaves:

Script de instalação — Instalação, atualização e reparo com um clique

CortexReach/toolbox/memory-lancedb-pro-setup

Não é apenas um instalador simples — o script lida inteligentemente com diversos cenários reais:

Sua situaçãoO que o script faz
Nunca instalouDownload → instalar dependências → escolher config → gravar em openclaw.json → reiniciar
Instalado via git clone, preso em um commit antigogit fetch + checkout automático para a versão mais recente → reinstalar dependências → verificar
Config tem campos inválidosDetecção automática via filtro de schema, remoção de campos não suportados
Instalado via npmPula atualização git, lembra de executar npm update por conta própria
CLI openclaw quebrado por config inválidaFallback: ler caminho do workspace diretamente do arquivo openclaw.json
extensions/ em vez de plugins/Detecção automática da localização do plugin a partir da config ou sistema de arquivos
Já está atualizadoExecuta apenas verificações de saúde, sem alterações
bash setup-memory.sh                    # Install or upgrade
bash setup-memory.sh --dry-run          # Preview only
bash setup-memory.sh --beta             # Include pre-release versions
bash setup-memory.sh --uninstall        # Revert config and remove plugin

Presets de provedores integrados: Jina / DashScope / SiliconFlow / OpenAI / Ollama, ou traga sua própria API compatível com OpenAI. Para uso completo (incluindo --ref, --selfcheck-only e mais), veja o README do script de instalação.

Claude Code / OpenClaw Skill — Configuração guiada por IA

CortexReach/memory-lancedb-pro-skill

Instale esta Skill e seu agente de IA (Claude Code ou OpenClaw) ganha conhecimento profundo de todas as funcionalidades do memory-lancedb-pro. Basta dizer "me ajude a ativar a melhor configuração" e obtenha:

  • Workflow de configuração guiado em 7 etapas com 4 planos de implantação:
    • Full Power (Jina + OpenAI) / Budget (reranker SiliconFlow gratuito) / Simple (apenas OpenAI) / Totalmente local (Ollama, custo API zero)
  • Todas as 9 ferramentas MCP usadas corretamente: memory_recall, memory_store, memory_forget, memory_update, memory_stats, memory_list, self_improvement_log, self_improvement_extract_skill, self_improvement_review (o toolkit completo requer enableManagementTools: true — a configuração padrão do Quick Start expõe as 4 ferramentas principais)
  • Prevenção de armadilhas comuns: ativação de plugin workspace, autoRecall padrão false, cache jiti, variáveis de ambiente, isolamento de scope, etc.

Instalação para Claude Code:

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

Instalação para OpenClaw:

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

Tutorial em vídeo

Guia completo: instalação, configuração e funcionamento interno da busca híbrida.

YouTube Video https://youtu.be/MtukF1C8epQ

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


Arquitetura

┌─────────────────────────────────────────────────────────┐
│                   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)    │
    └─────────────┘   └──────────┘

Para um mergulho profundo na arquitetura completa, veja docs/memory_architecture_analysis.md.

Referência de arquivos (clique para expandir)
ArquivoFinalidade
index.tsPonto de entrada do plugin. Registra na API de Plugin do OpenClaw, analisa config, monta lifecycle hooks
openclaw.plugin.jsonMetadados do plugin + declaração completa de config via JSON Schema
cli.tsComandos CLI: memory-pro list/search/stats/delete/delete-bulk/export/import/reembed/upgrade/migrate
src/store.tsCamada de armazenamento LanceDB. Criação de tabelas / Indexação FTS / Busca vetorial / Busca BM25 / CRUD
src/embedder.tsAbstração de embedding. Compatível com qualquer provedor de API compatível com OpenAI
src/retriever.tsMotor de busca híbrida. Vector + BM25 → Fusão Híbrida → Rerank → Decaimento do Ciclo de Vida → Filtro
src/scopes.tsControle de acesso multi-scope
src/tools.tsDefinições de ferramentas do agente: memory_recall, memory_store, memory_forget, memory_update + ferramentas de gerenciamento
src/noise-filter.tsFiltra recusas do agente, meta-perguntas, saudações e conteúdo de baixa qualidade
src/adaptive-retrieval.tsDetermina se uma consulta precisa de busca na memória
src/migrate.tsMigração do memory-lancedb integrado para o Pro
src/smart-extractor.tsExtração LLM em 6 categorias com armazenamento em camadas L0/L1/L2 e deduplicação em dois estágios
src/decay-engine.tsModelo de decaimento exponencial esticado Weibull
src/tier-manager.tsPromoção/rebaixamento em três níveis: Peripheral ↔ Working ↔ Core

Funcionalidades principais

Busca híbrida

Query → embedQuery() ─┐
                       ├─→ Hybrid Fusion → Rerank → Lifecycle Decay Boost → Length Norm → Filter
Query → BM25 FTS ─────┘
  • Busca vetorial — similaridade semântica via LanceDB ANN (distância cosseno)
  • Busca full-text BM25 — correspondência exata de palavras-chave via índice FTS do LanceDB
  • Fusão híbrida — pontuação vetorial como base, resultados BM25 recebem boost ponderado (não é RRF padrão — ajustado para qualidade de recall no mundo real)
  • Pesos configuráveis — vectorWeight, bm25Weight, minScore

Reranking Cross-Encoder

  • Adaptadores integrados para Jina, SiliconFlow, Voyage AI e Pinecone
  • Compatível com qualquer endpoint compatível com Jina (ex.: Hugging Face TEI, DashScope)
  • Pontuação híbrida: 60% cross-encoder + 40% pontuação fundida original
  • Degradação elegante: fallback para similaridade cosseno em caso de falha da API

Pipeline de pontuação multi-estágio

EstágioEfeito
Fusão híbridaCombina recall semântico e correspondência exata
Rerank Cross-EncoderPromove resultados semanticamente precisos
Boost de decaimento do ciclo de vidaFrescor Weibull + frequência de acesso + importância × confiança
Normalização de comprimentoImpede que entradas longas dominem (âncora: 500 caracteres)
Pontuação mínima rígidaRemove resultados irrelevantes (padrão: 0.35)
Diversidade MMRSimilaridade cosseno > 0.85 → rebaixado

Extração inteligente de memória (v1.1.0)

  • Extração LLM em 6 categorias: perfil, preferências, entidades, eventos, casos, padrões
  • Armazenamento em camadas L0/L1/L2: L0 (índice em uma frase) → L1 (resumo estruturado) → L2 (narrativa completa)
  • Deduplicação em dois estágios: pré-filtro de similaridade vetorial (≥0.7) → decisão semântica LLM (CREATE/MERGE/SKIP)
  • Fusão consciente de categorias: profile sempre funde, events/cases apenas adicionam

Gerenciamento do ciclo de vida da memória (v1.1.0)

  • Motor de decaimento Weibull: pontuação composta = frescor + frequência + valor intrínseco
  • Promoção em três níveis: Peripheral ↔ Working ↔ Core com limiares configuráveis
  • Reforço por acesso: memórias recuperadas frequentemente decaem mais lentamente (estilo repetição espaçada)
  • Meia-vida modulada pela importância: memórias importantes decaem mais lentamente

Isolamento multi-scope

  • Scopes integrados: global, agent:<id>, custom:<name>, project:<id>, user:<id>
  • Controle de acesso no nível do agente via scopes.agentAccess
  • Padrão: cada agente acessa global + seu próprio scope agent:<id>

Auto-Capture e Auto-Recall

  • Auto-Capture (agent_end): extrai preferências/fatos/decisões/entidades das conversas, deduplica, armazena até 3 por turno
  • Auto-Recall (before_agent_start): injeta contexto <relevant-memories> (até 3 entradas)

Filtragem de ruído e busca adaptativa

  • Filtra conteúdo de baixa qualidade: recusas do agente, meta-perguntas, saudações
  • Pula a busca para: saudações, comandos slash, confirmações simples, emoji
  • Força a busca para palavras-chave de memória ("lembra", "anteriormente", "da última vez")
  • Limiares CJK (chinês: 6 caracteres vs inglês: 15 caracteres)

Comparação com o memory-lancedb integrado (clique para expandir)
Funcionalidadememory-lancedb integradomemory-lancedb-pro
Busca vetorialSimSim
Busca full-text BM25-Sim
Fusão híbrida (Vector + BM25)-Sim
Rerank cross-encoder (multi-provedor)-Sim
Boost de frescor e decaimento temporal-Sim
Normalização de comprimento-Sim
Diversidade MMR-Sim
Isolamento multi-scope-Sim
Filtragem de ruído-Sim
Busca adaptativa-Sim
CLI de gerenciamento-Sim
Memória de sessão-Sim
Embeddings conscientes de tarefa-Sim
Extração inteligente LLM (6 categorias)-Sim (v1.1.0)
Decaimento Weibull + Promoção de nível-Sim (v1.1.0)
Qualquer embedding compatível com OpenAILimitadoSim

Configuração

Exemplo de configuração completa
{
  "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
}
Provedores de Embedding

Funciona com qualquer API de embedding compatível com OpenAI:

ProvedorModeloBase URLDimensões
Jina (recomendado)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/v1específico do provedor
Provedores de Rerank

O reranking cross-encoder suporta múltiplos provedores via rerankProvider:

ProvedorrerankProviderModelo de exemplo
Jina (padrão)jinajina-reranker-v3
SiliconFlow (plano gratuito disponível)siliconflowBAAI/bge-reranker-v2-m3
Voyage AIvoyagererank-2.5
Pineconepineconebge-reranker-v2-m3

Qualquer endpoint de rerank compatível com Jina também funciona — defina rerankProvider: "jina" e aponte rerankEndpoint para seu serviço (ex.: Hugging Face TEI, DashScope qwen3-rerank).

Extração inteligente (LLM) — v1.1.0

Quando smartExtraction está habilitado (padrão: true), o plugin usa um LLM para extrair e classificar memórias de forma inteligente em vez de gatilhos baseados em regex.

CampoTipoPadrãoDescrição
smartExtractionbooleantrueHabilitar/desabilitar extração LLM em 6 categorias
llm.authstringapi-keyapi-key usa llm.apiKey / embedding.apiKey; oauth usa um arquivo de token OAuth com escopo de plugin por padrão
llm.apiKeystring(fallback para embedding.apiKey)Chave de API para o provedor LLM
llm.modelstringopenai/gpt-oss-120bNome do modelo LLM
llm.baseURLstring(fallback para embedding.baseURL)Endpoint da API LLM
llm.oauthProviderstringopenai-codexID do provedor OAuth usado quando llm.auth é oauth
llm.oauthPathstring~/.openclaw/.memory-lancedb-pro/oauth.jsonArquivo de token OAuth usado quando llm.auth é oauth
llm.timeoutMsnumber30000Timeout da requisição LLM em milissegundos
extractMinMessagesnumber2Mensagens mínimas antes da extração ser acionada
extractMaxCharsnumber8000Máximo de caracteres enviados ao LLM

Configuração llm com OAuth (usa cache de login existente do Codex / ChatGPT para chamadas LLM):

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

Notas para llm.auth: "oauth":

  • llm.oauthProvider é atualmente openai-codex.
  • Tokens OAuth têm como padrão ~/.openclaw/.memory-lancedb-pro/oauth.json.
  • Você pode definir llm.oauthPath se quiser armazenar esse arquivo em outro lugar.
  • auth login faz snapshot da configuração llm anterior (api-key) ao lado do arquivo OAuth, e auth logout restaura esse snapshot quando disponível.
  • Mudar de api-key para oauth não transfere automaticamente llm.baseURL. Defina-o manualmente no modo OAuth apenas quando você intencionalmente quiser um backend personalizado compatível com ChatGPT/Codex.
Configuração do ciclo de vida (Decaimento + Nível)
CampoPadrãoDescrição
decay.recencyHalfLifeDays30Meia-vida base para decaimento de frescor Weibull
decay.frequencyWeight0.3Peso da frequência de acesso na pontuação composta
decay.intrinsicWeight0.3Peso de importance × confidence
decay.betaCore0.8Beta Weibull para memórias core
decay.betaWorking1.0Beta Weibull para memórias working
decay.betaPeripheral1.3Beta Weibull para memórias peripheral
tier.coreAccessThreshold10Contagem mínima de recall antes de promover para core
tier.peripheralAgeDays60Limiar de idade para rebaixar memórias inativas
Reforço por acesso

Memórias recuperadas com frequência decaem mais lentamente (estilo repetição espaçada).

Chaves de configuração (em retrieval):

  • reinforcementFactor (0-2, padrão: 0.5) — defina 0 para desabilitar
  • maxHalfLifeMultiplier (1-10, padrão: 3) — limite rígido na meia-vida efetiva

Comandos CLI

openclaw memory-pro list [--scope global] [--category fact] [--limit 20] [--json]
openclaw memory-pro search "query" [--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]

Fluxo de login OAuth:

  1. Execute openclaw memory-pro auth login
  2. Se --provider for omitido em um terminal interativo, a CLI mostra um seletor de provedor OAuth antes de abrir o navegador
  3. O comando imprime uma URL de autorização e abre seu navegador, a menos que --no-browser seja definido
  4. Após o callback ser bem-sucedido, o comando salva o arquivo OAuth do plugin (padrão: ~/.openclaw/.memory-lancedb-pro/oauth.json), faz snapshot da configuração llm anterior (api-key) para logout, e substitui a configuração llm do plugin com as configurações OAuth (auth, oauthProvider, model, oauthPath)
  5. openclaw memory-pro auth logout deleta esse arquivo OAuth e restaura a configuração llm anterior (api-key) quando esse snapshot existe

Tópicos avançados

Se memórias injetadas aparecem nas respostas

Às vezes o modelo pode ecoar o bloco <relevant-memories> injetado.

Opção A (menor risco): desabilite temporariamente o auto-recall:

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

Opção B (preferida): mantenha o recall, adicione ao prompt do sistema do agente:

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

Memória de sessão
  • Acionada no comando /new — salva o resumo da sessão anterior no LanceDB
  • Desabilitada por padrão (OpenClaw já tem persistência nativa de sessão via .jsonl)
  • Contagem de mensagens configurável (padrão: 15)

Veja docs/openclaw-integration-playbook.md para modos de implantação e verificação do /new.

Comandos slash personalizados (ex.: /lesson)

Adicione ao seu CLAUDE.md, AGENTS.md ou prompt do sistema:

## /lesson command
When the user sends `/lesson <content>`:
1. Use memory_store to save as category=fact (raw knowledge)
2. Use memory_store to save as category=decision (actionable takeaway)
3. Confirm what was saved

## /remember command
When the user sends `/remember <content>`:
1. Use memory_store to save with appropriate category and importance
2. Confirm with the stored memory ID
Regras de ferro para agentes de IA

Copie o bloco abaixo no seu AGENTS.md para que seu agente aplique essas regras automaticamente.

## Rule 1 — Dual-layer memory storage
Every pitfall/lesson learned → IMMEDIATELY store TWO memories:
- Technical layer: Pitfall: [symptom]. Cause: [root cause]. Fix: [solution]. Prevention: [how to avoid]
  (category: fact, importance >= 0.8)
- Principle layer: Decision principle ([tag]): [behavioral rule]. Trigger: [when]. Action: [what to do]
  (category: decision, importance >= 0.85)

## Rule 2 — LanceDB hygiene
Entries must be short and atomic (< 500 chars). No raw conversation summaries or duplicates.

## Rule 3 — Recall before retry
On ANY tool failure, ALWAYS memory_recall with relevant keywords BEFORE retrying.

## Rule 4 — Confirm target codebase
Confirm you are editing memory-lancedb-pro vs built-in memory-lancedb before changes.

## Rule 5 — Clear jiti cache after plugin code changes
After modifying .ts files under plugins/, MUST run rm -rf /tmp/jiti/ BEFORE openclaw gateway restart.
Schema do banco de dados

Tabela LanceDB memories:

CampoTipoDescrição
idstring (UUID)Chave primária
textstringTexto da memória (indexado FTS)
vectorfloat[]Vetor de embedding
categorystringCategoria de armazenamento: preference / fact / decision / entity / reflection / other
scopestringIdentificador de scope (ex.: global, agent:main)
importancefloatPontuação de importância 0-1
timestampint64Timestamp de criação (ms)
metadatastring (JSON)Metadados estendidos

Chaves metadata comuns no v1.1.0: l0_abstract, l1_overview, l2_content, memory_category, tier, access_count, confidence, last_accessed_at

Nota sobre categorias: O campo category de nível superior usa 6 categorias de armazenamento. As 6 categorias semânticas da Extração Inteligente (profile / preferences / entities / events / cases / patterns) são armazenadas em metadata.memory_category.

Solução de problemas

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

No LanceDB 0.26+, algumas colunas numéricas podem ser retornadas como BigInt. Atualize para memory-lancedb-pro >= 1.0.14 — este plugin agora converte valores usando Number(...) antes de operações aritméticas.


Documentação

DocumentoDescrição
Playbook de integração OpenClawModos de implantação, verificação, matriz de regressão
Análise da arquitetura de memóriaAnálise aprofundada da arquitetura completa
CHANGELOG v1.1.0Mudanças de comportamento v1.1.0 e justificativa de upgrade
Chunking de contexto longoEstratégia de chunking para documentos longos

Beta: Smart Memory v1.1.0

Status: Beta — disponível via npm i memory-lancedb-pro@beta. Usuários estáveis no latest não são afetados.

FuncionalidadeDescrição
Extração inteligenteExtração LLM em 6 categorias com metadados L0/L1/L2. Fallback para regex quando desabilitado.
Pontuação do ciclo de vidaDecaimento Weibull integrado à busca — memórias frequentes e importantes ficam mais bem ranqueadas.
Gerenciamento de níveisSistema de três níveis (Core → Working → Peripheral) com promoção/rebaixamento automático.

Feedback: GitHub Issues · Reverter: npm i memory-lancedb-pro@latest


Dependências

PacoteFinalidade
@lancedb/lancedb ≥0.26.2Banco de dados vetorial (ANN + FTS)
openai ≥6.21.0Cliente de API de Embedding compatível com OpenAI
@sinclair/typebox 0.34.48Definições de tipo JSON Schema

Contributors

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

Full list: Contributors

Star History

Star History Chart

Licença

MIT


Meu QR Code WeChat