Оновлення
Перехід наявного встановлення на новішу версію відбувається на місці - без нового налаштування.
Ваші секрети (.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) - оновлювач застосовує лише той коміт, який
оголосив.
Встановлення з zip
Section titled “Встановлення з zip”Встановлення без git-репозиторію не може підтягувати зміни; воно оновлюється розпакуванням нового zip, і банер так і каже. Процедура, з вашої теки встановлення:
# 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-newrsync -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 installsystemctl --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.