[2026-05-15] obsidian-vault-strategy: add cross-domain enrichment use cases + Project 4

This commit is contained in:
Alexey Martemyanov
2026-05-15 16:35:16 +06:00
parent e4e7ffd8d5
commit cd3e0b4a0c
@@ -202,6 +202,94 @@ On schedule → periodic lint, consolidation
**Цель:** агент сам инициирует исследования исходя из профиля и пробелов в wiki.
**Архитектура:**
```
User Profile (интересы, проекты, домены, семья)
Gap Detector (читает wiki, находит слабосвязанные области)
Hypothesis Generator (формирует вопросы для исследования)
Research Queue (приоритизированный список)
Autonomous Research Runs (по расписанию, по одному вопросу)
Results → wiki/inbox → review
```
---
### Проект 4: Cross-domain Enrichment Agent
**Цель:** агент берёт личные списки, читает user profile, обогащает данными из внешних источников.
**Первые три target notes:**
**Target A: `personal/documents/app-ideas.md`**
```
Триггер: добавлена новая идея (git change detection) или еженедельно
Процесс:
1. Читает каждую идею без тега "analyzed"
2. YC search (corralm/yc-scraper или web search "site:ycombinator.com [keyword]")
3. ProductHunt search по ключевым словам
4. Web search конкурентов
5. Сохраняет: personal/projects/app-analysis/[slug].md
- Existing solutions (кто, когда, funding)
- Differentiation opportunities
- Market gaps
- Verdict: "ниша занята / частично / свободна"
6. Добавляет тег "analyzed" + ссылку на анализ в app-ideas.md
```
**Target B: `family/documents/kids-activities.md` + `family/documents/games-wishlist.md`**
```
Триггер: еженедельно или при изменении файлов
Процесс:
1. Читает kids-activities + games-wishlist
2. Читает user-profile.md (возраст ребёнка, интересы, темперамент)
3. Cross-links: добавляет wikilinks между файлами
4. Фильтрует games-wishlist: "подходит для совместной игры с [возраст]"
5. External search: "co-op games dad and [age] year old", "best games for [interest]"
6. Сохраняет: family/projects/kid-games-together.md
- Текущие игры из списка (отфильтрованные, с объяснением)
- Новые рекомендации с обоснованием по профилю
- Разбивка по типу (кооп / соревновательные / обучающие)
```
**Target C: `family/documents/movies-watchlist.md`**
```
Триггер: еженедельно
Процесс:
1. Читает watchlist, находит фильмы без рейтинга/жанра
2. OMDB API / web search → добавляет жанр, год, рейтинг
3. Строит "похожие фильмы" список по просмотренным
4. Обновляет frontmatter watchlist
```
**User Profile** (создать `wiki/user-profile.md`):
```markdown
## Alex
- Интересы: home automation, Swift/iOS, AI agents, cycling, music production
- Текущие проекты: personal-os, executor, media-toolbox
## Ребёнок
- Возраст: [заполнить]
- Интересы: [заполнить]
- Игровой стиль: [заполнить]
- Что работает хорошо: [заполнить]
## Семья
- [заполнить]
```
**Стек:** Hermes cron + web toolset + terminal (git change detection) + obsidian MCP
**Оценка:** 1-2 недели на первые три target notes
---
**Цель:** агент сам инициирует исследования исходя из профиля и пробелов в wiki.
**Архитектура:**
```
User Profile (интересы, проекты, домены)
@@ -263,6 +351,93 @@ Results → wiki/inbox → review
---
---
## Часть 5a — Расширенные use cases (твои примеры)
Это отдельный класс задач — **cross-domain enrichment с внешними данными**. Не просто накопление знаний, а агент который берёт твои личные данные и обогащает их внешним контекстом.
### Use case 1: Идеи приложений → конкурентный анализ
```
family/documents/app-ideas.md (список идей)
↓ агент читает каждую идею
↓ ищет по YC directory (5800+ компаний, есть scraper API)
↓ ищет по AngelList / Crunchbase / ProductHunt
↓ ищет по ключевым словам в web
↓ генерирует competitive landscape
↓ сохраняет в personal/projects/app-analysis/[idea-slug].md
```
**Что войдёт в анализ:**
- Существующие решения (кто, когда основан, funding)
- Дифференциаторы (что делают иначе)
- Незакрытые ниши
- Инсайты: "похожих YC компаний нет в этой вертикали"
**Источники данных:**
- YC: `https://www.ycombinator.com/companies` — scraper доступен (corralm/yc-scraper, Browse AI)
- ProductHunt: API есть
- Google/web search по ключевым словам идеи
---
### Use case 2: Активности с ребёнком × игры × психологический профиль
Это самый сложный и ценный use case — **multi-source cross-reference с профилем**.
```
family/documents/kids-activities.md ← "игры с ребёнком"
family/documents/games-wishlist.md ← список игр
wiki/user-profile.md ← профиль Alex + ребёнок (возраст, интересы, что работает)
Enrichment Agent
1. Cross-link: kids-activities → games-wishlist (wikilinks + Dataview)
2. Filter games: возраст ребёнка + совместная игра + интересы
3. External search: "co-op games for dad and [age] year old"
4. Психологический профиль (если есть заметки) → учитывает стиль обучения, темперамент
5. → family/projects/kid-games-together.md
- Список из текущих игр (отфильтрованный)
- Новые рекомендации из внешних источников
- Почему каждая игра подходит (по профилю)
```
**Ключевой паттерн:** агент не просто ищет — он **читает профиль и фильтрует под конкретного человека**. Это и есть разница с обычным Google поиском.
---
### Общий паттерн: Personal Context → External Signal → Insight
```
Личные данные в vault
+ User Profile (возраст ребёнка, интересы, предпочтения)
+ External APIs (YC, ProductHunt, Steam, RAWG, IMDB...)
Enrichment Agent (по триггеру или расписанию)
Enriched note в vault (cross-links + внешние данные + insights)
```
**Другие возможные use cases по этому паттерну:**
- `movies-watchlist.md` → рекомендации похожих фильмов по жанрам + IMDB рейтинг → enriched watchlist
- `books-reading-list.md` → Goodreads/OpenLibrary → что похожего, порядок чтения, тематические связи
- `places-to-visit.md` → OpenStreetMap/маршруты → "эти места рядом, оптимальный маршрут"
- `home-automation-wishlist.md` → Home Assistant community → что уже реализовано, как интегрировать с нашим стеком
- Профиль инвестора/карьеры → Job boards / LinkedIn signals
---
### Триггеры обогащения
Три способа запускать enrichment:
1. **По добавлению** — новая запись в app-ideas → автоматически запускает анализ
2. **По расписанию** — раз в неделю проходит по спискам, обновляет что устарело
3. **По запросу** — "проведи анализ моих идей приложений"
---
## Что НЕ нужно делать
- ❌ Task 3b в wiki-curation (убрать)