Ana içeriğe atla

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Bu sayfa, OpenClaw bellek araması için her yapılandırma düğmesini listeler. Kavramsal genel bakışlar için bkz.:

Memory overview

Belleğin nasıl çalıştığı.

Builtin engine

Varsayılan SQLite arka ucu.

QMD engine

Yerel öncelikli yardımcı süreç.

Memory search

Arama işlem hattı ve ayarlama.

Active memory

Etkileşimli oturumlar için bellek alt ajanı.
Aksi belirtilmedikçe tüm bellek araması ayarları openclaw.json içinde agents.defaults.memorySearch altında bulunur.
Active Memory özellik anahtarı ve alt ajan yapılandırmasını arıyorsanız, bu memorySearch yerine plugins.entries.active-memory altında bulunur.Active Memory iki geçitli bir model kullanır:
  1. Plugin etkinleştirilmiş olmalı ve geçerli ajan kimliğini hedeflemelidir
  2. istek uygun bir etkileşimli kalıcı sohbet oturumu olmalıdır
Etkinleştirme modeli, Plugin sahipli yapılandırma, transkript kalıcılığı ve güvenli kullanıma alma deseni için Active Memory bölümüne bakın.

Sağlayıcı seçimi

AnahtarTürVarsayılanAçıklama
providerstringauto-detectedbedrock, deepinfra, gemini, github-copilot, local, mistral, ollama, openai veya voyage gibi gömme bağdaştırıcısı kimliği; api değeri bu bağdaştırıcılardan birini işaret eden yapılandırılmış bir models.providers.<id> de olabilir
modelstringsağlayıcı varsayılanıGömme modeli adı
fallbackstring"none"Birincil başarısız olduğunda kullanılacak yedek bağdaştırıcı kimliği
enabledbooleantrueBellek aramasını etkinleştirir veya devre dışı bırakır

Otomatik algılama sırası

provider ayarlanmadığında OpenClaw kullanılabilir ilk seçeneği seçer:
1

local

memorySearch.local.modelPath yapılandırılmışsa ve dosya varsa seçilir.
2

github-copilot

Bir GitHub Copilot belirteci çözümlenebiliyorsa (env var veya kimlik doğrulama profili) seçilir.
3

openai

Bir OpenAI anahtarı çözümlenebiliyorsa seçilir.
4

gemini

Bir Gemini anahtarı çözümlenebiliyorsa seçilir.
5

voyage

Bir Voyage anahtarı çözümlenebiliyorsa seçilir.
6

mistral

Bir Mistral anahtarı çözümlenebiliyorsa seçilir.
7

deepinfra

Bir DeepInfra anahtarı çözümlenebiliyorsa seçilir.
8

bedrock

AWS SDK kimlik bilgisi zinciri çözümleniyorsa (örnek rolü, erişim anahtarları, profil, SSO, web kimliği veya paylaşılan yapılandırma) seçilir.
ollama desteklenir ancak otomatik algılanmaz (açıkça ayarlayın).

Özel sağlayıcı kimlikleri

memorySearch.provider, özel bir models.providers.<id> girdisini işaret edebilir. OpenClaw, gömme bağdaştırıcısı için bu sağlayıcının api sahibini çözümlerken uç nokta, kimlik doğrulama ve model öneki işleme için özel sağlayıcı kimliğini korur. Bu, çok GPU’lu veya çok ana makineli kurulumların bellek gömmelerini belirli bir yerel uç noktaya ayırmasını sağlar:
{
  models: {
    providers: {
      "ollama-5080": {
        api: "ollama",
        baseUrl: "http://gpu-box.local:11435",
        apiKey: "ollama-local",
        models: [{ id: "qwen3-embedding:0.6b" }],
      },
    },
  },
  agents: {
    defaults: {
      memorySearch: {
        provider: "ollama-5080",
        model: "qwen3-embedding:0.6b",
      },
    },
  },
}

API anahtarı çözümleme

