Автоматическое логирование сессий Claude Code в Obsidian vault.
Работаешь с Claude Code в любом проекте — логи сессий автоматически сохраняются в Obsidian как markdown-заметки.
Ты работаешь с Claude Code (любой проект)
│
▼
PostToolUse hook → считает вызовы инструментов
│
▼ (5+ вызовов = сессия существенная)
Stop hook → напоминает Claude записать подробный лог
│
▼
Claude пишет лог → sessions/2024-03-15_14-30_my-project.md
│
▼
SessionEnd hook → создаёт заготовку если Claude не записал
│
▼
Открываешь Obsidian → видишь историю всех сессий
- Что было сделано (конкретные действия)
- Какие файлы изменены
- Ключевые решения и почему
- TODO на следующий раз
- Теги для поиска (#проект, #тема)
- Node.js v18+
- Claude Code CLI
- Obsidian (рекомендуется, но не обязательно — логи это просто .md файлы)
- Bash (Git Bash на Windows, встроенный на macOS/Linux)
git clone https://github.com/paradoxcalm/claude-code-to-obsidian.git
cd claude-obsidian-logger
bash install.shУстановщик спросит путь к Obsidian vault и сделает всё автоматически:
- Создаст структуру папок в vault
- Установит скрипты-хуки
- Настроит
~/.claude/settings.json - Добавит инструкции в
~/.claude/CLAUDE.md
bash install.sh ~/Documents/MyVaultbash install.sh /c/Users/YourName/Documents/MyVaultMyVault/
├── CLAUDE.md # Правила работы с vault
├── .claude/
│ └── skills/
│ └── obsidian-logger/
│ └── SKILL.md # Навыки работы с vault
├── sessions/ # ← Логи сессий (автоматически)
│ ├── 2024-03-15_14-30_my-project.md
│ ├── 2024-03-15_16-00_other-project.md
│ └── README.md
├── daily/ # Ежедневные заметки
├── notes/ # Заметки и идеи
├── projects/ # Проекты
├── archive/ # Архив
├── templates/ # Шаблоны (daily, meeting, project)
└── scripts/ # Скрипты хуков
├── log-session.sh
├── log-tools.sh
└── session-reminder.sh
| Хук | Событие | Что делает |
|---|---|---|
PostToolUse |
Каждый вызов инструмента | Пишет строку в .tool-log-ДАТА.txt (счётчик) |
Stop |
Claude закончил ответ | Если 5+ tool calls и лог не записан — впрыскивает напоминание [АВТОЛОГ] в контекст |
SessionEnd |
Выход из сессии | Создаёт заготовку лога если Claude не записал подробный |
- Короткие сессии (< 5 tool calls) — не трогает, не спамит
- Длинные сессии — Claude сам пишет подробный лог
- Защита от дублей — маркер-файл
.logged-SESSION_IDпредотвращает повторные напоминания
# Сессия: Добавлена авторизация через OAuth
**Дата:** 2024-03-15 14:30
**Проект:** my-app
**Директория:** /home/user/projects/my-app
## Что сделано
- Добавлен OAuth2 flow через Google
- Создана таблица users в БД
- Написаны тесты для auth middleware
## Изменённые файлы
- `src/auth/oauth.ts` — новый модуль авторизации
- `src/db/migrations/001_users.sql` — миграция
- `src/middleware/auth.ts` — middleware проверки токена
- `tests/auth.test.ts` — тесты
## Ключевые решения
- Выбран OAuth вместо JWT — требование заказчика
- Refresh token хранится в httpOnly cookie
## TODO
- [ ] Добавить авторизацию через GitHub
- [ ] Rate limiting на /auth endpoints
#сессия #my-app #auth #oauthПосле установки в vault создаётся .obsidian-logger.json:
{
"min_tool_calls": 5,
"log_retention_days": 30,
"language": "ru",
"canvas": false,
"daily_notes": true,
"stale_threshold_days": 5
}| Параметр | По умолчанию | Описание |
|---|---|---|
min_tool_calls |
5 |
Минимум tool calls для срабатывания напоминания |
log_retention_days |
30 |
Через сколько дней удалять технические файлы (.tool-log-*, .logged-*, .reminded-*) |
language |
ru |
Язык логов и напоминаний (ru, en, zh) |
canvas |
false |
Визуальная карта проекта в формате Obsidian Canvas (.canvas) |
daily_notes |
true |
Автоматическая запись сессий в daily notes |
stale_threshold_days |
5 |
Дней без активности для предупреждения о "забытом" проекте |
project_roots |
{} |
Ручная привязка путей к именам проектов |
context_injection |
true |
Автоматическая инъекция контекста при старте сессии |
bash tests/test-install.shТесты создают временные директории и не трогают ваш ~/.claude.
bash uninstall.shУдаляет хуки из settings.json и секцию из CLAUDE.md. Vault и заметки не удаляются.
- Dataview — SQL-подобные запросы по заметкам
- Tasks — управление задачами
- Templater — продвинутые шаблоны
Все сессии за последнюю неделю:
```dataview
TABLE file.cday as "Дата"
FROM "sessions"
WHERE file.cday >= date(today) - dur(7 days)
SORT file.cday DESC
```Все TODO из сессий:
```dataview
TASK FROM "sessions"
WHERE !completed
```Q: Работает ли на macOS / Linux? A: Да. Скрипты написаны на bash + node, работают везде.
Q: Что если я не использую Obsidian? A: Логи — обычные .md файлы. Можно открывать в любом редакторе, VS Code, Notion (импорт), etc.
Q: Хуки замедляют Claude Code? A: Нет. Скрипты выполняются за ~50мс (запись строки в файл).
Q: Можно ли отключить временно?
A: Удали или закомментируй хуки в ~/.claude/settings.json.
Q: Лог пишется на русском. Как сменить язык?
A: Отредактируй ~/.claude/CLAUDE.md — замени "на русском" на нужный язык.
MIT