Files
wiki/entities/project-wiki-memory.md
2026-04-10 20:14:25 +00:00

179 lines
6.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
pageType: entity
id: entity.project-wiki-memory
title: "Wiki & Memory"
entityType: Project
status: active
updatedAt: 2026-04-10T13:48:00.000Z
sourceIds: [source.memory]
tags: [project, wiki, memory, qmd, setup]
---
# Wiki & Memory
<!-- openclaw:wiki:managed:start -->
## Ключевые факты
- **Дата настройки:** 10 апреля 2026
- **Статус:** active
- **Папка:** `tasks/wiki-memory/`
## Описание
Комплексная настройка системы памяти OpenClaw: замена встроенного SQLite на QMD sidecar + инициализация Memory Wiki vault с entities/concepts для всех проектов и скиллов.
---
## Архитектура системы памяти
### Схема работы
```
Файлы workspace/ QMD sidecar (Gemma-300M) Агент
─────────────────── ──────────────────────── ──────
MEMORY.md memory-root-main (159 docs) memory_search
memory/YYYY-MM-DD.md → memory-dir-main (33 docs) → BM25 + vector
tasks/**/*.md tasks-main (104 docs) reranking
skills/**/*.md skills-main (10 docs) ↓
agents/main/sessions/ sessions-main (111 docs) релевантные чанки
```
```
Wiki vault Агент (каждый запрос)
───────────────────── ──────────────────────
sources/ (ingest файлов) includeCompiledDigestPrompt: true
entities/ (проекты, люди) → → → agent-digest.json → системный промпт
concepts/ (скиллы, правила) wiki_search / wiki_get (по запросу)
syntheses/
reports/ (lint, health)
```
### Два независимых слоя памяти
| Слой | Инструмент | Для чего |
|------|-----------|----------|
| **QMD** | `memory_search` | Полнотекстовый + семантический поиск по всем файлам |
| **Wiki** | `wiki_search`, digest в промпте | Структурированные знания: entities, concepts |
---
## QMD Backend
### Конфигурация (openclaw.json, корневой ключ `memory`)
```json
{
"memory": {
"backend": "qmd",
"qmd": {
"command": "/home/node/.local/bin/qmd",
"paths": [
{ "name": "tasks", "path": "~/.openclaw/workspace/tasks", "pattern": "**/*.md" },
{ "name": "skills", "path": "~/.openclaw/workspace/skills", "pattern": "**/*.md" }
],
"sessions": { "enabled": true }
}
}
}
```
### Коллекции (main агент)
| Коллекция | Документов |
|---|---|
| memory-root-main (workspace/) | 159 |
| sessions-main (транскрипты) | 111 |
| tasks-main (workspace/tasks/) | 104 |
| memory-dir-main (workspace/memory/) | 33 |
| skills-main (workspace/skills/) | 10 |
| **Итого** | **417 документов** |
### Эмбеддинги
- Модель: `embeddinggemma-300M-Q8_0.gguf` (~328MB)
- Только CPU → индексация ~30-60 мин на 400+ чанков
- После завершения: Vector: ready автоматически
- Все агенты (main, dev, legal, feda): Vector ready ✅
### Известная проблема: memory-alt-main
QMD создаёт `memory-root-main` с `**/*.md`, OpenClaw ищет `memory-alt-main`.
**Фикс:**
```yaml
# ~/.openclaw/agents/main/qmd/xdg-config/qmd/index.yml
memory-alt-main:
path: /home/node/.openclaw/workspace
pattern: "memory.md"
```
Затем: `rm ~/.openclaw/agents/main/qmd/xdg-cache/qmd/index.sqlite* && openclaw memory index --force`
---
## Memory Wiki
### Конфигурация (openclaw.json)
```json
// plugins.entries.memory-wiki.config:
{
"bridge": { "enabled": true, "readMemoryArtifacts": true, ... },
"context": { "includeCompiledDigestPrompt": true }
}
// agents.list[main].tools.allow:
["wiki_status", "wiki_search", "wiki_get", "wiki_apply", "wiki_lint"]
```
### Bridge mode — не работает (known limitation)
OpenClaw использует jiti vm-контексты для изоляции плагинов. memory-core и memory-wiki
загружаются в разных контекстах → `memoryPluginState` разные объекты → capability не видна.
`openclaw wiki bridge import` всегда возвращает 0 артефактов. Это архитектурная проблема
версии 2026.4.9, не баг конфига. Workaround: ручной ingest.
### Как пополнять wiki (рабочий процесс)
```bash
# 1. Добавить источник
openclaw wiki ingest ~/.openclaw/workspace/MEMORY.md
openclaw wiki ingest ~/.openclaw/workspace/tasks/*/PROJECT.md
# 2. Создать entity/concept страницу (wiki_apply или вручную в vault)
# Файл: ~/.openclaw/wiki/main/entities/project-xxx.md
# 3. Скомпилировать и проверить
openclaw wiki compile
openclaw wiki lint
```
### Текущий vault (10.04.2026)
- **Vault:** `/home/node/.openclaw/wiki/main`
- **Режим:** bridge (формально), фактически manual ingest
- **Страниц:** 27 (9 entities, 5 concepts, 7 sources, 6 reports)
- **Lint:** 0 issues ✅
### Entities (проекты)
- Snowbike RAG, Telegram Collector, Карта шумового загрязнения FR24
- Интернет-заказы, Home Assistant, Proxy VM, Tapo Camera Monitor
- Apps Portal, Видеокружочки
### Concepts (скиллы)
- voice-tts, telegram-collector, ontology, diagram-png/table, youtube/yandex-search
---
## Задачи
### ✅ Первичная настройка (done, 10.04.2026)
- Установка QMD, настройка коллекций, эмбеддинги
- Инициализация wiki vault, добавление wiki_* инструментов
- Ingest ключевых файлов (MEMORY.md, PROJECT.md × 6, SKILL.md × 9)
- Создание 9 entities + 5 concepts
- Синхронизация с онтологией
### Открытые вопросы
- Bridge mode: ждём фикса в OpenClaw (jiti-изоляция плагинов)
- Wiki не обновляется автоматически — нужен ручной `ingest + compile` при изменениях
- Dreaming отключён (можно включить для ночной синтез-генерации)
<!-- openclaw:wiki:managed:end -->
## Related
<!-- openclaw:wiki:related:start -->
### Sources
- [MEMORY](sources/memory.md)
<!-- openclaw:wiki:related:end -->