Uzak gömmeler bir API anahtarı gerektirir. Bedrock bunun yerine AWS SDK varsayılan kimlik bilgisi zincirini kullanır (örnek rolleri, SSO, erişim anahtarları).
SağlayıcıEnv varYapılandırma anahtarı
BedrockAWS kimlik bilgisi zinciriAPI anahtarı gerekmez
DeepInfraDEEPINFRA_API_KEYmodels.providers.deepinfra.apiKey
GeminiGEMINI_API_KEYmodels.providers.google.apiKey
GitHub CopilotCOPILOT_GITHUB_TOKEN, GH_TOKEN, GITHUB_TOKENCihaz oturum açma üzerinden kimlik doğrulama profili
MistralMISTRAL_API_KEYmodels.providers.mistral.apiKey
OllamaOLLAMA_API_KEY (yer tutucu)
OpenAIOPENAI_API_KEYmodels.providers.openai.apiKey
VoyageVOYAGE_API_KEYmodels.providers.voyage.apiKey
Codex OAuth yalnızca sohbet/tamamlama isteklerini kapsar ve gömme isteklerini karşılamaz.

Uzak uç nokta yapılandırması

Özel OpenAI uyumlu uç noktalar veya sağlayıcı varsayılanlarını geçersiz kılmak için:
remote.baseUrl
string
Özel API temel URL’si.
remote.apiKey
string
API anahtarını geçersiz kıl.
remote.headers
object
Ek HTTP üstbilgileri (sağlayıcı varsayılanlarıyla birleştirilir).
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
        model: "text-embedding-3-small",
        remote: {
          baseUrl: "https://api.example.com/v1/",
          apiKey: "YOUR_KEY",
        },
      },
    },
  },
}

Sağlayıcıya özel yapılandırma

AnahtarTürVarsayılanAçıklama
modelstringgemini-embedding-001gemini-embedding-2-preview desteği de vardır
outputDimensionalitynumber3072Embedding 2 için: 768, 1536 veya 3072
Modeli veya outputDimensionality değerini değiştirmek otomatik tam yeniden indekslemeyi tetikler.
OpenAI uyumlu gömme uç noktaları sağlayıcıya özel input_type istek alanlarını kullanmayı seçebilir. Bu, sorgu ve belge gömmeleri için farklı etiketler gerektiren asimetrik gömme modelleri için kullanışlıdır.
AnahtarTürVarsayılanAçıklama
inputTypestringayarlanmamışSorgu ve belge gömmeleri için paylaşılan input_type
queryInputTypestringayarlanmamışSorgu zamanı input_type; inputType değerini geçersiz kılar
documentInputTypestringayarlanmamışİndeks/belge input_type; inputType değerini geçersiz kılar
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "openai",
        remote: {
          baseUrl: "https://embeddings.example/v1",
          apiKey: "env:EMBEDDINGS_API_KEY",
        },
        model: "asymmetric-embedder",
        queryInputType: "query",
        documentInputType: "passage",
      },
    },
  },
}
Bu değerleri değiştirmek, sağlayıcı toplu indeksleme için gömme önbelleği kimliğini etkiler ve yukarı akış modeli etiketleri farklı işliyorsa bellek yeniden indekslemesiyle takip edilmelidir.

Bedrock gömme yapılandırması

Bedrock, AWS SDK varsayılan kimlik bilgisi zincirini kullanır; API anahtarları gerekmez. OpenClaw, Bedrock etkinleştirilmiş bir örnek rolüyle EC2 üzerinde çalışıyorsa yalnızca sağlayıcıyı ve modeli ayarlayın:
{
  agents: {
    defaults: {
      memorySearch: {
        provider: "bedrock",
        model: "amazon.titan-embed-text-v2:0",
      },
    },
  },
}
AnahtarTürVarsayılanAçıklama
modelstringamazon.titan-embed-text-v2:0Herhangi bir Bedrock gömme modeli kimliği
outputDimensionalitynumbermodel varsayılanıTitan V2 için: 256, 512 veya 1024
Desteklenen modeller (aile algılama ve boyut varsayılanlarıyla):
Model kimliğiSağlayıcıVarsayılan BoyutlarYapılandırılabilir Boyutlar
amazon.titan-embed-text-v2:0Amazon1024256, 512, 1024
amazon.titan-embed-text-v1Amazon1536
amazon.titan-embed-g1-text-02Amazon1536
amazon.titan-embed-image-v1Amazon1024
amazon.nova-2-multimodal-embeddings-v1:0Amazon1024256, 384, 1024, 3072
cohere.embed-english-v3Cohere1024
cohere.embed-multilingual-v3Cohere1024
cohere.embed-v4:0Cohere1536256-1536
twelvelabs.marengo-embed-3-0-v1:0TwelveLabs512
twelvelabs.marengo-embed-2-7-v1:0TwelveLabs1024
Verim eki taşıyan varyantlar (ör. amazon.titan-embed-text-v1:2:8k) temel modelin yapılandırmasını devralır.Kimlik doğrulama: Bedrock kimlik doğrulaması standart AWS SDK kimlik bilgisi çözümleme sırasını kullanır:
  1. Ortam değişkenleri (AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY)
  2. SSO belirteç önbelleği
  3. Web kimliği belirteci kimlik bilgileri
  4. Paylaşılan kimlik bilgileri ve yapılandırma dosyaları
  5. ECS veya EC2 meta veri kimlik bilgileri
