Перейти до вмісту

Оновлення

Перехід наявного встановлення на новішу версію відбувається на місці - без нового налаштування. Ваші секрети (.env.local), ваша конфігурація (agents.config.json), ваші дані (~/.maven, сховище (vault) Obsidian), ваші входи в CLI (claude / codex / hermes / …) і локальні рушії (~/wm-engine, ~/openseo) лишаються точно там, де були. Замінюється лише вихідний код застосунку.

Оновлювач усередині застосунку

Section titled “Оновлювач усередині застосунку”

Коли доступна новіша версія, з’являється банер оновлення. Він показує версію і що змінилося. Версія - це авторитет: банер пропонує оновлення лише тоді, коли віддалена версія справді новіша, тож він ніколи не пропонує відкат на старішу.

Натисніть Update. M.A.V.E.N підтягує оголошений коміт, ставить залежності через npm ci --ignore-scripts, збирає й перезапускається. Перебіг показується в оверлеї; коли все завершиться, сторінка перезавантажується вже на новій версії. Збірка, що не вдалася, відкочується до попередньої робочої збірки.

Заплановані перевірки виконуються двічі на день - типово о 09:00 і 21:00 за місцевим часом, обидві години налаштовуються в Settings → Updates. Перевірка лише показує банер. Автоматичні оновлення типово вимкнені; якщо їх увімкнути, оновлення застосовується щонайбільше раз на UTC-добу і лише коли віддалена версія новіша.

Для приватного репозиторію оновлювачу потрібен токен із правом читання в .env.local: спершу він читає GITHUB_MAVEN_UPDATE, потім GITHUB_TOKEN, потім GH_TOKEN. Токен передається git через GIT_CONFIG_*, ніколи - в командному рядку, тож він не може витекти в логи.

Ручний node scripts/self-update.mjs потребує попереднього Check now (або --expect-sha= / --allow-unverified) - оновлювач застосовує лише той коміт, який оголосив.

Встановлення без git-репозиторію не може підтягувати зміни; воно оновлюється розпакуванням нового zip, і банер так і каже. Процедура, з вашої теки встановлення:

Terminal window
# 1) Stop the running app - pick the line for YOUR OS.
systemctl --user stop maven # Linux (systemd)
# launchctl unload -w ~/Library/LaunchAgents/com.maven.app.plist # macOS (launchd)
# Stop-ScheduledTask -TaskName MAVEN # Windows (PowerShell)
# … no autostart? just stop your `npm run dev` / `npm start` process.
# 2) Back up your secrets.
cd ~/maven && cp .env.local ~/maven-env-$(date +%Y%m%d).bak 2>/dev/null || true
# 3) Swap in the new source. --delete removes files REMOVED in the new version
# (renamed apps); the --exclude list protects your local-only files.
unzip -oq ~/maven-<VERSION>.zip -d /tmp/maven-new
rsync -a --delete \
--exclude='.env.local' --exclude='.env.*' --exclude='agents.config.json' \
--exclude='node_modules' --exclude='.next' --exclude='.git' \
--exclude='.claude' --exclude='generated' --exclude='*.tsbuildinfo' \
/tmp/maven-new/maven-<VERSION>/ ~/maven/
rm -rf /tmp/maven-new
# 4) Refresh deps and restart.
cd ~/maven && npm install
systemctl --user restart maven # Linux
# launchctl load -w ~/Library/LaunchAgents/com.maven.app.plist # macOS
# Start-ScheduledTask -TaskName MAVEN # Windows

Немає rsync? unzip -o ~/maven-<VERSION>.zip -d /tmp/mv && cp -a /tmp/mv/maven-<VERSION>/. ~/maven/ оновлює й додає файли, але залишає видалені на місці (зазвичай нешкідливо). На Windows для shell-команд використовуйте Git Bash або WSL.

Після перезапуску відкрийте http://localhost:3000; якщо щось виглядає не так, читайте логи - journalctl --user -u maven -f (Linux), ~/.maven/maven.err.log (macOS) або історію Scheduled Task (Windows).

Оновлення з ≤ 6.15.x - реліз безпеки (прочитати один раз)

