memory-wiki to wbudowany plugin, który kompiluje trwałą wiedzę w
przeglądalną wiki: deterministyczne strony, ustrukturyzowane twierdzenia z dowodami,
pochodzenie, pulpity oraz skróty w formacie czytelnym maszynowo.
Nie zastępuje on pluginu aktywnej pamięci. Przywoływanie, promowanie, indeksowanie i
Dreaming pozostają w gestii skonfigurowanego backendu pamięci
(memory-core, QMD, Honcho itp.). memory-wiki działa obok niego i kompiluje
wiedzę w utrzymywaną warstwę wiki.
Praktyczna reguła:
memory_searchdo jednego szerokiego przebiegu przywoływania we wszystkich skonfigurowanych korpusachwiki_search/wiki_get, gdy potrzebujesz rankingu właściwego dla wiki, informacji o pochodzeniu lub struktury przekonań na poziomie stronymemory_search corpus=all, aby objąć obie warstwy jednym wywołaniem, gdy plugin aktywnej pamięci obsługuje wybór korpusu
memory-wiki w trybie bridge do obsługi trwałych, syntetyzowanych stron. Zobacz
przykład QMD + tryb mostu w sekcji Konfiguracja.
Jeśli tryb mostu zgłasza zero wyeksportowanych artefaktów, plugin aktywnej pamięci
nie udostępnia obecnie publicznych danych wejściowych mostu. Najpierw uruchom openclaw wiki doctor,
a następnie potwierdź, że plugin aktywnej pamięci obsługuje publiczne artefakty.
Tryby magazynu
isolated(domyślny): własny magazyn, własne źródła, bez zależności od pluginu aktywnej pamięci. Użyj go do samodzielnego, starannie zarządzanego repozytorium wiedzy.bridge: odczytuje publiczne artefakty pamięci i dzienniki zdarzeń z pluginu aktywnej pamięci przez publiczne mechanizmy SDK pluginów. Użyj go do kompilowania artefaktów eksportowanych przez plugin pamięci bez sięgania do jego prywatnych elementów wewnętrznych.unsafe-local: jawne obejście przeznaczone dla prywatnych ścieżek lokalnych na tej samej maszynie. Celowo eksperymentalne i nieprzenośne; używaj go tylko wtedy, gdy rozumiesz granicę zaufania i potrzebujesz dostępu do lokalnego systemu plików, którego tryb mostu nie może zapewnić.
vaultModeokreśla, skąd pochodzą dane wejściowe wiki.vault.scopeokreśla, czy wszyscy agenci korzystają z jednego magazynu, czy każdy agent otrzymuje magazyn podrzędny.
vault.scope: "global" jest ustawieniem domyślnym i zachowuje dotychczasowe
działanie jednego magazynu. Użyj vault.scope: "agent" z trybem isolated lub bridge, gdy
agenci nie mogą współdzielić stron wiki, skompilowanych skrótów, wyników wyszukiwania ani zapisów.
Zakresu agenta nie można łączyć z trybem unsafe-local, ponieważ skonfigurowane
prywatne ścieżki nie są danymi wejściowymi należącymi do agenta. Walidacja konfiguracji odrzuca
taką kombinację.
Tryb mostu może indeksować zgodnie z przełącznikami konfiguracji bridge.*:
- wyeksportowane artefakty pamięci (
indexMemoryRoot) - notatki dzienne (
indexDailyNotes) - raporty Dreaming (
indexDreamReports) - dzienniki zdarzeń pamięci (
followMemoryEvents)
bridge.readMemoryArtifacts,
polecenia openclaw wiki status, openclaw wiki doctor oraz openclaw wiki bridge import są kierowane przez działający Gateway, dzięki czemu widzą ten sam kontekst aktywnego pluginu
pamięci co pamięć agenta/środowiska wykonawczego. Jeśli most jest wyłączony lub odczyt
artefaktów jest wyłączony, polecenia te zachowują działanie lokalne/offline.
Układ magazynu
sources/: zaimportowane materiały źródłowe oraz strony oparte na trybie bridge/unsafe-localentities/: trwałe elementy, osoby, systemy, projekty, obiektyconcepts/: idee, abstrakcje, wzorce, zasady (również miejsce docelowe importów OKF)syntheses/: skompilowane podsumowania i utrzymywane zestawieniareports/: generowane pulpity
Importy Open Knowledge Format
memory-wiki
przekształci go w natywne dla OpenClaw strony pojęć i skompilowane skróty.
- niezastrzeżone pliki
.mdsą dokumentami pojęć - każde importowane pojęcie wymaga niepustego pola frontmatter
type; braktypepowoduje ostrzeżeniemissing-type, a plik jest pomijany - nieznane wartości
typesą akceptowane jako ogólne pojęcia index.mdilog.mdsą zastrzeżone i nigdy nie są importowane jako pojęcia- uszkodzone lub zewnętrzne łącza Markdown pozostają bez zmian
concepts/, dzięki czemu istniejące procesy
kompilowania, wyszukiwania, pobierania i generowania pulpitów widzą je bez tworzenia drugiego drzewa wiki. Każda strona zachowuje
oryginalny identyfikator pojęcia OKF, ścieżkę źródłową, type, resource, tags, znacznik czasu
oraz pełny frontmatter producenta. Wewnętrzne łącza OKF są przepisywane tak, aby wskazywały wygenerowane
strony pojęć wiki, a także tworzą ustrukturyzowane wpisy relationships z
kind: okf-link.
Ustrukturyzowane twierdzenia i dowody
Strony zawierają ustrukturyzowany frontmatterclaims, a nie tylko tekst swobodny. Każde
twierdzenie może zawierać id, text, status, confidence, evidence[] oraz
updatedAt. Każdy wpis dowodu może zawierać kind, sourceId, path,
lines, weight, confidence, privacyTier, note oraz updatedAt.
Dzięki temu wiki działa jak warstwa przekonań, a nie bierny zbiór notatek.
Twierdzenia można śledzić, oceniać, kwestionować i rozstrzygać na podstawie źródeł.
Metadane encji przeznaczone dla agentów
Strony encji zawierają ogólne metadane routingu, których można używać dla osób, zespołów, systemów, projektów lub dowolnych innych typów encji:entityType: na przykładperson,team,system,projectcanonicalId: stabilny klucz tożsamości używany w aliasach i importachaliases: nazwy, identyfikatory lub etykiety wskazujące tę samą stronęprivacyTier: ciąg znaków o dowolnej postaci;publicjest traktowane jako niewymagające przeglądu, a każda inna wartość (na przykładlocal-private,sensitive,confirm-before-use) jest oznaczana wreports/privacy-review.mdbestUsedFor/notEnoughFor: zwięzłe wskazówki dotyczące routingulastRefreshedAt: znacznik czasu odświeżenia źródła, niezależny od czasu edycji stronypersonCard: opcjonalna karta routingu właściwa dla osoby (identyfikatory, profile społecznościowe, adresy e-mail, strefa czasowa, obszar, sprawy, o które warto pytać, sprawy, o które nie należy pytać, poziom pewności, poziom prywatności)relationships: typowane krawędzie prowadzące do powiązanych stron (cel, rodzaj, waga, poziom pewności, rodzaj dowodu, poziom prywatności, uwaga)
reports/person-agent-directory.md, a następnie otwórz
stronę osoby za pomocą wiki_get, zanim użyjesz danych kontaktowych lub wywnioskowanych
faktów.
Przykład strony encji
Przykład strony encji
Proces kompilowania
Kompilowanie odczytuje strony wiki, normalizuje podsumowania i generuje stabilne artefakty przeznaczone dla maszyn w:.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
Pulpity i raporty o stanie
Gdy włączonorender.createDashboards, kompilowanie utrzymuje pulpity w
reports/:
Wyszukiwanie i pobieranie
Dwa backendy wyszukiwania:shared: używa współdzielonego procesu wyszukiwania w pamięci, gdy jest dostępnylocal: przeszukuje wiki lokalnie
wiki, memory, all.
wiki_search/wiki_getużywają skompilowanych skrótów jako pierwszego etapu, gdy jest to możliwe- identyfikatory twierdzeń wskazują stronę, do której należą
- kwestionowane/nieaktualne/świeże twierdzenia wpływają na ranking
- etykiety pochodzenia są zachowywane w wynikach
--mode / parametr narzędzia mode):
Gdy wynik pasuje do ustrukturyzowanego twierdzenia,
wiki_search zwraca
matchedClaimId, matchedClaimStatus, matchedClaimConfidence,
evidenceKinds oraz evidenceSourceIds w szczegółowym ładunku. Tekstowe dane wyjściowe
zawierają zwięzłe wiersze Claim: i Evidence:, gdy są dostępne.
Narzędzia agentów
Wtyczka rejestruje również niewyłączny dodatkowy korpus pamięci, dzięki czemu
współdzielone
memory_search i memory_get mogą uzyskiwać dostęp do wiki, gdy
aktywna wtyczka pamięci obsługuje wybór korpusu.
Zachowanie promptu i kontekstu
Gdy opcjacontext.includeCompiledDigestPrompt jest włączona, sekcje pamięci
w prompcie są uzupełniane o zwięzły, skompilowany obraz z pliku
agent-digest.json: tylko najważniejsze strony, tylko najważniejsze twierdzenia,
liczbę sprzeczności, liczbę pytań oraz kwalifikatory pewności i aktualności.
Jest to funkcja opcjonalna, ponieważ zmienia strukturę promptu; ma znaczenie
głównie dla silników kontekstu lub mechanizmów składania promptów, które jawnie
wykorzystują uzupełnienia pamięci.
Konfiguracja
Umieść konfigurację wplugins.entries.memory-wiki.config:
Magazyny poszczególnych agentów
Ustawvault.scope na agent, aby każdy skonfigurowany agent miał osobną wiki.
W tym zakresie vault.path jest katalogiem nadrzędnym, a OpenClaw dołącza
znormalizowany identyfikator agenta:
~/.openclaw/wiki/support oraz
~/.openclaw/wiki/marketing. Jeśli vault.path zostanie pominięte w zakresie
agenta, domyślnym katalogiem nadrzędnym jest ~/.openclaw/wiki. Domyślny agent
main zachowuje więc istniejącą ścieżkę ~/.openclaw/wiki/main.
Narzędzia agenta, skompilowane skróty promptu oraz uzupełnienie wiki udostępniane
przez memory_search / memory_get wybierają magazyn na podstawie kontekstu
aktywnego agenta. W przypadku wywołań CLI i Gateway w konfiguracji z wieloma
agentami jawnie podaj agenta za pomocą openclaw wiki --agent <agentId> ...
lub pola agentId w żądaniu Gateway. Jeśli skonfigurowano tylko jednego agenta,
pozostaje on domyślny, gdy nie podano identyfikatora.
W trybie pomostowym importy w zakresie agenta przyjmują publiczny artefakt
pamięci tylko wtedy, gdy jego agentIds zawiera wybranego agenta. Artefakty
należące do innego agenta, pozbawione metadanych właściciela lub mające
nieznanego właściciela są pomijane. Zakres globalny zachowuje dotychczasowe
zachowanie współdzielonych artefaktów.
Przykład: QMD i tryb pomostowy
Użyj tej konfiguracji, jeśli chcesz stosować QMD do przywoływania informacji, amemory-wiki jako utrzymywaną warstwę wiedzy. Każda warstwa zachowuje własny
zakres odpowiedzialności: QMD umożliwia przeszukiwanie surowych notatek,
eksportów sesji i dodatkowych kolekcji, natomiast memory-wiki kompiluje
stabilne encje, twierdzenia, pulpity i strony źródłowe.
memory-wiki koncentruje się na skompilowanych stronach i pulpitach, a struktura
promptu pozostaje niezmieniona, dopóki świadomie nie włączysz skompilowanych
skrótów w promptach.
CLI
wiki okf import, wiki apply metadata,
wiki unsafe-local import, wiki chatgpt import / wiki chatgpt rollback
oraz pełny zestaw podpoleceń wiki obsidian, znajdziesz w sekcji
CLI: wiki.
Obsługa Obsidian
Gdyvault.renderMode ma wartość obsidian, wtyczka zapisuje Markdown
przystosowany do Obsidian i może opcjonalnie używać oficjalnego CLI obsidian
do sprawdzania stanu, przeszukiwania magazynu, otwierania strony, wywoływania
polecenia oraz przechodzenia do notatki dziennej. Jest to opcjonalne; wiki nadal
działa w trybie natywnym bez Obsidian.
Magazyny w zakresie agenta również mogą używać formatu Markdown przystosowanego
do Obsidian, ale walidacja konfiguracji odrzuca połączenie
obsidian.useOfficialCli: true z vault.scope: "agent". Bieżące ustawienie
obsidian.vaultName jest globalne i nie może wybierać osobnego magazynu
Obsidian dla każdego agenta. Zamiast tego używaj narzędzi wiki i operacji CLI
albo pozostaw wiki obsługiwaną przez Obsidian w zakresie globalnym.
Zalecany przepływ pracy
1
Zachowaj aktywną wtyczkę pamięci do przywoływania informacji
Przywoływanie, promowanie i Dreaming pozostają odpowiedzialnością skonfigurowanego mechanizmu pamięci.
2
Włącz memory-wiki
Zacznij od trybu
isolated, chyba że świadomie chcesz używać trybu pomostowego.3
Gdy ważne jest pochodzenie informacji, używaj wiki_search / wiki_get
Preferuj je zamiast
memory_search, jeśli potrzebujesz rankingu właściwego dla wiki lub struktury przekonań na poziomie strony.4
Używaj wiki_apply do ograniczonych syntez lub aktualizacji metadanych
Unikaj ręcznego edytowania zarządzanych, generowanych bloków.
5
Po istotnych zmianach uruchamiaj wiki_lint
Wykrywa sprzeczności, otwarte pytania i luki w pochodzeniu informacji.
6
Włącz pulpity, aby uwidocznić nieaktualne informacje i sprzeczności
Ustaw
render.createDashboards: true (wartość domyślna).