Bölge AWS_REGION, AWS_DEFAULT_REGION, amazon-bedrock sağlayıcısı baseUrl değerinden çözümlenir veya varsayılan olarak us-east-1 kullanılır.IAM izinleri: IAM rolü veya kullanıcısı şunlara ihtiyaç duyar:
{
  "Effect": "Allow",
  "Action": "bedrock:InvokeModel",
  "Resource": "*"
}
En az ayrıcalık için InvokeModel kapsamını belirli modele daraltın:
arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0
AnahtarTürVarsayılanAçıklama
local.modelPathstringotomatik indirilirGGUF model dosyasının yolu
local.modelCacheDirstringnode-llama-cpp varsayılanıİndirilen modeller için önbellek dizini
local.contextSizenumber | "auto"4096Gömme bağlamı için bağlam penceresi boyutu. 4096, ağırlık dışı VRAM’i sınırlarken tipik parçaları (128-512 token) kapsar. Kısıtlı ana makinelerde 1024-2048’e düşürün. "auto" modelin eğitilmiş en yüksek değerini kullanır; 8B+ modeller için önerilmez (Qwen3-Embedding-8B: 40 960 token -> 4096’da ~8,8 GB’a karşılık ~32 GB VRAM).
Varsayılan model: embeddinggemma-300m-qat-Q8_0.gguf (~0,6 GB, otomatik indirilir). Kaynak checkout’ları yine de yerel derleme onayı gerektirir: pnpm approve-builds ardından pnpm rebuild node-llama-cpp.Gateway’in kullandığı aynı sağlayıcı yolunu doğrulamak için bağımsız CLI’yi kullanın:
openclaw memory status --deep --agent main
openclaw memory index --force --agent main
provider auto ise local yalnızca local.modelPath mevcut bir yerel dosyayı gösterdiğinde seçilir. hf: ve HTTP(S) model başvuruları provider: "local" ile yine açıkça kullanılabilir, ancak model diskte mevcut olmadan önce auto seçiminin local’ı seçmesini sağlamazlar.

Satır içi gömme zaman aşımı

sync.embeddingBatchTimeoutSeconds
number
Bellek indeksleme sırasında satır içi gömme grupları için zaman aşımını geçersiz kılın.Ayarlanmazsa sağlayıcı varsayılanı kullanılır: local, ollama ve lmstudio gibi yerel/kendi barındırdığınız sağlayıcılar için 600 saniye, barındırılan sağlayıcılar için 120 saniye. Yerel CPU’ya bağlı gömme grupları sağlıklı ama yavaş olduğunda bunu artırın.

Hibrit arama yapılandırması

Tümü memorySearch.query.hybrid altında:
AnahtarTürVarsayılanAçıklama
enabledbooleantrueHibrit BM25 + vektör aramayı etkinleştir
vectorWeightnumber0.7Vektör puanları için ağırlık (0-1)
textWeightnumber0.3BM25 puanları için ağırlık (0-1)
candidateMultipliernumber4Aday havuzu boyutu çarpanı
AnahtarTürVarsayılanAçıklama
mmr.enabledbooleanfalseMMR yeniden sıralamayı etkinleştir
mmr.lambdanumber0.70 = en yüksek çeşitlilik, 1 = en yüksek alaka

Tam örnek

