Пошаговая инструкция: одно хранилище на компьютере и сервере, база знаний по методу Карпати и память между Telegram, терминалом и другими интерфейсами.
схема: компьютер → GitHub → сервер → GitHub → компьютер
3 контурасинхронизация, знания и разговоры
1 хранилищеодни Markdown-файлы для человека и Hermes
Все интерфейсыTelegram, CLI и Dashboard одного профиля
Подготовим инструкцию именно для вас
Сначала выясним, есть ли у вас GitHub, затем соберём три значения. После этого все команды ниже станут готовыми — ничего исправлять вручную не придётся.
без паролей и токенов
Шаг 1 из 3. Выберите свой компьютер
i
Зачем спрашиваем: на Windows и Mac по-разному устанавливаются программы, открываются папки и запускается окно для команд. Дальше вы увидите только подходящие действия.
У вас уже есть аккаунт GitHub?
GitHub — это сайт, через который одна и та же папка памяти будет доступна компьютеру и серверу.
Создаём бесплатный аккаунт GitHub
💡
Что мы сейчас делаем: создаём личный аккаунт. Зачем: в нём будет закрытая папка с файлами памяти. Посторонние её не увидят.
Нажмите кнопку «Открыть регистрацию GitHub» — сайт откроется в новой вкладке.
Введите свою электронную почту и придумайте пароль. Пароль сохраните в своём менеджере паролей, а не в этой инструкции.
В поле Username придумайте логин латинскими буквами. Например: anna-petrova. Запомните его — он понадобится на следующем шаге.
Завершите регистрацию и подтвердите электронную почту в письме от GitHub.
Вернитесь на эту страницу и нажмите «Аккаунт создан».
Что мы сейчас делаем: собираем адреса, из которых страница составит персональные команды. Никакие пароли здесь не нужны.
Логин из поля Username, без символа @Где посмотреть логин?
Откройте GitHub и нажмите на аватар справа вверху. Логин написан под именем. Если адрес страницы выглядит как github.com/anna-petrova, ваш логин — anna-petrova.
Четыре группы цифр, разделённые точкамиГде взять IP-адрес?
Откройте личный кабинет хостинга → раздел VPS → выберите сервер. Скопируйте значение из строки «IP-адрес». Это не адрес сайта и не пароль.
В большинстве случаев оставьте rootКак проверить?
Посмотрите на начало строки терминала сервера. В root@server пользователь — root. В anna@server пользователь — anna. Нужно слово слева от @.
Эти названия уже выбраны за вас
Репозиторий и папка памяти будут называться hermes-memory-vault. Менять их не нужно.
Заполните логин GitHub и корректный IP-адрес сервера.
Шаг 3 из 3. Проверяем результат
✓
Что мы сейчас делаем: проверяем адреса до начала установки. Зачем: одна ошибка в логине или IP испортит все последующие команды.
Логин GitHub
IP сервера
Пользователь сервера
Репозиторийhermes-memory-vault
Команда подключения
Папка на сервере
✓ Данные сохранены в браузере
ℹ️
Obsidian устанавливается только на компьютер. На сервере находится обычная папка с Markdown-файлами. Hermes читает и изменяет её без графического приложения Obsidian.
Obsidian на компьютеречеловек читает и редактирует
↔
Приватный GitHubпередаёт версии файлов
↔
Папка на серверес ней работает Hermes
часть 1
Компьютер → GitHub → сервер
Создаём одно хранилище, отправляем его в приватный репозиторий и подключаем к серверу.
Устанавливаем Obsidian
Obsidian — программа, в которой вы будете видеть и редактировать файлы памяти как обычные заметки.
Откройте сайт obsidian.md/download и нажмите кнопку скачивания для Windows.
Откройте папку Загрузки и дважды нажмите на файл с окончанием .exe.
Дождитесь установки. Затем откройте меню Пуск, напишите Obsidian и запустите программу.
Откройте сайт obsidian.md/download и скачайте версию для macOS.
В Finder откройте Загрузки и дважды нажмите на файл с окончанием .dmg.
В открывшемся окне перетащите значок Obsidian в папку Applications / Программы.
Нажмите Command + Пробел, напишите Obsidian и нажмите Enter.
Что должно получиться
Открыто стартовое окно Obsidian с кнопками создания или открытия хранилища. Папку памяти мы создадим на следующем шаге.
Если программа не открывается, не переходите дальше. На Mac откройте «Системные настройки → Конфиденциальность и безопасность» и разрешите запуск. На Windows проверьте, завершилась ли установка, и снова найдите Obsidian через «Пуск».
Создаём папку памяти
Сейчас создаём обычную папку hermes-memory-vault. Obsidian будет показывать файлы из неё как базу заметок.
В стартовом окне Obsidian нажмите «Создать новое хранилище».
В поле с названием вставьте hermes-memory-vault.
Нажмите «Обзор» рядом с расположением папки.
Слева в Проводнике выберите Документы, затем подтвердите выбор.
Слева в Finder выберите локальную папку Документы. Не выбирайте «Программы» и не выбирайте «iCloud Drive → Документы».
Нажмите «Создать». Obsidian откроет пустое окно новой базы заметок.
Что получилось
На компьютере появилась папка «Документы → hermes-memory-vault». Пока она находится только на вашем компьютере и ещё не связана ни с GitHub, ни с сервером.
Устанавливаем GitHub Desktop
GitHub Desktop — программа-переносчик. Она замечает изменения в папке памяти и отправляет их в закрытое хранилище GitHub.
Откройте desktop.github.com/download и скачайте версию для Windows.
Запустите скачанный файл из папки «Загрузки» и дождитесь открытия GitHub Desktop.
Откройте desktop.github.com/download и скачайте версию для macOS.
Откройте файл из «Загрузок», перетащите GitHub Desktop в Applications / Программы и запустите его.
Нажмите Sign in to GitHub.com. Откроется браузер.
Войдите в тот GitHub-аккаунт, логин которого указали в форме. Разрешите браузеру вернуться в GitHub Desktop.
В GitHub Desktop выберите File → Add local repository, затем нажмите Choose… и выберите уже созданную папку Документы/hermes-memory-vault.
Если программа пишет, что это ещё не репозиторий, нажмите ссылку create a repository. Название не меняйте.
Нажмите Publish repository, включите Keep this code private и подтвердите публикацию.
Как проверить
В GitHub Desktop сверху выбрано «hermes-memory-vault», а на сайте GitHub появился закрытый репозиторий с таким же названием и отметкой Private.
!
Пароль GitHub, токены и ключи никогда не кладём в папку памяти.
Добавляем служебный файл .gitignore
Этот файл говорит GitHub Desktop, какие временные файлы Obsidian не нужно переносить. Самостоятельно печатать его содержимое не придётся.
В GitHub Desktop откройте меню Repository и выберите Show in Explorer на Windows или Show in Finder на Mac. Откроется именно папка hermes-memory-vault.
Переместите скачанный файл .gitignore из «Загрузок» в открывшуюся папку.
Если файл с точкой не виден в Finder, нажмите Command + Shift + точка. Это включает показ скрытых файлов.
Вернитесь в GitHub Desktop. Слева появится изменение .gitignore. Внизу нажмите Commit to main, затем сверху Push origin.
Что должно получиться
В GitHub Desktop написано «No local changes», а на странице репозитория GitHub виден файл .gitignore.
Подключаемся к серверу
Сейчас откроем на вашем компьютере окно для команд и войдём на удалённый сервер. До входа команды выполняются на компьютере; после входа — уже на сервере.
Нажмите Пуск, напишите PowerShell и откройте «Windows PowerShell».
Появится строка примерно PS C:\Users\ВашеИмя>. Скопируйте готовую команду и вставьте её сочетанием Ctrl + V.
Нажмите Command + Пробел, напишите Терминал и нажмите Enter.
Появится строка примерно ВашеИмя@MacBook ~ %. Скопируйте готовую команду и вставьте её сочетанием Command + V.
команда для входа
Нажмите Enter. Если впервые появится вопрос с окончанием yes/no, напишите yes и снова нажмите Enter.
Когда появится строка password:, введите пароль от сервера и нажмите Enter. Во время ввода не видно ни букв, ни точек, ни звёздочек — это нормально.
Последняя строка начинается с имени серверного пользователя и заканчивается знаком # или $. Теперь вы находитесь внутри сервера.
«Permission denied» означает, что не подошёл пользователь или пароль. Сначала проверьте IP, имя пользователя и пароль в кабинете Beget. «Connection timed out» обычно означает неверный IP или проблему соединения.
Создаём отдельный ключ для GitHub
Этот ключ нужен серверу, чтобы забирать и отправлять изменения в приватный репозиторий. Он не является паролем от аккаунта GitHub.
Сначала указываем Git, какой ключ использовать для GitHub:
доступ к GitHub
При первом подключении сервер спросит, доверяете ли вы адресу GitHub. Введите yes. После успешной проверки клонируйте репозиторий:
клонирование
Проверяем путь компьютер → сервер
На компьютере создайте в Obsidian файл test-from-computer.md, затем выполните Commit и Push в GitHub Desktop. На сервере запустите:
проверка получения файла
В списке должен появиться файл test-from-computer.md.
Проверяем путь сервер → компьютер
Создадим тестовую заметку на сервере и отправим её обратно:
отправка с сервера
В GitHub Desktop нажмите Fetch origin, затем Pull origin. Файл появится в Obsidian.
часть 2
Организуем базу знаний по методу Карпати
Hermes уже содержит навык LLM Wiki. Он превращает папку Markdown в связанную, растущую базу знаний.
Указываем Hermes путь к базе
Команда добавит переменную WIKI_PATH в настройки того пользователя, под которым запущен Hermes:
путь базы знаний
Создаём каркас памяти
Запустите Hermes командой hermes, затем отправьте ему этот запрос:
запрос для Hermes
🧠
Три главных файла:SCHEMA.md объясняет правила, index.md показывает, что уже известно, log.md хранит последние изменения.
Добавляем правило обязательного чтения
Создаём проектную инструкцию, которую Hermes будет видеть при работе из этой папки:
.hermes.md
Отправляем структуру на компьютер
После того как Hermes создаст файлы, фиксируем изменения:
сохранение структуры
На компьютере нажмите Fetch/Pull в GitHub Desktop. В Obsidian появятся папки базы, индекс и журнал.
часть 3
Связываем память разных интерфейсов
Telegram, терминал и Dashboard должны использовать один профиль Hermes и один файл истории state.db.
Проверяем пользователя сервиса
Команда покажет, от какого пользователя работает gateway:
диагностика сервиса
⚠️
Если сервис работает от одного пользователя, а Hermes в терминале запускается от другого, у них разные память и история. Команды CLI нужно запускать после sudo -iu .
Ищем раздельные базы сессий
Эта диагностическая команда ничего не изменяет. Она только показывает, сколько файлов state.db существует:
проверка истории
В списке сессий должны встречаться источники telegram, cli и другие используемые интерфейсы.
Проверяем встроенную память
Выполните команды от того же пользователя и в том же профиле, что использует gateway:
память Hermes
MEMORY.md и USER.md
Короткие ключевые факты, загружаемые в новую сессию.
state.db и session_search
Полные разговоры из Telegram, CLI и других источников.
Перезапускаем gateway и начинаем новую сессию
Память и проектные инструкции загружаются при создании сессии. После настройки перезапустите сервис:
перезапуск
В Telegram создайте новую сессию командой /new.
Проводим перекрёстный тест
1В Telegram принять конкретное решение по тестовому проекту.
2В терминале запустить Hermes от того же пользователя.
3Спросить: «Какое решение мы приняли в Telegram?»
4Проверить, что Hermes сначала использовал session_search.
5Попросить зафиксировать итог в базе знаний.
6Открыть новую сессию Telegram и спросить об итоге.
автоматизация
Синхронизация сервера каждые 10 минут
Сначала обязательно проверьте ручной обмен в обе стороны. Затем можно включить безопасный сценарий.
Создаём сценарий синхронизации
hermes-vault-sync.sh
⚠️
Если один и тот же файл одновременно изменить на компьютере и сервере, Git может остановиться из-за конфликта. В начале работы придерживайтесь правила: один файл в один момент редактирует либо человек, либо Hermes.
Добавляем расписание
Команда удалит старую строку этого же задания, если она существует, и добавит запуск раз в 10 минут:
cron
готовность
Итоговая проверка
Что проверяем
Правильный результат
Файл с компьютера
Появляется на сервере после Pull
Файл с сервера
Появляется в Obsidian после Fetch/Pull
База Карпати
Есть SCHEMA.md, index.md, log.md и связанные страницы
Пользователь Hermes
Gateway и CLI работают от одного пользователя
Прошлые разговоры
Telegram и CLI видны в hermes sessions list
Новая сессия
Hermes ищет прошлое через session_search, затем читает wiki
✓
Единая память Hermes настроена
Obsidian хранит понятную человеку базу, GitHub передаёт её между компьютером и сервером, а единый профиль Hermes связывает разговоры из разных интерфейсов.