Audion Hub Manager — руководство
Audion Hub Manager — руководство
English · О программе · Решения · История
Содержание
- Первый запуск
- Завести проект
- Зеркало
- История в Git
- Удалённые репозитории и вход
- Восстановление
- Проверка после доработки
- Техническая часть
Как работать изо дня в день: завести проект, собрать зеркало, вести историю, подключить удалённый репозиторий, восстановиться из копии.
Первый запуск
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 и прочих исключённых файлах. В общие настройки они не попадают.
Что защищено безусловно
- исходник — от любой записи со стороны зеркала;
.git/**— от сканирования, удаления и обслуживания;- удаление в зеркале — при любой ошибке копирования или подсчёта сумм оно не
выполняется, и настройка, прежде это позволявшая, больше не действует;
- план зеркалирования — перед записью правила проверяются заново, чтобы
устаревший или отредактированный план не удалил ничего за пределами своей области.