{
  agents: {
    defaults: {
      memorySearch: {
        query: {
          hybrid: {
            vectorWeight: 0.7,
            textWeight: 0.3,
            mmr: { enabled: true, lambda: 0.7 },
            temporalDecay: { enabled: true, halfLifeDays: 30 },
          },
        },
      },
    },
  },
}

Ek bellek yolları

AnahtarTürAçıklama
extraPathsstring[]İndekslenecek ek dizinler veya dosyalar
{
  agents: {
    defaults: {
      memorySearch: {
        extraPaths: ["../team-docs", "/srv/shared-notes"],
      },
    },
  },
}
Yollar mutlak veya çalışma alanına göreli olabilir. Dizinler .md dosyaları için özyinelemeli olarak taranır. Sembolik bağlantı işleme etkin arka uca bağlıdır: yerleşik motor sembolik bağlantıları yok sayarken QMD temel QMD tarayıcı davranışını izler. Ajan kapsamlı ajanlar arası transkript araması için memory.qmd.paths yerine agents.list[].memorySearch.qmd.extraCollections kullanın. Bu ek koleksiyonlar aynı { path, name, pattern? } biçimini izler, ancak ajan başına birleştirilir ve yol geçerli çalışma alanının dışını gösterdiğinde açık paylaşılan adları koruyabilir. Aynı çözümlenmiş yol hem memory.qmd.paths hem de memorySearch.qmd.extraCollections içinde görünürse QMD ilk girdiyi tutar ve kopyayı atlar.

Çok modlu bellek (Gemini)

Gemini Embedding 2 kullanarak Markdown ile birlikte görüntüleri ve sesi indeksleyin:
AnahtarTürVarsayılanAçıklama
multimodal.enabledbooleanfalseÇok modlu indekslemeyi etkinleştir
multimodal.modalitiesstring[]["image"], ["audio"] veya ["all"]
multimodal.maxFileBytesnumber10000000İndeksleme için en yüksek dosya boyutu
Yalnızca extraPaths içindeki dosyalar için geçerlidir. Varsayılan bellek kökleri yalnızca Markdown olarak kalır. gemini-embedding-2-preview gerektirir. fallback, "none" olmalıdır.
Desteklenen biçimler: .jpg, .jpeg, .png, .webp, .gif, .heic, .heif (görseller); .mp3, .wav, .ogg, .opus, .m4a, .aac, .flac (ses).

Gömme önbelleği

AnahtarTürVarsayılanAçıklama
cache.enabledbooleanfalseParça gömmelerini SQLite içinde önbelleğe al
cache.maxEntriesnumber50000En fazla önbelleğe alınan gömme
Yeniden indeksleme veya transkript güncellemeleri sırasında değişmemiş metnin yeniden gömülmesini önler.

Toplu indeksleme

AnahtarTürVarsayılanAçıklama
remote.nonBatchConcurrencynumber4Paralel satır içi gömmeler
remote.batch.enabledbooleanfalseToplu gömme API’sini etkinleştir
remote.batch.concurrencynumber2Paralel toplu işler
remote.batch.waitbooleantrueToplu işlemin tamamlanmasını bekle
remote.batch.pollIntervalMsnumberYoklama aralığı
remote.batch.timeoutMinutesnumberToplu işlem zaman aşımı
openai, gemini ve voyage için kullanılabilir. OpenAI toplu işlemi, büyük geriye dönük doldurmalar için genellikle en hızlı ve en ucuz seçenektir. remote.nonBatchConcurrency, yerel/kendi barındırdığınız sağlayıcılar ve sağlayıcı toplu API’leri etkin olmadığında barındırılan sağlayıcılar tarafından kullanılan satır içi gömme çağrılarını denetler. Ollama, daha küçük yerel makineleri aşırı yüklememek için toplu olmayan indekslemede varsayılan olarak 1 kullanır; daha büyük makinelerde daha yüksek bir değer ayarlayın. Bu, satır içi gömme çağrılarının zaman aşımını denetleyen sync.embeddingBatchTimeoutSeconds ayarından ayrıdır.

Oturum belleği araması (deneysel)

