Files
obsidian-vault/personal/projects/personal-os/kraken-obsidian-write-bug.md
T

34 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Bug: Kraken Cannot Write to Obsidian Vault
**Date**: 2026-05-14
**Status**: Fixed ✅ (2026-05-14)
## Root Cause (confirmed)
mcpvault возвращает `Permission denied` по двум причинам:
1. **Папка не существует** в sparse checkout — mcpvault не создаёт субдиректории
2. **Ownership mismatch** — Hermes/mcpvault внутри контейнера работает как `hermes` (uid=10000), vault принадлежит `kraken` (uid=1000), права `755` → запись запрещена
## Fix Applied
1. Созданы все нужные папки в vault (Eagle → push на NAS → Кракен pull):
- `personal/inbox/`, `personal/plans/`, `personal/documents/`, `personal/instructions/`, `personal/projects/`
2. `chmod -R a+w ~/obsidian/personal ~/obsidian/family` на хосте Кракена
3. В `sync-vault.sh` добавлен `chmod -R a+w` после каждого pull — чтобы права восстанавливались на новых файлах
4. SOUL.md обновлён — явно перечислены все пути в `personal/`
## Open: Image Handling
Отдельная проблема обнаружена при попытке сохранить фото из Telegram в inbox.
**Что произошло**: Gemini API кончились кредиты (HTTP 429) → fallback на OpenRouter (gpt-oss-120b, minimax-m2) → эти модели не умеют vision → ошибка "No endpoints found that support image input"
**Желаемое поведение**: агент должен уметь работать с изображениями на уровне ФС в зависимости от контекста:
- Если нужно распознать/проанализировать → пустить в vision-capable модель
- Если нужно просто сохранить → положить файл в `personal/inbox/` и записать заметку со ссылкой на путь
- Если модель не умеет vision → не падать, а сохранить файл и сообщить агенту путь
**Что нужно в Hermes**: при `image_routing` добавить режим `save_to_fs` — сохранить файл локально, передать агенту путь вместо байтов. Агент сам решает что делать по контексту.
**Текущий workaround**: пополнить Gemini API кредиты на Кракене.