--- created: '2026-05-15' updated: '2026-05-16' tags: - personal-os - obsidian - vault - strategy - llm-wiki status: active --- # Obsidian Vault Strategy & LLM Wiki Plan > Deep research 2026-05-15. > Источники: Karpathy LLM Wiki gist (5000+ stars), LLM Wiki v2 (rohitg00, 1200+ stars), claude-obsidian (PyShine), Ar9av/obsidian-wiki (DeepWiki), Tom Nguyen 6-month report, Nodus Labs knowledge graph extension, mathisgauthey (r/ObsidianMD, 1000+ upvotes), MOC+Dataview guide, Obsidian+Claude Code integration, LifeOS, Obsidian Forum. --- ## Часть 1 — Текущее состояние vault ### Что есть | Тип контента | Примеры | Где лежит | |---|---|---| | Личные списки | Список дел, Фильмы, Книги, Покупки | `personal/documents/`, `family/documents/` | | Брифы и планы | Daily brief, weekly plan, inbox triage | `work/briefs/` | | Проектные заметки | executor, media-pipeline, wiki | `personal/projects/`, `family/projects/` | | How-to документация | HTPC, Кракен, WireGuard | `family/how-to/` | | Knowledge wiki | Архитектура personal-os, схема БД | `wiki/` | ### Что не работает - **Граф пустой** — 90% заметок без frontmatter, aliases, wikilinks. Поиск находит только по точному имени файла. - **Воркер переименовал файлы** без aliases → `✅ Список дел` → `todo-list.md`, поиск сломан. - **Wiki-curation делает лишнее** — Task 3b (раскладка файлов по папкам) не относится к Karpathy, добавлен ошибочно. - **Нет накопления знаний** — каждый research-сеанс начинается с нуля. Пример: анализ Obsidian PKM занял 15 минут и 10+ web запросов, которые нужно будет повторять снова. - **Нет проактивных исследований** — агент реагирует на запросы, не инициирует изучение пробелов. --- ## Часть 2 — Анализ подходов из research ### Karpathy LLM Wiki (оригинал, апрель 2026) **Суть:** LLM читает сырые источники → строит wiki с entity/concept pages → cross-references → compounding knowledge base. Человек почти не пишет в wiki руками. **Ключевые цифры:** Karpathy вырастил wiki на одну тему до ~100 статей, 400k слов, не написав ни одной напрямую. Tom Nguyen (6 месяцев в production): 77 wiki pages, 30+ источников, 13 custom skills читают из wiki. **Три операции:** 1. **Ingest** — дропаешь источник, агент создаёт/обновляет 10-15 wiki pages 2. **Query** — агент читает index.md, находит нужные pages, даёт ответ со ссылками 3. **Lint** — проверка orphan pages, противоречий, stale claims, пробелов **Применимость к нам:** Wiki для накопления knowledge (техника, workflows, инфраструктура, AI tools) — да. Для личных списков — нет. --- ### LLM Wiki v2 (rohitg00) — production extensions **Ключевые расширения:** **4-tier memory pipeline:** ``` Working Memory → сырые наблюдения текущей сессии Episodic Memory → сжатые саммари сессий Semantic Memory → кросс-сессионные факты (wiki) Procedural Memory → паттерны, workflows, skills ``` **Confidence scoring:** каждый факт имеет score (кол-во источников, свежесть, противоречия). Устаревает со временем, усиливается при подтверждении. **Event-driven automation:** ``` On new source → auto-ingest, extract entities, update graph On session end → compress session into observations, file insights On query → check if answer worth filing back On schedule → periodic lint, consolidation ``` **Кристаллизация:** завершённые debug/research сессии автоматически дистиллируются в wiki pages. --- ### claude-obsidian / Ar9av/obsidian-wiki — автономные skills Наиболее зрелые production реализации. Ключевые skills: **`wiki-synthesize`** — сканирует vault, находит concept pairs которые часто co-occur но не имеют synthesis page. Строит `Concept A × Concept B` pages автоматически. **`wiki-research` (3-round autonomous loop):** - Round 1: decompose topic → 3-5 angles → broad search - Round 2: find gaps/contradictions → targeted search - Round 3: resolve contradictions → synthesis **`wiki-capture`** — конвертирует AI-human сессии в declarative wiki notes. Эта сессия (анализ Obsidian PKM) должна была бы стать wiki pages автоматически. **`autoresearch` (claude-obsidian):** ``` /autoresearch topic → Round 1: query wiki → identify gaps → ingest sources → Round 2: re-query → find remaining gaps → more sources → Round 3: synthesis → comprehensive result with citations ``` **Session hooks:** - `SessionStart` → load hot cache, read schema - `PostToolUse` → auto-commit if files changed - `Stop` → save final state, update manifest --- ### Knowledge Graph extension (Nodus Labs) Добавляет структурную самоосознанность поверх Karpathy: **Gap detection:** находит disconnected clusters в wiki graph. Там, где два тематических кластера не связаны — это часто место для нового insight или исследования. **Prompt-to-structure:** вместо "объясни X" → "как A связан с B, учитывая что они в разных кластерах?" → более точные, оригинальные ответы. --- ### Проактивные исследования — PersonalAgent pattern (arxiv 2512.15302) **Идея:** агент строит user profile → из профиля выводит гипотезы что пользователю может быть интересно → инициирует исследования без запроса. **Применительно к нам:** агент знает что ты работаешь над personal-os, media-pipeline, executor — и проактивно исследует смежные темы: новые подходы к orchestration, медиа-библиотеки, home automation. **Реализация:** weekly cron который читает wiki + профиль + последние сессии → формирует список hypothesis → запускает `wiki-research` по каждой → результаты в inbox для review. --- ## Часть 3 — Что реально нужно нам ### Три разных задачи (не смешивать!) **Задача A: Vault enrichment** — сделать личные заметки searchable и связными - frontmatter + aliases на существующие файлы - wikilinks между связанными заметками - MOC/index files для навигации **Задача B: LLM Wiki для knowledge accumulation** — накапливать research результаты - `wiki/` как compounding knowledge base - Research сессии → wiki pages - Lint + gap detection **Задача C: Проактивные автономные исследования** — агент сам генерирует гипотезы и исследует - User profile → hypothesis generation - Scheduled research runs - Results → inbox для review --- ## Часть 4 — План: три проекта ### Проект 1: Vault Enrichment **Цель:** граф живой, поиск работает по aliases, Dataview агрегирует, файлы связаны по смыслу. #### Ключевой принцип: topic map как источник правды `family/index.md` и `personal/index.md` — это не просто каталоги файлов, а **топик-карты vault**. Карта содержит: - Топики / кластеры (Алтай, Лаки Парк, Kraken, psychologist-app, …) - Какие файлы принадлежат каждому кластеру - Ссылку на hub-note кластера (основную заметку) **Enrichment воркер читает карту первым делом и работает по ней** — не по хардкоду в промпте. Если находит новый кластер которого в карте нет — добавляет его туда сам. Карта самодополняется. ``` family/index.md (topic map) ├── ## Место: Алтай │ hub: family/places/altai.md (создать при необходимости) │ files: altai-shopping, altai-house-inventory ├── ## Место: Лаки Парк (Тайга) │ hub: family/how-to/truenas-infrastructure.md │ files: lerua-shopping, fasteners-nomenclature ├── ## Инфраструктура: Kraken │ hub: family/how-to/kraken-access.md │ files: kraken-portainer-access, openmediavault-rpi5, … └── … ``` #### Шаги 1. ✅ Убрать Task 3b из wiki-curation промпта — **сделано 2026-05-16** 2. ✅ Добавить frontmatter + aliases на 24 файла documents/ — **сделано 2026-05-16** 3. ✅ Создать enrichment cron (воскресенье 03:00) — **запущен 2026-05-16** 4. **Пересобрать `family/index.md` и `personal/index.md` как топик-карты** (кластеры вместо плоских списков) 5. **Обновить промпт enrichment воркера**: читать index как карту, линковать по ней, дополнять при находке новых кластеров — **никакого хардкода в промпте** 6. Создать `personal/places/` и `family/places/` hub-notes для физических мест если нужны (Алтай, Лаки Парк) **Стек:** Hermes cron + obsidian MCP + terminal toolset **Правило:** воркер **никогда** не хардкодит конкретные файлы или топики в промпте. Карта = единственный источник правды о кластерах. --- ### Проект 2: LLM Wiki — Knowledge Accumulation **Цель:** каждая research-сессия накапливается. Следующий вопрос про memory architectures → читаю 2 страницы wiki вместо 10 web запросов. #### Компоненты **Crystallization** — сессии → wiki pages (ежедневно в wiki-curation-daily) - Воркер сканирует дневные сессии - Критерий: знание painful to re-derive + fit wiki domain - Дистиллирует факты (не разговор), создаёт/обновляет wiki pages - ✅ Добавлено в wiki-curation-daily промпт (2026-05-16) **Wiki-Synthesize** — co-occurring concepts → synthesis pages - Воркер ищет темы из 3+ страниц без synthesis page - Создаёт `comparisons/A-vs-B.md` или `concepts/A-and-B.md` - Лимит: 1 страница за прогон - ✅ Добавлено в wiki-curation-daily промпт (2026-05-16) **Inbox drop** — быстрый путь добавить knowledge в очередь - Файл в `wiki/raw/inbox/research-SLUG-YYYYMMDD.md` → обрабатывается следующей ночью - ✅ Сегодняшняя сессия (vault strategy + memory architecture) заброшена в инбокс #### Что войдёт в wiki AI/ML memory architectures, Obsidian PKM patterns, personal-os architecture decisions, Swift/iOS patterns, media pipeline learnings, enrichment patterns. **Стек:** wiki-curation-daily (расширенный) + inbox mechanism **Статус:** ✅ Реализован 2026-05-16 --- ### Проект 3: Proactive Research Agent **Цель:** агент сам инициирует исследования исходя из профиля и пробелов в wiki. #### Архитектура ``` Gap Detector (читает vault, находит темы без wiki-страниц) ↓ research-queue.md (приоритизированный список) ↓ proactive-research cron (суббота 05:00, 1 тема за прогон) ↓ 3-round research loop → wiki page ↓ queue item помечается [x], wiki/index.md обновляется ``` #### Компоненты **research-queue.md** (`wiki/research-queue.md`) - Живой список тем для исследования - Воркер берёт top-1 `[ ]` item каждую субботу - Alex может добавлять вручную - ✅ Создан с 7 начальными темами (2026-05-16) **proactive-research cron** (суббота 05:00) - Gap detection: темы 3+ упоминаний в vault без wiki-страницы → добавляет в queue - 3-round research loop: broad → deep → synthesis - Создаёт/обновляет wiki page, обновляет index.md, отмечает queue item - ✅ Cron создан (job: 41896d17f5fc, 2026-05-16) **Начальная очередь:** - Obsidian Bases vs Dataview 2026 - Skip.tools production-readiness - Home Assistant + Zigbee для RPi5 - AI mental health apps landscape - Swift Concurrency 2026 - Personal OS orchestration alternatives - Indie iOS monetization 2026 **Статус:** ✅ Инфраструктура создана 2026-05-16. Первый прогон: 2026-05-23. --- ### Проект 4: Cross-domain Enrichment Agent **Цель:** vault note + external signal → personalized insight. Два режима: разовое обогащение и регулярный мониторинг. #### Архитектура ``` Enrichment: Vault note + External (web) → companion note рядом с исходником Monitoring: External stream → фильтр через user-profile → digest delivered ``` **vault-cross-enrichment cron** (воскресенье 04:00, web+file+terminal toolsets) - Target discovery: `enrich-me` тег, файлы 30+ дней без обновления, app-ideas - Enrichment types: app-ideas competitive analysis, wishlists (games/books/movies), travel, home automation - Profile-aware: всё фильтруется через `wiki/user-profile.md` - Output isolation: результат в `-enriched.md` companion файле, исходник не трогает - Monitoring digest: tech stack updates, indie/App Store news, Bishkek local - ✅ Cron создан (job: f3de00040aac, 2026-05-16) --- ## Часть 5 — Последовательность ``` Сейчас → Проект 1 (enrichment) — быстро, ощутимый результат ↓ Проект 2 (wiki accumulation) — параллельно или после ↓ Проект 3 (proactive research) — когда wiki достаточно наполнена ``` Проект 3 имеет смысл только когда в wiki есть достаточно контента чтобы gap detection давал сигнал. Сначала нужно наполнить wiki (Проект 2). --- --- ## Часть 5a — Паттерн: Personal Context → External Signal → Insight Это отдельный класс задач — **cross-domain enrichment с внешними данными**. Агент читает личные данные из vault, учитывает профиль пользователя, обогащает внешними сигналами и возвращает персонализированный результат. **Ключевое отличие от Google:** контекст про тебя уже внутри — агент не ищет абстрактный ответ, а фильтрует под конкретного человека. ### Общий паттерн ``` Заметка/список в vault + Связанные заметки (через wikilinks / поиск) + User Profile (возраст, интересы, текущий стек, предпочтения) + External signal (web, API, RSS, marketplace) ↓ Enrichment Agent (по триггеру или расписанию) ↓ Enriched note в vault (insights + cross-links + источники) ``` ### Два режима агента Примеры выше делятся на два разных паттерна — важно не смешивать: **Enrichment** — обогащаешь данные один раз (или при изменении) - Исходная заметка есть, нужно добавить внешний контекст - Запускается по триггеру (новая запись) или периодически - Результат стабилен, обновляется редко - _Примеры: анализ идей приложений, learning path по списку книг, фильтрация игр под профиль_ **Monitoring** — следишь за потоком внешнего мира, фильтруешь через твой контекст - Внешний мир меняется, vault — точка отсчёта для фильтрации - Запускается регулярно (ежедневно / еженедельно) - Результат — дайджест / алерт, не постоянная заметка - _Примеры: новые заведения в Бишкеке, распродажи билетов под планы поездок, конференции по твоим темам, апдейты инструментов из стека_ ``` Enrichment: Vault (данные) + External (контекст) → Enriched note в vault Monitoring: External (поток) → фильтр через Vault (профиль) → Алерт / Дайджест ``` Оба нужны, но реализуются по-разному: enrichment — разовый агент с obsidian MCP, monitoring — регулярный cron с web toolset и доставкой в inbox/Zulip. ### Иллюстративные примеры (не задачи, а цепочки мышления) **1. Список идей приложений → конкурентный анализ** Читает каждую идею → ищет по YC directory / ProductHunt / web по ключевым словам → кто уже делает, funding, незакрытые ниши → сохраняет анализ рядом с идеей **2. Активности с ребёнком × список игр × профиль ребёнка** Читает списки активностей + игр → читает профиль (возраст, интересы, темперамент, что работает) → cross-links между файлами → фильтрует игры под совместную игру → ищет новые по интересам → персонализированные рекомендации с обоснованием **3. Список для чтения → learning path** Книги/статьи + текущие знания из wiki → определяет prerequisites, оптимальный порядок, находит пробелы в теме **4. Wishlist путешествий → план поездок** Список мест + сезонность + текущие проекты (когда реально есть время) → какие места удобно совмещать, оптимизированный план на год **5. Профили контактов → напоминания о связи** Список людей с датой последнего общения + интересы → "давно не писал X, вот повод" (вышла статья по его теме, etc.) **6. Wishlist умного дома → совместимость и реализация** Хотелки + текущий стек (Zigbee, HA версия) → что реально интегрируется, community-решения, очерёдность **7. Дневник тренировок → инсайты** Лог активностей + самочувствие + погода → что коррелирует с хорошими результатами, когда лучше тренироваться **8. Скетчи музыкальных идей → рыночный контекст** Заметки по трекам (BPM, настроение, референсы) → Spotify анализ похожих, что в тренде в жанре **9. Список подарков → актуальные варианты** Профили близких (интересы, что уже есть) × ближайшие даты → marketplace search с обоснованием почему подходит **10. Wishlist ресторанов → фильтр по контексту** Список + предпочтения + что уже посетил → фильтр под конкретный контекст (с ребёнком / романтический / деловой), актуальные часы **11. Темы для изучения → дайджест новостей** Список интересующих тем → еженедельный дайджест из HN / arxiv / RSS, отфильтрованный от шума под твои конкретные темы **12. Финансовый watchlist → контекст для решений** Список активов/инструментов → агрегация сигналов (не трейдинг, а понимание контекста для своих решений) **13. Проекты и интересы → конференции, семинары, learning events** Текущие рабочие и личные проекты + домены интереса → поиск конференций, митапов, онлайн-курсов, воркшопов по теме → дайджест "что скоро, что стоит посетить" с приоритизацией по релевантности **14. Планы поездок × текущее местоположение → акции на билеты и туры** Wishlist мест + даты отпуска (если есть) + текущий город → поиск распродаж, горящих туров, пакетов (не только авиа) → алерт когда появляется подходящее предложение **15. Контакты → дни рождения и поводы** Профили людей с датами рождения + история общения → заблаговременное напоминание + идея подарка по интересам человека **16. Проекты и интересы → новые идеи, best practices, апдейты инструментов** Текущий технический стек + активные проекты → мониторинг HN / changelog / блогов → "вышел X, релевантно для твоего проекта Y", "новый паттерн для Z", "есть решение лучше чем то что ты сейчас используешь" **17. Место проживания → новые заведения и места** Текущий город + категории интереса (рестораны, кофейни, etc.) → мониторинг новых открытий → периодический дайджест "что открылось, что стоит попробовать" ### Триггеры обогащения 1. **По изменению** — новая запись в списке → автоматически запускает анализ (git diff) 2. **По расписанию** — раз в неделю проходит по спискам, обновляет что устарело 3. **По запросу** — "проведи анализ по этой теме" --- ### Проект 5: Memory Organizer **Цель:** память агента актуальна, не переполнена, детальные факты живут в vault а не в MEMORY.md. #### Контекст Hermes хранит память в двух файлах (`~/.hermes/memories/`): | Файл | Назначение | Лимит | |---|---|---| | `MEMORY.md` | Факты об окружении, проектах, инструментах | ~3000 chars | | `USER.md` | Профиль пользователя — предпочтения, стиль | ~1375 chars | Оба инжектируются в system prompt **как frozen snapshot** при старте сессии. Агент видит их как часть контекста. **Три уровня памяти** (по когнитивной науке, arXiv 2603.07670): - **Episodic** — сессионные логи (SQLite, session_search). Уже работает. - **Semantic** — факты/предпочтения (MEMORY.md + USER.md). Нужна curation. - **Procedural** — навыки и workflows (skills/). Уже работает. **Текущие проблемы (2026-05-16):** - MEMORY.md переполнен — 3164 chars при лимите ~3000 - 8 записей про media-pipeline баги/§9.x/транслит — это детальные технические заметки, а не факты для быстрого доступа. Должны жить в `wiki/tech/` или в project notes. - Нет механизма устаревания — записи про баги давно пофикшенные продолжают занимать место - Нет связи memory ↔ vault: детальный контекст дублируется, не синергирует #### Правило разграничения (что куда) ``` MEMORY.md → короткие стабильные факты: SSH хосты, namespace rules, активные токены, конфиги. Макс ~150 chars на запись. USER.md → предпочтения, стиль, ожидания. Не меняется часто. wiki/tech/ → детальные технические заметки: питфолы, баг-паттерны, разборы архитектур. Длинные, с контекстом. personal/projects/ → статус проектов, решения, дебаггинг-логи skills/ → процедуры и workflows пошагово ``` **Overflow pattern:** если запись в MEMORY.md > 150 chars или содержит пошаговые инструкции → переносим в vault, в MEMORY.md оставляем pointer: `media-pipeline питфолы → wiki/tech/media-pipeline.md` #### Шаги **Шаг 0 — One-time audit & purge (сейчас)** 1. Пройти по всем записям MEMORY.md 2. Записи про media-pipeline (bugs, §9.x, транслит, KP rate limit, Docker cmd) → создать `wiki/tech/media-pipeline-pitfalls.md`, в MEMORY.md оставить короткий pointer 3. Удалить записи про пофикшенные баги (они уже в истории сессий) 4. Проверить USER.md — убрать устаревшее 5. После: MEMORY.md < 2000 chars, USER.md < 1100 chars (оставить запас для новых фактов) **Шаг 1 — Создать `wiki/tech/` как хранилище детальных техфактов** - `wiki/tech/media-pipeline-pitfalls.md` — все §9.x, транслит, баги - `wiki/tech/kraken-infra.md` — SSH, WireGuard, Docker deploy паттерны - `wiki/tech/gitea.md` — токены, repos, API endpoints - Эти страницы живут в wiki (curation воркер их maintainит) **Шаг 2 — Memory curation cron (еженедельно, воскресенье 04:00)** ``` Читает ~/.hermes/memories/MEMORY.md и USER.md ↓ Для каждой записи: - Старше 60 дней И не изменялась → кандидат на архивацию - > 150 chars → кандидат на перенос в vault - Противоречит другой записи → флажок для review ↓ Детальные записи → переносит в wiki/tech/ (создаёт/обновляет страницы) В MEMORY.md → заменяет на pointer (1 строка) Совсем устаревшие (проект завершён) → удаляет ↓ Репортирует: что удалено, что перенесено, текущий % заполненности ``` **Стек:** Hermes cron + terminal + obsidian MCP **Оценка:** Шаг 0 — 30 мин сейчас. Шаг 1-2 — 1 день. --- ## Статус проектов (2026-05-16) | Проект | Статус | Следующий шаг | |---|---|---| | Проект 1: Vault Enrichment | 🟡 В процессе | Воскресный прогон по топик-картам | | Проект 2: LLM Wiki Accumulation | ✅ Готов | crystallization + synthesize + inbox в wiki-curation | | Проект 3: Proactive Research | ✅ Готов | research-queue.md + cron суббота 05:00 | | Проект 4: Cross-domain Enrichment | ✅ Готов | vault-cross-enrichment cron воскресенье 04:00 | | Проект 5: Memory Organizer | 🟡 В процессе | daily cron 04:00; wiki/tech/ частично заполнена | ### Что сделано (2026-05-16) - Task 3b убран из wiki-curation - frontmatter + aliases + titles на 24 файла documents/ - Enrichment воркер создан (воскресенье 03:00) - wiki/tech/media-pipeline-pitfalls.md создан - MEMORY.md разгружена: 105% → 50% ### Известные долги - ❗ `wiki/tech/` не отражена в `wiki/index.md` и `wiki/SCHEMA.md` - ❗ `family/index.md` и `personal/index.md` — плоские списки, не топик-карты - ❗ Memory curation cron не создан (только описан в плане) --- ## Что НЕ нужно делать - ❌ Task 3b в wiki-curation (убрать) ✅ сделано 2026-05-16 - ❌ Переименовывать файлы с кириллицей/эмодзи - ❌ Применять Karpathy-wiki к личным спискам (разные задачи) - ❌ Глубже вкладывать папки - ❌ Внешние сервисы (LifeOS plugin, Todoist) — у нас есть Asana + Hermes - ❌ Хранить в MEMORY.md записи > 150 chars — детали → в vault --- ## Ссылки - [Karpathy LLM Wiki gist](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f) - [LLM Wiki v2 — rohitg00](https://gist.github.com/rohitg00/2067ab416f7bbe447c1977edaaa681e2) - [claude-obsidian](https://pyshine.com/2026/04/claude-obsidian-self-organizing-ai-knowledge-engine/) - [Ar9av/obsidian-wiki skills](https://deepwiki.com/Ar9av/obsidian-wiki/3.5-knowledge-building-skills) - [Nodus Labs knowledge graph](https://support.noduslabs.com/hc/en-us/articles/26724863249180) - [mathisgauthey vault template](https://github.com/mathisgauthey/obsidian-workflow-template) - [MOC + Dataview guide](https://github.com/seqis/ObsidianMOC)