AudionAudion

Audion Hub Manager — руководство

USER_GUIDE_RU.md

Audion Hub Manager — руководство

English · О программе · Решения · История

Содержание

Как работать изо дня в день: завести проект, собрать зеркало, вести историю, подключить удалённый репозиторий, восстановиться из копии.

Первый запуск

launcher_gui.cmd

Окно открывается в браузере на локальном адресе. Если портативного рантайма нет, соберите его:

install\Build_Portable_Env.cmd

Программа открывается даже с испорченным реестром проектов: уцелевшие записи сохранятся, а о проблеме будет сказано в окне вывода. Пустой реестр даёт временный проект, указывающий на саму программу, — окно откроется, и настройки можно поправить изнутри.

Завести проект

Проект — это не папка, а комплект из трёх путей и правил к ним:

чтозачем
исходникживой проект, единственный источник правды
зеркалоотфильтрованная копия со своим Git
документынеобязательный слой заметок и описаний
профилькакие файлы проходят в зеркало и в коммит
веткас какой веткой работают команды Git

Список проектов вверху переключает весь комплект разом.

Есть общая папка с двумя десятками проектов? Не делайте её одним проектом. Нажмите сканирование: программа найдёт настоящие корни внутри, включая вложенные вида Проект/Проект, и заведёт каждый отдельной записью. После этого проекты переключаются по одному.

Реестр засорился — записи с исчезнувшими путями, дубли, остатки примеров? Поддержка → Очистить реестр. Чистится только список: папки проектов, зеркала и документы не трогаются.

Зеркало

Работа в два приёма — и это главное правило безопасности.

Сначала посмотреть план:

launcher_cli.cmd --mirror-preview <project_id> --json

Потом применить осознанно:

launcher_cli.cmd --mirror-apply <project_id> --apply --json

Без --apply команда останется предпросмотром, если профиль так велит. Это намеренно: зеркало умеет удалять свои файлы, и «случайно применилось» — не та история, которую хочется однажды услышать.

В зеркало проходит только разрешённое профилем. Рантаймы, кэши, логи, сборки, двоичные вложения, локальные переопределения и секреты остаются снаружи.

Сверка

Проверить зеркало — сверка исходника и зеркала по контрольным суммам, только чтение. Слепки строятся в памяти, результат ложится одним датированным файлом в logs/<project_id>/. Ни исходник, ни зеркало, ни документы служебных файлов не получают.

Отдельная кнопка проверяет, что счёт идёт настоящим BLAKE3, а не запасным SHA-256.

Слой документов отдельно не сверяется: его техническая копия уже в зеркале.

История в Git

Программа работает с обычными репозиториями — своим у исходника и своим у зеркала. Первый нужен для живой разработки и редактора, второй — как чистая история отфильтрованной копии.

Широкий git add . для зеркала не годится. В коммит идёт только то, что пропустил бы профиль. Иначе смысл фильтрации теряется на первом же коммите.

Хорошее имя коммита говорит, что изменилось:

docs(hub): projection v0.1.17 — обновлено меню сборщика

Версия ставится руками. Это намеренно: автоматическая нумерация слишком легко плодит шум и ложную важность.

Повседневный оборот закрыт целиком: состояние, сравнение, подготовка и запись, метки, ветки и переключение, отложенные правки, история и граф, восстановление, обслуживание. Редкое и опасное осталось явными заготовками — их надо осознанно выполнить, а не нажать между делом.

Удалённые репозитории и вход

Программа не хранит токены. Вход делегирован обычным средствам:

gh auth login
glab auth login
ssh -T git@github.com
ssh -T git@gitlab.com

Пароли для HTTPS живут в диспетчере учётных данных, ключи — в ssh-agent. Если вы уже вошли где-то ещё, отправка и приём работают без ведома программы.

Адрес удалённого репозитория собирается кнопками: платформа в верхнем ряду (GitHub, GitLab, Codeberg, Forgejo, Gitea, свой сервер), вид доступа во втором (ключ или токен). Для трёх последних появляются поля адреса и порта — облачным платформам они не нужны.

Свой сервер Forgejo или Gitea

Учётная запись подключается обычным для этих серверов способом: личный токен доступа из настроек приложений. Программа проверяет его запросом к серверу и передаёт вашему помощнику учётных данных; в файлы проекта токен не попадает. Дальше отправка берёт его из хранилища сама, а кнопки показывают учётную запись, список репозиториев и позволяют завести новый.

Известные адреса серверов лежат в config/forgejo_hosts.json — без токенов.

Обычный день на двух машинах

машина A: записать → пометить → отправить
машина B: получить с очисткой → принять только перемоткой

Получение обновляет сведения об удалённых ветках, не трогая ваши файлы. Приём перемоткой продвигает текущую ветку, когда вы этого хотите.

Восстановление

Исходник потерян, зеркало живо:

robocopy "<зеркало>\<Проект>" "<корень>\<Проект>" ^
  /E /COPY:DAT /DCOPY:DAT /R:1 /W:1 /XJ

Дальше пересобрать рантайм или релизные сборки, если они нужны. Восстановится то, что проходило фильтр, — всё остальное в зеркало и не попадало.

Проверка после доработки

python -m compileall -q system_core
python -m pytest -q tests
python system_core\ui_nicegui\app.py --smoke

Опорное значение: 121 passed.


Техническая часть

Окно

Слева — открытие: проект, зеркало, папка документов, редактор, терминал, Git. Терминал открывается в исходнике; Git — в корне репозитория и сразу показывает краткое состояние.

Справа — вкладки в два ряда:

вкладкао чём
Частоелокальные команды Git: начать, состояние, корень, краткий журнал
Веткисостояние и сравнение веток, переключение, метки, слияние, откат, перенос
РедакторMarkdown и текст: открыть, сохранить, отправить в VS Code
Сравнениечто изменилось
Хранилищепрофили, проверка безопасности
Удалённыеадреса, отправка, приём, вход
Корзинасборка понятного коммита
Чтениепросмотр документов
Историяжурнал и граф
Подробностисведения о выбранном

Действия над реестром

Пересобрать список, предпросмотр зеркал по всем проектам, клонирование исходника, проверка безопасности по всем, сверка по всем, состояние Git по всем, общая рабочая область.

После проверки состояния по всем проектам значок показывает сводку: сколько проектов, сколько чистых, сколько с изменениями, где ошибки.

Пути и файлы

config/projects.json              реестр проектов
config/projection_profiles.json   профили фильтрации
config/forgejo_hosts.json         адреса своих серверов, без токенов
logs/<project_id>/                отчёты сверки

Машинные настройки — в *.local.json, .env и прочих исключённых файлах. В общие настройки они не попадают.

Что защищено безусловно

выполняется, и настройка, прежде это позволявшая, больше не действует;

устаревший или отредактированный план не удалил ничего за пределами своей области.

All projects