Oturum transkriptlerini indeksleyin ve bunları memory_search üzerinden gösterin:
AnahtarTürVarsayılanAçıklama
experimental.sessionMemorybooleanfalseOturum indekslemeyi etkinleştir
sourcesstring[]["memory"]Transkriptleri dahil etmek için "sessions" ekleyin
sync.sessions.deltaBytesnumber100000Yeniden indeksleme için bayt eşiği
sync.sessions.deltaMessagesnumber50Yeniden indeksleme için ileti eşiği
Oturum indeksleme isteğe bağlıdır ve eşzamansız çalışır. Sonuçlar biraz eski olabilir. Oturum günlükleri diskte bulunur; bu nedenle dosya sistemi erişimini güven sınırı olarak değerlendirin.

SQLite vektör hızlandırması (sqlite-vec)

AnahtarTürVarsayılanAçıklama
store.vector.enabledbooleantrueVektör sorguları için sqlite-vec kullan
store.vector.extensionPathstringbundledsqlite-vec yolunu geçersiz kıl
sqlite-vec kullanılamadığında OpenClaw otomatik olarak işlem içi kosinüs benzerliğine geri döner.

İndeks depolama

AnahtarTürVarsayılanAçıklama
store.pathstring~/.openclaw/memory/{agentId}.sqliteİndeks konumu ({agentId} belirtecini destekler)
store.fts.tokenizerstringunicode61FTS5 belirteçleyicisi (unicode61 veya trigram)

QMD arka uç yapılandırması

Etkinleştirmek için memory.backend = "qmd" ayarlayın. Tüm QMD ayarları memory.qmd altında bulunur:
AnahtarTürVarsayılanAçıklama
commandstringqmdQMD çalıştırılabilir dosya yolu; hizmet PATH değeri kabuğunuzdan farklıysa mutlak yol ayarlayın
searchModestringsearchArama komutu: search, vsearch, query
includeDefaultMemorybooleantrueMEMORY.md + memory/**/*.md dosyalarını otomatik indeksle
paths[]arrayEk yollar: { name, path, pattern? }
sessions.enabledbooleanfalseOturum transkriptlerini indeksle
sessions.retentionDaysnumberTranskript saklama süresi
sessions.exportDirstringDışa aktarma dizini
searchMode: "search" yalnızca leksik/BM25 tabanlıdır. OpenClaw, memory status --deep sırasında dahil olmak üzere bu mod için semantik vektör hazırlık yoklamaları veya QMD embedding bakımı çalıştırmaz; vsearch ve query, QMD vektör hazırlığı ve embedding’leri gerektirmeye devam eder. OpenClaw güncel QMD collection ve MCP sorgu biçimlerini tercih eder, ancak gerektiğinde uyumlu collection pattern bayraklarını ve eski MCP araç adlarını deneyerek daha eski QMD sürümlerinin çalışmasını sürdürür. QMD birden çok collection filtresi desteği bildirdiğinde, aynı kaynaklı collection’lar tek bir QMD işlemiyle aranır; eski QMD derlemeleri collection başına uyumluluk yolunu korur. Aynı kaynak, kalıcı bellek collection’larının birlikte gruplandığı, session transcript collection’larının ise ayrı bir grup olarak kaldığı anlamına gelir; böylece kaynak çeşitlendirmesi hâlâ her iki girdiye de sahip olur.
QMD model override’ları OpenClaw yapılandırmasında değil, QMD tarafında kalır. QMD’nin modellerini genel olarak override etmeniz gerekiyorsa, gateway çalışma zamanı ortamında QMD_EMBED_MODEL, QMD_RERANK_MODEL ve QMD_GENERATE_MODEL gibi ortam değişkenlerini ayarlayın.
AnahtarTürVarsayılanAçıklama
update.intervalstring5mYenileme aralığı
update.debounceMsnumber15000Dosya değişikliklerini debounce et
update.onBootbooleantrueUzun ömürlü QMD yöneticisi açıldığında yenile; ayrıca isteğe bağlı başlangıç yenilemesini de denetler
update.startupstringoffİsteğe bağlı gateway başlangıç yenilemesi: off, idle veya immediate
update.startupDelayMsnumber120000startup: "idle" yenilemesi çalışmadan önceki gecikme
update.waitForBootSyncbooleanfalseİlk yenilemesi tamamlanana kadar yöneticinin açılmasını engelle
update.embedIntervalstringAyrı embed temposu
update.commandTimeoutMsnumberQMD komutları için zaman aşımı
update.updateTimeoutMsnumberQMD güncelleme işlemleri için zaman aşımı
update.embedTimeoutMsnumberQMD embed işlemleri için zaman aşımı
AnahtarTürVarsayılanAçıklama
limits.maxResultsnumber6Maksimum arama sonucu
limits.maxSnippetCharsnumberSnippet uzunluğunu sınırla
limits.maxInjectedCharsnumberToplam enjekte edilen karakterleri sınırla
limits.timeoutMsnumber4000Arama zaman aşımı
Hangi session’ların QMD arama sonuçlarını alabileceğini denetler. session.sendPolicy ile aynı schema:
{
  memory: {
    qmd: {
      scope: {
        default: "deny",
        rules: [{ action: "allow", match: { chatType: "direct" } }],
      },
    },
  },
}
Gönderilen varsayılan doğrudan ve kanal session’larına izin verirken grupları yine reddeder.Varsayılan yalnızca DM’dir. match.keyPrefix normalize edilmiş session anahtarıyla eşleşir; match.rawKeyPrefix, agent:<id>: dahil ham anahtarla eşleşir.
memory.citations tüm backend’lere uygulanır:
DeğerDavranış
auto (varsayılan)Snippet’lara Source: <path#line> footer’ını ekle
onFooter’ı her zaman ekle
offFooter’ı atla (yol yine de dahili olarak agent’a geçirilir)
QMD boot yenilemeleri gateway başlangıcı sırasında tek seferlik bir subprocess yolu kullanır. Uzun ömürlü QMD yöneticisi, bellek araması etkileşimli kullanım için açıldığında düzenli dosya watcher’ının ve aralık timer’larının sahibi olmaya devam eder.

