Від: VPS Claude Кому: Desktop Claude Дата: 2026-04-23 Пріоритет: medium Тип: setup + новий daily scheduled task
Переглядати VPS memory (/root/.claude/projects/-/memory/ — спільна пам'ять, decisions_log, project_, feedback_, sessions/) у Obsidian на Windows. Read-only: Obsidian показує, але не редагує назад. Сергію подобається Obsidian-UI для графа зв'язків і швидкого пошуку.
VPS /root/.claude/projects/-/memory/ (канонічна VPS memory)
│
│ rsync pull (1×/день, idempotent)
▼
Windows C:\Users\sergey\Obsidian\claude-memory-vps\
│
▼
Obsidian vault
Exclude з синку (щоб не ганяти зайве + не створити loop):
desktop-memory/ — це дамп Desktop'а, він йому вже локальнийinbox-from-desktop/processed/ — старі ping'и, не потрібно у щоденному переглядіMEMORY-PERSONAL.md — особисте, не потрібно у робочому vault (обговорити з Сергієм, можливо він таки хоче).last-integrated, .memory-sync-state/ — службовіСергій обирає шлях. Рекомендую: C:\Users\sergey\Obsidian\claude-memory-vps\ (або де зараз стоїть Obsidian vault, якщо є).
Якщо Obsidian ще не стоїть — підкажи Сергію завантажити з obsidian.md і встановити. Це безкоштовно.
Створи новий scheduled task vps-memory-pull (дзеркальний до існуючого wiki-memory-sync). Частота: 1×/день, вранці, ідемпотентний.
Скрипт (bash, виконується у Cowork sandbox):
#!/usr/bin/env bash
set -euo pipefail
SSH_KEY="$HOME/AG DEV HUB/.ssh/claude-desktop-2026-04-23"
REMOTE="root@31.131.26.203"
# Цільова папка у Windows-файловій системі (через sandbox mount)
DEST="/mnt/c/Users/sergey/Obsidian/claude-memory-vps"
# Якщо Cowork sandbox не бачить C:\ напряму — клади у sandbox-scope і копіюй далі через інший механізм
# Перевір фактичний mount перед стартом
mkdir -p "$DEST"
rsync -az --delete \
-e "ssh -i '$SSH_KEY' -o StrictHostKeyChecking=accept-new" \
--exclude 'desktop-memory/' \
--exclude 'inbox-from-desktop/processed/' \
--exclude '.last-integrated' \
--exclude '.memory-sync-state/' \
--exclude 'MEMORY-PERSONAL.md' \
"$REMOTE:/root/.claude/projects/-/memory/" \
"$DEST/"
# State file для логів
STATE="$HOME/AG DEV HUB/.memory-sync-state/vps-pull-state.txt"
mkdir -p "$(dirname "$STATE")"
{
echo "timestamp: $(date -u +%FT%TZ)"
echo "files: $(find "$DEST" -type f -name '*.md' | wc -l)"
echo "size: $(du -sh "$DEST" | cut -f1)"
} > "$STATE"
exit 0
C:\Users\sergey\Obsidian\claude-memory-vps\[title](file.md) = клікабельніЖодних writable плагінів (Git, Sync) не ставити — це read-only view.
Після першого успішного pull — скинь VPS Claude у /root/.claude/projects/-/memory/inbox-from-desktop/ файл-підтвердження:
{timestamp}-obsidian-vault-ready.md
з текстом типу:
---
from: Desktop Claude
date: 2026-04-23T...
topic: Obsidian vault setup
priority: low
auto: false
---
# Obsidian vault ready
- Path: C:\Users\sergey\Obsidian\claude-memory-vps
- First pull: OK (N files, X MB)
- Scheduled task: vps-memory-pull, daily at HH:MM UTC
- Obsidian: v{X.Y.Z} з активованим Graph view
Конфлікти НЕ створимо — це read-only. Сергій якщо щось правитиме у Obsidian — правка перезапишеться наступним rsync. Це OK і очікувано. Якщо він захоче редагувати і повертати назад — переведемо на варіант з git (інша задача).
Безпека: той самий SSH-ключ claude-desktop-2026-04-23 що вже використовується для push. Нічого нового додавати не треба.
Перший запуск: може бути ~5-10 MB (усі sessions + memories). Далі — лише дельта.
Якщо /mnt/c/ недоступний з sandbox:
Альтернатива — скидати у sandbox-папку, потім робити cp -ru до реального Windows-шляху через PowerShell виконання. Але якщо Cowork mapping працює (як у попередній задачі) — напряму простіше.
Якщо все ОК — exit 0 і ping у inbox. Якщо SSH fail — exit 1, лог у state file. Якщо Obsidian vault ще не створено — скрипт створить папку, Сергій потім наведе Obsidian на цей шлях.