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

2.5 KiB
Raw Blame History

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 кредиты на Кракене.