32 KiB
created, updated, tags, status
| created | updated | tags | status | |||||
|---|---|---|---|---|---|---|---|---|
| 2026-05-15 | 2026-05-16 |
|
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.
Три операции:
- Ingest — дропаешь источник, агент создаёт/обновляет 10-15 wiki pages
- Query — агент читает index.md, находит нужные pages, даёт ответ со ссылками
- 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 schemaPostToolUse→ auto-commit if files changedStop→ 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, …
└── …
Шаги
- ✅ Убрать Task 3b из wiki-curation промпта — сделано 2026-05-16
- ✅ Добавить frontmatter + aliases на 24 файла documents/ — сделано 2026-05-16
- ✅ Создать enrichment cron (воскресенье 03:00) — запущен 2026-05-16
- Пересобрать
family/index.mdиpersonal/index.mdкак топик-карты (кластеры вместо плоских списков) - Обновить промпт enrichment воркера: читать index как карту, линковать по ней, дополнять при находке новых кластеров — никакого хардкода в промпте
- Создать
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.mdcompanion файле, исходник не трогает - 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.) → мониторинг новых открытий → периодический дайджест "что открылось, что стоит попробовать"
Триггеры обогащения
- По изменению — новая запись в списке → автоматически запускает анализ (git diff)
- По расписанию — раз в неделю проходит по спискам, обновляет что устарело
- По запросу — "проведи анализ по этой теме"
Проект 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 (сейчас)
- Пройти по всем записям MEMORY.md
- Записи про media-pipeline (bugs, §9.x, транслит, KP rate limit, Docker cmd) → создать
wiki/tech/media-pipeline-pitfalls.md, в MEMORY.md оставить короткий pointer - Удалить записи про пофикшенные баги (они уже в истории сессий)
- Проверить USER.md — убрать устаревшее
- После: 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