Section titled “Оновлення з ≤ 6.15.x - реліз безпеки (прочитати один раз)”

Користуєтеся M.A.V.E.N лише на цій машині (127.0.0.1 / localhost)? Вам нічого робити не потрібно. Ні PIN, ні нового екрана, ні налаштувань для зміни.

Оновлення виконується саме, і на самій машині нічого не ламається. post-update робить разову міграцію: .env.local і копії облікових даних стають 0600, боти 3D-Forge отримують секрет хука, а звіт називає, де лежить віддалений PIN. Що ви можете помітити:

У вас було… Після оновлення
M.A.V.E.N лише на цій машині Нічого не змінюється. Тепер існує PIN для віддалених хостів (~/.maven/access-pin, також у Settings → Security) - на той день, коли він знадобиться.
M.A.V.E.N відкритий через Tailscale / LAN без PIN Цей хост один раз спитає PIN: введіть той, що в Settings → Security → Reveal (або cat ~/.maven/access-pin). Хост запам’ятовується; сесія живе 30 днів.
Задано MAVEN_ACCESS_PIN=…, у браузері вже розблоковано Ваша cookie розблокування приймається один раз і перевидається; хост запам’ятовується. Ваш PIN так само діє скрізь (і на loopback) - перемкніть режим у Settings → Security, якщо хочете loopback відкритим.
Задано MAVEN_ACCESS_PIN=…, cookie сплила / новий пристрій Екран розблокування на тому хості; ваш PIN працює; хост запам’ятовується.
PIN коротший за 8 символів Усе ще працює; лог один раз попередить. Змініть його в Settings → Security.
Консоль OpenCode з автопідтвердженням Тепер вона питає дозволи. MAVEN_CHAT_PERMISSION_MODE=bypass повертає стару типову поведінку. Автономні застосунки (OpenMontage, цілі Hermes, Loop, Pipeline) не змінилися.
Дні важкої генерації Стеля 25 USD/день по всіх платних рушіях; підніміть її в Settings → Security або через MAVEN_DAILY_SPEND_USD.
Проєкти VC-Forge поза вашими домашніми теками Наявні проєкти працюють далі; нові потрапляють у сховище / ~/Projects / ~/Documents / ~/Desktop / ~/Obsidian (або MAVEN_VCFORGE_DIR).
R-Forge / N-Forge отримували URL localhost або з LAN Тепер відмовляють; MAVEN_ALLOW_PRIVATE_FETCH=1, якщо це було навмисно.
Telegram-боти 3D-Forge Перепрошиваються автоматично. Якщо бот відповідає «hook refused», виконайте node scripts/gforge/setup-swarm-3d.mjs --all.
npm run dev -- -H 0.0.0.0 Не робіть так. Використовуйте Tailscale / тунель + Settings → Security → Allowed hosts.

Повний довідник: Безпека й віддалений доступ.

Нотатки до старіших версій

Section titled “Нотатки до старіших версій”

Перестрибуєте кілька версій за раз? Виконайте загальну процедуру один раз до цільової версії, а потім прочитайте проміжні нотатки в UPDATE.md у репозиторії. Ті, що досі кусаються:

  • 6.12.5-6.12.7 → новіша - старий оновлювач спотикався на .next/cache під час перейменування. Розірвіть петлю один раз: cd ~/maven && rm -rf .next/cache && node scripts/self-update.mjs, або вручну git pull && npm install && npm run build.
  • ≤ 6.5 → новіша - Course Gen і Maven-Slides стали P-Forge; /coursegen і /slides перенаправляють. /vibecoding перенаправляє на VC-Forge, /mineru на D-Forge → MinerU, /seo на SEO-Forge.
  • ≤ 6.13 → новіша - сторінки консолей окремих моделей стали одним Chat; Music, Thumbnails, OpenMontage і Video Editor - це вкладки M-Forge.

Ваші файли зберігаються

Section titled “Ваші файли зберігаються”

Оновлення повертає відстежувані файли до стану релізу, але ваші власні не чіпає: agents.config.json (тристороннє злиття, якщо реліз теж його змінив), .env.local, усе в ~/.maven, сховище та входи в CLI.