Tam QMD örneği

{
  memory: {
    backend: "qmd",
    citations: "auto",
    qmd: {
      includeDefaultMemory: true,
      update: { interval: "5m", debounceMs: 15000 },
      limits: { maxResults: 6, timeoutMs: 4000 },
      scope: {
        default: "deny",
        rules: [{ action: "allow", match: { chatType: "direct" } }],
      },
      paths: [{ name: "docs", path: "~/notes", pattern: "**/*.md" }],
    },
  },
}

Dreaming

Dreaming, agents.defaults.memorySearch altında değil, plugins.entries.memory-core.config.dreaming altında yapılandırılır. Dreaming tek bir zamanlanmış sweep olarak çalışır ve dahili light/deep/REM aşamalarını bir uygulama ayrıntısı olarak kullanır. Kavramsal davranış ve slash komutları için bkz. Dreaming.

Kullanıcı ayarları

AnahtarTürVarsayılanAçıklama
enabledbooleanfalseDreaming’i tamamen etkinleştir veya devre dışı bırak
frequencystring0 3 * * *Tam Dreaming sweep’i için isteğe bağlı cron temposu
modelstringvarsayılan modelİsteğe bağlı Dream Diary subagent model override’ı

Örnek

{
  plugins: {
    entries: {
      "memory-core": {
        subagent: {
          allowModelOverride: true,
          allowedModels: ["anthropic/claude-sonnet-4-6"],
        },
        config: {
          dreaming: {
            enabled: true,
            frequency: "0 3 * * *",
            model: "anthropic/claude-sonnet-4-6",
          },
        },
      },
    },
  },
}
  • Dreaming makine durumunu memory/.dreams/ içine yazar.
  • Dreaming insan tarafından okunabilir anlatı çıktısını DREAMS.md (veya mevcut dreams.md) içine yazar.
  • dreaming.model mevcut Plugin subagent güven kapısını kullanır; etkinleştirmeden önce plugins.entries.memory-core.subagent.allowModelOverride: true ayarlayın.
  • Dream Diary, yapılandırılan model kullanılamadığında session varsayılan modeliyle bir kez yeniden dener. Güven veya allowlist hataları günlüğe kaydedilir ve sessizce yeniden denenmez.
  • light/deep/REM aşama politikası ve eşikleri dahili davranıştır, kullanıcıya dönük yapılandırma değildir.

İlgili