mirror of
https://gitverse.ru/kpa39l/memory-os-pipeline.git
synced 2026-09-29 09:15:08 +00:00
Initial commit: Hermes skill memory-os-pipeline
This commit is contained in:
@@ -0,0 +1,62 @@
|
|||||||
|
---
|
||||||
|
name: memory-os-pipeline
|
||||||
|
title: "Memory OS Pipeline"
|
||||||
|
description: "Управление pipeline Memory OS: Obsidian vault → синхронизация → ингест в Qdrant → поиск. Критически важно: НЕ ТРОГАТЬ /opt/hermes/obsidian-vault/."
|
||||||
|
---
|
||||||
|
|
||||||
|
## Критические правила
|
||||||
|
|
||||||
|
- **ЗАПРЕЩЕНО** удалять, изменять, перемещать, перезаписывать файлы в `/opt/hermes/obsidian-vault/`. Только чтение.
|
||||||
|
- **ЗАПРЕЩЕНО** удалять любые файлы пользователя без явного подтверждения.
|
||||||
|
- Если vault пуст, не удалять wiki — это означает, что отвалилось монтирование (Yandex.Disk WebDAV или S3). Скрипт `sync_obsidian_to_wiki.py` защищён: если vault пуст, но state не пуст — удаление из wiki блокируется.
|
||||||
|
|
||||||
|
## Управление cron-задачами (важно)
|
||||||
|
|
||||||
|
- Когда пользователь говорит "stop reminder", "отключи задачу" — он хочет **отключить уведомления**, а не удалить задачу.
|
||||||
|
- **Решать:** обновить `deliver: local` (тихий режим). Не удалять cronjob.
|
||||||
|
- Для no_agent скриптов сразу ставить `deliver: local` — они не должны слать уведомления каждые 5 минут.
|
||||||
|
|
||||||
|
## Архитектура
|
||||||
|
|
||||||
|
```
|
||||||
|
Obsidian vault (/opt/hermes/obsidian-vault/) ← READ-ONLY, НЕ ТРОГАТЬ
|
||||||
|
↓ sync_obsidian_to_wiki.py (копирование → wiki/raw/obsidian/)
|
||||||
|
Wiki (/opt/hermes/vault/wiki/raw/obsidian/)
|
||||||
|
↓ ARQ queue → worker (chunk + embed)
|
||||||
|
Qdrant (localhost:6333, collection: knowledge_base)
|
||||||
|
↓ dense: nomic-embed-text (768d, Cosine)
|
||||||
|
↓ sparse: BM25
|
||||||
|
Search API (localhost:8000, POST /search, GET /health)
|
||||||
|
```
|
||||||
|
|
||||||
|
## Стек
|
||||||
|
|
||||||
|
- Worker: Docker, docker-worker-1 (healthy)
|
||||||
|
- Redis: Docker, docker-redis-1 (healthy)
|
||||||
|
- Qdrant: Docker, docker-qdrant-1 (healthy)
|
||||||
|
- Search API: Docker, docker-search-api-1 (healthy)
|
||||||
|
- Ollama: Docker, localhost:11434
|
||||||
|
- Yandex.Disk: WebDAV на /mnt/yandex-disk
|
||||||
|
|
||||||
|
## Пути
|
||||||
|
|
||||||
|
- Репозиторий: `/opt/hermes/memory-os/`
|
||||||
|
- Docker compose: `/opt/hermes/memory-os/docker/docker-compose.yml`
|
||||||
|
- .env: `/opt/hermes/memory-os/docker/.env`
|
||||||
|
- Скрипты: `/opt/hermes/memory-os/scripts/`
|
||||||
|
- Search API: `/opt/hermes/memory-os/search_api/main.py`
|
||||||
|
- Obsidian vault (READ-ONLY): `/opt/hermes/obsidian-vault/`
|
||||||
|
- Wiki target: `/opt/hermes/vault/wiki/raw/obsidian/`
|
||||||
|
- State: `~/.hermes/obsidian_sync_state.json`
|
||||||
|
|
||||||
|
## Cron-задачи
|
||||||
|
|
||||||
|
- memory-os obsidian sync + ingest — каждые 10 мин (LLM agent)
|
||||||
|
- memory-os micro-reflection trigger — каждые 5 мин (no_agent, тихо, deliver: local)
|
||||||
|
|
||||||
|
## Переменные окружения (worker)
|
||||||
|
|
||||||
|
- OLLAMA_BASE_URL=http://ollama:11434
|
||||||
|
- OLLAMA_MODEL=qwen3-8b-64k
|
||||||
|
- EMBEDDING_API_BASE=http://ollama:11434/v1
|
||||||
|
- REDIS_HOST=redis, REDIS_PORT=6379
|
||||||
Reference in New Issue
Block a user