Plugin guides
Wiki de memoria
memory-wiki es un plugin incluido que compila conocimiento duradero en una
wiki navegable: páginas deterministas, afirmaciones estructuradas con evidencia,
procedencia, paneles y resúmenes legibles por máquinas.
No reemplaza al plugin de Active Memory. La recuperación, la promoción, la indexación y
Dreaming siguen siendo responsabilidad del backend de memoria que esté configurado
(memory-core, QMD, Honcho, etc.). memory-wiki funciona junto a él y compila
el conocimiento en una capa de wiki mantenida.
| Capa | Responsabilidad |
|---|---|
| Plugin de Active Memory | Recuperación, búsqueda semántica, promoción, Dreaming y entorno de ejecución de memoria |
memory-wiki |
Páginas wiki compiladas, síntesis con abundante procedencia, paneles y operaciones de búsqueda/obtención/aplicación en la wiki |
Regla práctica:
memory_searchpara una pasada amplia de recuperación en todos los corpus configuradoswiki_search/wiki_getcuando se necesita clasificación específica de la wiki, procedencia o una estructura de creencias a nivel de páginamemory_search corpus=allpara abarcar ambas capas en una sola llamada, cuando el plugin de Active Memory admite la selección de corpus
Una configuración habitual con prioridad local: QMD como backend de Active Memory para la recuperación y
memory-wiki en modo bridge para páginas sintetizadas duraderas. Consulta el
ejemplo de QMD + modo puente en Configuración.
Si el modo puente informa de cero artefactos exportados, el plugin de Active Memory
no está exponiendo actualmente entradas públicas para el puente. Ejecuta primero openclaw wiki doctor
y luego confirma que el plugin de Active Memory admite artefactos públicos.
Modos del almacén
isolated(predeterminado): almacén propio, fuentes propias, sin dependencia del plugin de Active Memory. Úsalo para un repositorio de conocimiento seleccionado y autónomo.bridge: lee artefactos públicos de memoria y registros de eventos del plugin de Active Memory mediante interfaces públicas del SDK de plugins. Úsalo para compilar los artefactos exportados por el plugin de memoria sin acceder a sus componentes internos privados.unsafe-local: vía de escape explícita para rutas locales privadas en la misma máquina. Es deliberadamente experimental y no portable; úsala solo cuando comprendas el límite de confianza y necesites específicamente acceso al sistema de archivos local que el modo puente no puede proporcionar.
El modo y el ámbito del almacén son opciones independientes:
vaultModeelige de dónde proceden las entradas de la wiki.vault.scopeelige si todos los agentes usan un solo almacén o si cada agente obtiene un almacén secundario.
vault.scope: "global" es el valor predeterminado y conserva el comportamiento
existente de un único almacén. Usa vault.scope: "agent" con el modo
isolated o bridge cuando los agentes no deban compartir páginas wiki,
resúmenes compilados, resultados de búsqueda ni escrituras.
El ámbito de agente no puede combinarse con el modo unsafe-local porque esas rutas
privadas configuradas no son entradas propiedad del agente. La validación de la configuración rechaza esta
combinación.
El modo puente puede indexar, según cada opción de configuración bridge.*:
- artefactos de memoria exportados (
indexMemoryRoot) - notas diarias (
indexDailyNotes) - informes de Dreaming (
indexDreamReports) - registros de eventos de memoria (
followMemoryEvents)
Cuando el modo puente está activo y bridge.readMemoryArtifacts está habilitado,
openclaw wiki status, openclaw wiki doctor y openclaw wiki bridge import se enrutan a través del Gateway en ejecución para que vean el mismo contexto
del plugin de Active Memory que la memoria del agente y del entorno de ejecución. Si el puente está deshabilitado o las lecturas
de artefactos están desactivadas, esos comandos conservan el comportamiento local y sin conexión.
Estructura del almacén
<vault>/ AGENTS.md WIKI.md index.md inbox.md entities/ concepts/ syntheses/ sources/ reports/ _attachments/ _views/ .openclaw-wiki/El contenido administrado permanece dentro de bloques generados; los bloques de notas humanas se conservan entre regeneraciones.
sources/: material original importado y páginas respaldadas por el modo puente ounsafe-localentities/: elementos duraderos, personas, sistemas, proyectos y objetosconcepts/: ideas, abstracciones, patrones y políticas (también es el destino de las importaciones de OKF)syntheses/: resúmenes compilados y recopilaciones mantenidasreports/: paneles generados
Importaciones de Open Knowledge Format
openclaw wiki okf import ./bundles/ga4Importa un paquete desempaquetado de Open Knowledge Format en páginas de conceptos de la wiki. Es una buena
opción cuando un catálogo de datos, un rastreador de documentación o un agente de enriquecimiento ya
produce OKF: conserva OKF como artefacto de intercambio portable y permite que memory-wiki
lo convierta en páginas de conceptos nativas de OpenClaw y resúmenes compilados.
- los archivos
.mdno reservados son documentos de conceptos - cada concepto importado requiere un campo de frontmatter
typeque no esté vacío; si faltatype, se genera una advertenciamissing-typey se omite el archivo - los valores de
typedesconocidos se aceptan como conceptos genéricos index.mdylog.mdestán reservados y nunca se importan como conceptos- los enlaces Markdown rotos o externos se dejan sin cambios
Las páginas importadas se organizan sin subdirectorios bajo concepts/ para que los flujos existentes de compilación, búsqueda, obtención y
paneles las detecten sin un segundo árbol de wiki. Cada página conserva el
ID de concepto OKF original, la ruta de origen, type, resource, tags, la marca de tiempo
y todo el frontmatter del productor. Los enlaces internos de OKF se reescriben para apuntar a las páginas
de conceptos generadas en la wiki y también generan entradas estructuradas de relationships con
kind: okf-link.
Afirmaciones estructuradas y evidencia
Las páginas contienen frontmatter estructurado claims, no solo texto libre. Cada
afirmación puede incluir id, text, status, confidence, evidence[] y
updatedAt. Cada entrada de evidencia puede incluir kind, sourceId, path,
lines, weight, confidence, privacyTier, note y updatedAt.
Esto hace que la wiki funcione como una capa de creencias, no como un depósito pasivo de notas. Las afirmaciones pueden rastrearse, puntuarse, cuestionarse y resolverse a partir de las fuentes.
Metadatos de entidades para agentes
Las páginas de entidades contienen metadatos genéricos de enrutamiento utilizables para personas, equipos, sistemas, proyectos o cualquier otro tipo de entidad:
entityType: por ejemplo,person,team,system,projectcanonicalId: clave de identidad estable entre alias e importacionesaliases: nombres, identificadores o etiquetas que se resuelven a la misma páginaprivacyTier: cadena de formato libre;publicse considera que no requiere revisión, mientras que cualquier otro valor (por ejemplo,local-private,sensitive,confirm-before-use) se marca enreports/privacy-review.mdbestUsedFor/notEnoughFor: indicaciones compactas de enrutamientolastRefreshedAt: marca de tiempo de actualización de la fuente, independiente de la hora de edición de la páginapersonCard: ficha opcional de enrutamiento específica de una persona (identificadores, redes sociales, correos electrónicos, zona horaria, área, temas que consultar, temas que evitar consultar, confianza y nivel de privacidad)relationships: conexiones tipadas con páginas relacionadas (destino, tipo, peso, confianza, tipo de evidencia, nivel de privacidad y nota)
Para una wiki de personas, comienza con reports/person-agent-directory.md y luego abre
la página de la persona con wiki_get antes de usar datos de contacto o hechos
inferidos.
Ejemplo de página de entidad
pageType: entityentityType: personid: entity.example-personcanonicalId: maintainer.example-personaliases:- Alex- example-handleprivacyTier: local-privatebestUsedFor:- Enrutamiento del ecosistema de ejemplonotEnoughFor:- aprobación legallastRefreshedAt: "2026-04-29T00:00:00.000Z"personCard:handles: - "@example-handle"socials: - "https://x.example/example-handle"emails: - alex@example.comtimezone: America/Chicagolane: Ecosistema de ejemploaskFor: - Preguntas sobre el despliegue de ejemploavoidAskingFor: - decisiones de facturación no relacionadasconfidence: 0.8privacyTier: confirm-before-userelationships:- targetId: entity.other-person targetTitle: Otra persona kind: collaborates-with confidence: 0.7 evidenceKind: discrawl-statclaims:- id: claim.example.routing text: Alex resulta útil para el enrutamiento del ecosistema de ejemplo. status: supported confidence: 0.9 evidence: - kind: maintainer-whois sourceId: source.maintainers privacyTier: local-privateCanalización de compilación
La compilación lee las páginas de la wiki, normaliza los resúmenes y genera artefactos estables orientados a máquinas en:
.openclaw-wiki/cache/agent-digest.json.openclaw-wiki/cache/claims.jsonl
Los agentes y el código del entorno de ejecución leen estos resúmenes en lugar de analizar Markdown. La salida compilada también permite la indexación inicial de la wiki para búsqueda y obtención, la resolución de los identificadores de afirmaciones a sus páginas propietarias, complementos compactos para instrucciones y la generación de informes.
Paneles e informes de estado
Cuando render.createDashboards está habilitado, la compilación mantiene paneles en
reports/:
| Informe | Seguimiento |
|---|---|
reports/open-questions.md |
páginas con preguntas sin resolver |
reports/contradictions.md |
grupos de notas contradictorias |
reports/low-confidence.md |
páginas y afirmaciones con baja confianza |
reports/claim-health.md |
afirmaciones sin evidencia estructurada |
reports/stale-pages.md |
contenido obsoleto o cuya actualidad se desconoce |
reports/person-agent-directory.md |
fichas de enrutamiento de personas y entidades |
reports/relationship-graph.md |
conexiones de relaciones estructuradas |
reports/provenance-coverage.md |
cobertura de clases de evidencia |
reports/privacy-review.md |
niveles de privacidad no públicos que requieren revisión antes de usarse |
Búsqueda y recuperación
Dos backends de búsqueda:
shared: usa el flujo compartido de búsqueda en memoria cuando esté disponiblelocal: busca localmente en la wiki
Tres corpus: wiki, memory, all.
wiki_search/wiki_getusan los resúmenes compilados como primera pasada cuando es posible- los identificadores de afirmaciones se resuelven a sus páginas propietarias
- las afirmaciones cuestionadas, obsoletas o recientes influyen en la clasificación
- las etiquetas de procedencia se conservan en los resultados
Modos de búsqueda (parámetro --mode / mode de la herramienta):
| Modo | Prioriza |
|---|---|
auto |
valor predeterminado equilibrado |
find-person |
entidades similares a personas, alias, identificadores, redes sociales e ID canónicos |
route-question |
fichas de agentes, indicaciones sobre qué consultar o para qué resulta más útil y contexto de relaciones |
source-evidence |
páginas de fuentes y metadatos de evidencia estructurada |
raw-claim |
afirmaciones estructuradas coincidentes; devuelve metadatos de afirmación y evidencia |
Cuando un resultado coincide con una afirmación estructurada, wiki_search devuelve
matchedClaimId, matchedClaimStatus, matchedClaimConfidence,
evidenceKinds y evidenceSourceIds en su carga útil de detalles. La salida de texto
incluye líneas compactas Claim: y Evidence: cuando están disponibles.
Herramientas para agentes
| Herramienta | Propósito |
|---|---|
wiki_status |
modo y ámbito actuales del almacén, agente resuelto, estado, disponibilidad de la CLI de Obsidian |
wiki_search |
busca páginas de la wiki y, cuando está configurado, el corpus de memoria compartida; acepta mode para buscar personas, enrutar preguntas, obtener pruebas de fuentes o examinar afirmaciones sin procesar |
wiki_get |
lee una página de la wiki por id/ruta y recurre al corpus de memoria compartida cuando la búsqueda compartida está habilitada y la consulta no encuentra resultados |
wiki_apply |
mutaciones acotadas de síntesis/metadatos sin modificar libremente las páginas |
wiki_lint |
comprobaciones estructurales, carencias de procedencia, contradicciones, preguntas abiertas |
El plugin también registra un complemento no exclusivo del corpus de memoria, de modo que las funciones compartidas
memory_search y memory_get puedan acceder a la wiki cuando el plugin de memoria activo
admita la selección de corpus.
Comportamiento del prompt y del contexto
Cuando context.includeCompiledDigestPrompt está habilitado, las secciones de memoria del prompt
añaden una instantánea compilada y compacta de agent-digest.json: solo las páginas
principales, solo las afirmaciones principales, cantidad de contradicciones, cantidad de preguntas y
calificadores de confianza/actualidad. Esta función es opcional porque modifica la estructura del prompt; es relevante principalmente
para motores de contexto o ensamblajes de prompts que consumen explícitamente
complementos de memoria.
Configuración
Coloca la configuración en plugins.entries.memory-wiki.config:
{ plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "isolated", vault: { scope: "global", path: "~/.openclaw/wiki/main", renderMode: "obsidian", }, obsidian: { enabled: true, useOfficialCli: true, vaultName: "OpenClaw Wiki", openAfterWrites: false, }, bridge: { enabled: false, readMemoryArtifacts: true, indexDreamReports: true, indexDailyNotes: true, indexMemoryRoot: true, followMemoryEvents: true, }, unsafeLocal: { allowPrivateMemoryCoreAccess: false, paths: [], }, ingest: { autoCompile: true, maxConcurrentJobs: 1, allowUrlIngest: true, }, search: { backend: "shared", corpus: "wiki", }, context: { includeCompiledDigestPrompt: false, }, render: { preserveHumanBlocks: true, createBacklinks: true, createDashboards: true, }, }, }, }, },}Opciones principales:
| Clave | Valores / valor predeterminado | Notas |
|---|---|---|
vaultMode |
isolated (predeterminado), bridge, unsafe-local |
elige el comportamiento de entrada e integración |
vault.scope |
global (predeterminado), agent |
un almacén compartido o un almacén secundario por agente |
vault.path |
valor global predeterminado ~/.openclaw/wiki/main |
almacén global exacto; el directorio principal para el ámbito de agente es ~/.openclaw/wiki |
vault.renderMode |
native (predeterminado), obsidian |
|
bridge.readMemoryArtifacts |
valor predeterminado true |
importa los artefactos públicos del plugin de memoria activo |
bridge.followMemoryEvents |
valor predeterminado true |
incluye registros de eventos en modo puente |
unsafeLocal.allowPrivateMemoryCoreAccess |
valor predeterminado false |
obligatorio para ejecutar importaciones unsafe-local |
unsafeLocal.paths |
valor predeterminado [] |
rutas locales explícitas que se importarán en modo unsafe-local |
search.backend |
shared (predeterminado), local |
|
search.corpus |
wiki (predeterminado), memory, all |
|
context.includeCompiledDigestPrompt |
valor predeterminado false |
añade la instantánea compacta del resumen del agente seleccionado a las secciones de memoria del prompt |
render.createBacklinks |
valor predeterminado true |
genera bloques relacionados deterministas |
render.createDashboards |
valor predeterminado true |
genera páginas de paneles |
Almacenes por agente
Establece vault.scope en agent para proporcionar a cada agente configurado una wiki independiente.
En este ámbito, vault.path es un directorio principal y OpenClaw añade el
id normalizado del agente:
{ agents: { list: [{ id: "support" }, { id: "marketing" }], }, plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "bridge", vault: { scope: "agent", path: "~/.openclaw/wiki", }, bridge: { enabled: true, readMemoryArtifacts: true, }, }, }, }, },}Esto se resuelve como ~/.openclaw/wiki/support y
~/.openclaw/wiki/marketing. Si se omite vault.path en el ámbito de agente, el
directorio principal predeterminado es ~/.openclaw/wiki. Por lo tanto, el agente main predeterminado conserva
la ruta existente ~/.openclaw/wiki/main.
Las herramientas del agente, los resúmenes compilados del prompt y el complemento de la wiki expuesto mediante
memory_search / memory_get resuelven el almacén a partir del contexto del agente activo.
Para llamadas de la CLI y del Gateway en una configuración con varios agentes, especifica
el agente explícitamente con openclaw wiki --agent <agentId> ... o mediante
agentId en la solicitud al Gateway. Si solo hay un agente configurado, este sigue siendo el predeterminado cuando no se
proporciona ningún id.
En modo puente, las importaciones con ámbito de agente solo aceptan un artefacto público de memoria cuando
su propiedad agentIds incluye al agente seleccionado. Se omiten los artefactos pertenecientes a otro agente,
sin metadatos de propiedad o con un propietario desconocido. El ámbito global
conserva el comportamiento existente de artefactos compartidos.
Ejemplo: QMD + modo puente
Utiliza esta configuración cuando quieras usar QMD para la recuperación y memory-wiki como una capa de
conocimiento mantenida. Cada capa conserva su función específica: QMD mantiene disponibles para búsqueda las notas sin procesar, las
exportaciones de sesiones y las colecciones adicionales, mientras que memory-wiki compila
entidades estables, afirmaciones, paneles y páginas de fuentes.
{ memory: { backend: "qmd", }, plugins: { entries: { "memory-wiki": { enabled: true, config: { vaultMode: "bridge", bridge: { enabled: true, readMemoryArtifacts: true, indexDreamReports: true, indexDailyNotes: true, indexMemoryRoot: true, followMemoryEvents: true, }, search: { backend: "shared", corpus: "all", }, context: { includeCompiledDigestPrompt: false, }, }, }, }, },}Esto mantiene a QMD a cargo de la recuperación de la memoria activa, centra memory-wiki en
las páginas y los paneles compilados, y mantiene sin cambios la estructura del prompt hasta que
habilites deliberadamente los prompts de resumen compilado.
CLI
openclaw wiki statusopenclaw wiki doctoropenclaw wiki initopenclaw wiki ingest ./notes/alpha.mdopenclaw wiki compileopenclaw wiki lintopenclaw wiki search "alpha"openclaw wiki get entity.alphaopenclaw wiki apply synthesis "Alpha Summary" --body "..." --source-id source.alphaopenclaw wiki bridge importopenclaw wiki obsidian statusConsulta CLI: wiki para obtener la referencia completa de los comandos, incluidos
wiki okf import, wiki apply metadata, wiki unsafe-local import,
wiki chatgpt import / wiki chatgpt rollback y el conjunto completo de subcomandos
wiki obsidian.
Compatibilidad con Obsidian
Cuando vault.renderMode es obsidian, el plugin escribe Markdown compatible con Obsidian
y, opcionalmente, puede utilizar la CLI oficial obsidian para consultar el
estado, buscar en el almacén, abrir una página, invocar un comando y acceder a la
nota diaria. Esto es opcional; la wiki sigue funcionando en modo nativo sin
Obsidian.
Los almacenes con ámbito de agente también pueden utilizar Markdown compatible con Obsidian, pero la validación de la
configuración rechaza obsidian.useOfficialCli: true junto con vault.scope: "agent".
La configuración actual obsidian.vaultName es global y no permite seleccionar un almacén
de Obsidian diferente para cada agente. En su lugar, utiliza las herramientas de la wiki y las operaciones de la CLI,
o mantén una wiki gestionada con Obsidian en el ámbito global.
Flujo de trabajo recomendado
Mantén el plugin de memoria activa para la recuperación
La recuperación, la promoción y Dreaming siguen siendo responsabilidad del backend de memoria configurado.
Habilita memory-wiki
Comienza con el modo isolated, a menos que quieras explícitamente el modo puente.
Usa wiki_search / wiki_get cuando importe la procedencia
Prefiere estas funciones a memory_search cuando quieras una clasificación específica de la wiki o una estructura de creencias a nivel de página.
Usa wiki_apply para síntesis acotadas o actualizaciones de metadatos
Evita editar manualmente los bloques generados y gestionados.
Ejecuta wiki_lint después de cambios significativos
Detecta contradicciones, preguntas abiertas y carencias de procedencia.
Activa los paneles para detectar contenido obsoleto y contradicciones
Establece render.createDashboards: true (valor predeterminado).