Czym jest Context Engine?
Context Engine zarządza sposobem, w jaki OpenClaw składa kontekst modelu przy każdym uruchomieniu. Decyduje, które wiadomości uwzględnić, podsumowuje starszą historię i obsługuje kontekst w granicach subagentów. OpenClaw dostarcza wbudowany silnik legacy, a wtyczki mogą oferować alternatywy.
Sprawdzanie aktywnego silnika
openclaw doctor
# lub bezpośrednia inspekcja konfiguracji:
cat ~/.openclaw/openclaw.json | jq '.plugins.slots.contextEngine'
Instalacja wtyczki Context Engine
# Instalacja z npm
openclaw plugins install @martian-engineering/lossless-claw
# Lub z lokalnej ścieżki (do developmentu)
openclaw plugins install -l ./my-context-engine
Jak to działa — cztery punkty cyklu życia
- Ingest — przetwarza nowe wiadomości, zapisując je i indeksując w niestandardowych magazynach danych
- Assemble — zwraca uporządkowane wiadomości mieszczące się w budżecie tokenów przed uruchomieniem modelu
- Compact — podsumowuje starszą historię, gdy okno kontekstowe się zapełnia
- After turn — operacje po uruchomieniu, takie jak utrwalanie lub kompaktowanie w tle
Cykl życia subagentów
Metoda onSubagentEnded wykonuje czyszczenie po zakończeniu sesji subagenta. Metoda prepareSubagentSpawn jest zarezerwowana do przyszłego użycia.
Rozszerzenie promptu systemowego
Metoda assemble może zwrócić ciąg systemPromptAddition, który jest dodawany na początku promptu systemowego. Umożliwia to dynamiczne wskazówki przywracania kontekstu.
Wbudowany silnik Legacy
- Ingest: no-op — menadżer sesji obsługuje utrwalanie
- Assemble: pass-through — istniejący pipeline sanityzacji, walidacji i ograniczania
- Compact: deleguje do wbudowanego mechanizmu podsumowywania
- After turn: no-op
Interfejs ContextEngine
Wymagane elementy interfejsu:
- info — identyfikator silnika, nazwa, wersja, kontrola kompaktowania
- ingest(params) — zapisanie pojedynczej wiadomości
- assemble(params) — zbudowanie kontekstu dla uruchomienia modelu
- compact(params) — podsumowanie lub redukcja kontekstu
Opcjonalne elementy: bootstrap, ingestBatch, afterTurn, prepareSubagentSpawn, onSubagentEnded, dispose.
Kontrola kompaktowania — ownsCompaction
Flaga ownsCompaction określa, czy wbudowane auto-kompaktowanie Pi pozostaje aktywne:
- true — silnik przejmuje kompaktowanie; OpenClaw wyłącza auto-kompaktowanie Pi
- false/nieokreślone — auto-kompaktowanie Pi może działać; metoda
compact()silnika nadal wywoływana przy/compacti odzyskiwaniu po przepełnieniu
Konfiguracja
{
"plugins": {
"slots": {
"contextEngine": "legacy"
}
}
}
Tylko jeden Context Engine jest aktywny podczas uruchomienia. Inne włączone wtyczki typu context-engine ładują się, ale nie wykonują, dopóki nie zostaną wybrane.