Initial wiki push - 2026-04-10
This commit is contained in:
178
entities/project-wiki-memory.md
Normal file
178
entities/project-wiki-memory.md
Normal file
@@ -0,0 +1,178 @@
|
||||
---
|
||||
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 -->
|
||||
Reference in New Issue
Block a user