ObsidianDataWeave: NotebookLM, Atomization, and LLM Wiki · git:20260704.627066e · 2026-07-04 · sha256 f321cb8d1b8d6280

ObsidianDataWeave: NotebookLM, Atomization, and LLM Wiki git:20260704.627066eA

Immutable. This exact content never changes and is served at /api/v1/blob/f321cb8d1b8d6280.

---
id: obsidian-dataweave
name: 'ObsidianDataWeave: NotebookLM, атомизация и LLM Wiki'
summary: >-
  Скилл KISA: превращает Claude Code / Codex в пульт NotebookLM + импорт .docx с
  Zettelkasten-атомизацией + скомпилированный LLM Wiki-слой + FTS5-память по всему
  Obsidian vault. Всё программно, всё в твой vault, без внешних зависимостей поиска.
type: skill
author: kisa
recommended: false
added: 2026-07-04
tags: [obsidian, notebooklm, zettelkasten, llm-wiki, fts5, memory, notes]
source: https://github.com/howdeploy/ObsidianDataWeave
description: >-
  Use when the user wants to control NotebookLM programmatically, import .docx into an
  Obsidian vault as atomic Zettelkasten notes, build a compiled LLM Wiki layer, or
  full-text-search the whole vault. Claude Code and Codex both supported.
license: MIT
---

# ObsidianDataWeave

Превращает Claude Code и Codex в полноценный пульт управления NotebookLM и твоим Obsidian
vault. Запускаешь deep research, управляешь источниками, вытаскиваешь заметки из нотбуков —
всё одной командой на естественном языке. Параллельно импортирует `.docx` из Google Drive и
атомизирует их в Zettelkasten-заметки с MOC, тегами и вики-ссылками. Поверх — изолированный
**LLM Wiki**-слой (скомпилированная база по Карпати), и **FTS5-память** — полнотекстовый
индекс всего vault без единой внешней зависимости. Публичный: `howdeploy/ObsidianDataWeave`, MIT.

Оба клиента поддержаны: Claude Code (скилл) и Codex (`AGENTS.md`).

## Четыре слоя

1. **NotebookLM → Obsidian.** Программный контроль NotebookLM через `notebooklm-py` как
   библиотеку (не CLI — строго one-shot, без retry-дупликации). Deep/fast research, управление
   источниками, дедуп, извлечение заметок и атомизация в vault.
2. **.docx → Obsidian.** Импорт из Google Drive (rclone) → парс → атомизация → запись.
3. **LLM Wiki.** Скомпилированная вики поверх атомарных заметок: накапливается через явный
   merge (не RAG, не пересчёт на каждый запрос), связана `[[вики-ссылками]]`.
4. **FTS5-память.** Локальный полнотекстовый индекс всего vault на stdlib SQLite, bm25 +
   сниппеты, обновляется сам после каждой записи. Поиск для агентов.

## Установка

```bash
git clone https://github.com/howdeploy/ObsidianDataWeave.git
cd ObsidianDataWeave
bash install.sh --vault-path "/путь/к/вашему/vault"
```

Установщик проверит Python 3.10+, поставит зависимости (`python-docx`, `pyyaml`), создаст
`config.toml` с путём к vault, зарегистрирует навык глобально в `~/.claude/skills/obsidian-dataweave/`
и допишет блок в `~/.claude/CLAUDE.md`. После установки навык работает из любой директории.

Режимы: `--mode claude` (по умолчанию), `--mode codex` (проверка `AGENTS.md`), `--mode local`
(только зависимости + config). Обновление идемпотентно: `git pull && bash install.sh`.

## Как пользоваться

После установки просто говоришь агенту на естественном языке:

| Что сказать | Что произойдёт |
|---|---|
| `process МойДокумент.docx` | Скачать → разобрать → атомизировать → записать в vault |
| `обработай заметку "Название"` | Enrich или atomize существующей заметки |
| `обработай контакты "Контакты"` | Заметка с контактами → персональные карточки + Networking MOC |
| `запусти ресерч в ноутбуке "<id>" "<запрос>"` | Deep research в NotebookLM через API |
| `почисти дубли в ноутбуке "<id>"` | Дедуп источников в нотбуке |
| `создай вики "<slug>"` | Скелет новой LLM Wiki-space (project/corpus, RU/EN) |
| `собери вики "<slug>"` | Скомпилировать сырьё в страницы (guard на `[[wikilinks]]`) |
| `найди в заметках "<запрос>"` | FTS5-поиск по всему vault (bm25 + сниппеты) |

Режимы обработки: **Enrich** (короткая заметка → теги/ссылки/расширение, 1→1), **Atomize**
(длинная → атомарные заметки + MOC, 1→N), **Contacts** (контакты → карточки + Networking MOC).

## LLM Wiki

Третий слой знаний — скомпилированная вики в стиле Карпати. Живёт в изолированной папке
`<vault>/LLM Wiki/<slug>/`; атомарные заметки туда не попадают. Накапливается через явный
merge: существующие `[[вики-ссылки]]` обязаны сохраняться, иначе compile падает с
`WIKI_LINKS_LOST`. Два режима: **project** (фиксированные core-страницы: overview,
architecture, components, workflows, glossary…) и **corpus** (растут только entities/concepts).

```bash
python3 scripts/wiki_init.py demo --mode project --title "Demo Project"
python3 scripts/wiki_ingest.py demo path/to/article.md --kind articles
python3 scripts/wiki_compile.py demo --since-last-compile
python3 scripts/wiki_lint.py demo --strict
```

Все скрипты пишут через единственный writer `vault_writer.py` — атомарные пайплайны и wiki
делят одну точку записи.

## NotebookLM: первый вход

Сессия Google сохраняется в `~/.notebooklm/storage_state.json` — вход одноразовый.
```bash
python3 -m venv .venv
.venv/bin/python scripts/notebooklm_setup.py --skip-login
# в ОТДЕЛЬНОМ окне терминала (нужен настоящий TTY):
.venv/bin/notebooklm login   # войти в Google в Chromium → вернуться → ENTER
```
Дальше: `process_notebook.py <notebook_id>` (id — последний сегмент URL нотбука),
`research_notebook.py run "<id>" "<query>" --mode deep`.

## Требования

- Python 3.10+ (рекомендуется 3.11+), [rclone](https://rclone.org/) с доступом к Google Drive
  (для `.docx`), Claude Code или Codex.
- SQLite с FTS5 (stdlib `sqlite3`) — отдельная СУБД не нужна; проверяет `doctor.py`.
- **Плагины Obsidian:** [Local REST API](https://github.com/coddingtonbear/obsidian-local-rest-api)
  (HTTP-интерфейс к vault) + [MCP Obsidian](https://github.com/MarkusPfundstein/mcp-obsidian)
  (MCP-мост Claude Code ↔ Obsidian).

Смежное: [NotebookLM++](https://github.com/howdeploy/notebooklmplusplus) — Chrome-расширение
для массового импорта источников в NotebookLM (веб, YouTube, плейлисты, PDF-снимки).