Назначение: Практическое руководство. Продукт: ShariX Open.
Для кого: Разработчик · Интегратор · Рецензент и приёмщик · Нейросеть.
Темы: Разработка → Исходный контекст · База знаний → Основания сведений.
Публичный репозиторий ShariX_Open/sharix-open-tz содержит загрузчик исходников ShariX Open. Он собирает ZIP для чтения кода разработчиком или нейросетью. В пакет можно включить графы связей кода и снимок публичной Wiki.
Загрузчик запускается на компьютере, где готовят архив. Он не устанавливает ShariX Open на сервер. Команды этой страницы относятся к публичному sharix-open-tz; у полного внутреннего TZ другой состав и интерфейс.
Каталог config/open-repositories.tsv публичного sharix-open-tz перечисляет исходники с указанной семьёй GPL/AGPL. Он не равен списку всех модулей, которые можно установить рядом с ShariX Open. Например, закрытый sharix-service-constructor не включается в публичный архив по признаку shared.
Проверять LICENSE и COMPLIANCE выбранной версии. Публичная доступность Git сама по себе не заменяет лицензию. В публичный пакет не добавляют:
Общий внутренний архив и публичный пакет имеют разные границы; внутренний пакет нельзя переименовать в публичный.
Снимок Wiki должен содержать публичные описания и допустимые записи о границе закрытых модулей. Если обнаружено описание внутреннего устройства закрытого компонента, его исправляют у источника, а не размножают по архивам. Детали закрытых компонентов запрашивают у ответственных Platform и хранят в intrawiki. Перечень — владение моделями.
Открыть терминал в корне актуального checkout sharix-open-tz. Сначала посмотреть справку и выбранные репозитории:
./tools/download_sharix_sources.sh --help ./tools/download_sharix_sources.sh --list
–list показывает состав без скачивания. Для получения исходников, графов и публичной Wiki выполнить:
./tools/download_sharix_sources.sh --with-knowledge --graphify-html --output-dir "$HOME/Downloads"
При успешном завершении в указанном каталоге появится sharix-open-context-YYYYMMDD-HHMMSS.zip. Для создания архива нужны доступ к публичным Git-репозиториям и инструменты, которые проверяет загрузчик. Актуальные требования находятся в его README и –help.
| Параметр | Результат |
|---|---|
| Без дополнительных параметров | Исходники и графы; снимок Wiki не добавляется. |
–with-knowledge | Добавить снимок публичной Wiki в knowledge/open.zip. |
–graphify-html | Кроме JSON и отчётов добавить HTML-представления графов для просмотра. |
–no-graphify | Явно собрать пакет без графов. Это отдельный режим, а не результат успешного графового анализа. |
–branch-all / –branch | Выбрать другую ветку для всех или отдельного репозитория. Имена и точный синтаксис — в –help. |
Graphify устанавливается на компьютере, создающем ZIP. Если его нет, интерактивный загрузчик предлагает установку и запрашивает согласие. Без терминала сообщает, как подготовить инструмент или явно выбрать режим без графов. Устанавливать Graphify в виртуальное окружение работающего Django и включать его Git hooks для получения этого архива не требуется.
| Путь | Содержимое и назначение |
|---|---|
README.txt | Порядок чтения полученного пакета. |
MANIFEST.tsv | Репозиторий, ветка, точный commit, адрес и сведения о лицензии для каждого исходного архива. |
sources/ | Отдельные ZIP репозиториев приложения. |
context/ | Архив публичного TZ. Исходные ZIP не содержат историю .git. |
knowledge/open.zip | Публичная Wiki, если выбран –with-knowledge. |
graphify/GRAPHIFY_INVENTORY.json | Какие репозитории проанализированы, их commits, пути графов и контрольные суммы. |
graphify/open/assembly/graph.json | Общий структурный граф кода ShariX Open. |
graphify/open/assembly/ui_design_graph.json | Обнаруженные связи интерфейса и дизайна на уровне сборки. |
graphify/open/assembly/UI_DESIGN_REPORT.md | Отчёт анализа интерфейса. При выборе HTML рядом создаётся ui_design.html. |
graphify/open/repositories/ | Результаты анализа отдельных репозиториев. Наличие и пути файлов проверяются по inventory. |
Отдельные виды графов зависят от содержимого репозитория. Например, анализ интерфейса не требует, чтобы в каждом репозитории был Python-код. Inventory показывает, что было получено или пропущено.
MANIFEST.tsv проверить версию репозитория. В GRAPHIFY_INVENTORY.json найти соответствующий граф.Разные графы показывают разные связи:
Стрелка на графе помогает выбрать место чтения, но не подтверждает, что этот путь выполнился на сервере или что пользователь имеет нужные права. Неразрешённая динамическая связь остаётся вопросом для проверки.
Загрузчик создаёт исходный ZIP и граф по одному выбранному временному Git checkout — одной полученной версии репозитория. При анализе проверяется, что отслеживаемые файлы не изменены инструментом. Старый сохранённый граф не подставляется вместо нового анализа; ошибка генерации не должна молча давать неполный пакет.
Если код изменился, для следующего анализа нужен новый пакет соответствующей версии. Переименование графа или ручная замена его хеша не обновляет содержание. Снимок Wiki также относится к моменту получения: текущая страница могла измениться позже.
Публичный загрузчик работает с публичным каталогом ShariX Open. Закрытый Git и внутренняя Wiki для него не требуются. В пакет не добавляются:
.env;Если публичный источник недоступен без авторизации, получение останавливается; личный токен в чат для исправления такой ошибки не передают.
Выбирать нужные страницы и исходники по вопросу, а не загружать весь пакет без разбора. Указывать версии, проверять найденные по графу места в коде и отделять неизвестное от результата. Человек должен получить конкретный вывод и способ дальнейшей проверки. Основания выводов описаны в правилах работы со сведениями, критерии проверки — в приёмке изменений.
Сверены опубликованные исходники. Это анализ кода, а не подтверждение успешной установки на конкретном сервере.