Skip to content

RU docs operations

rkfsociety edited this page Oct 21, 2026 · 1 revision

Запуск и эксплуатация CADYX

Русский · English · Документация

Локальный запуск

Целевая платформа — Windows x64. Нужны PowerShell 7+, CMake и MSVC C++ Build Tools. Установка загружает проверяемые по хешам архивы в игнорируемый .runtime/ и собирает нативные мосты OCCT и Open3D. Версии закреплены в scripts/runtime-versions.json; при их изменении проверяйте актуальные стабильные выпуски. Production-код Python не требует pip-пакетов.

Команды выполняются из корня репозитория:

.\scripts\setup-runtime.ps1
.\.runtime\python\python.exe -m cadyx

Откройте локальный интерфейс. После переноса checkout повторите установку для обновления пути встроенного Python. Перед пересборкой нативных DLL остановите хосты. Другие платформы требуют отдельной сборки и не считаются проверенными.

Порт и каталог проектов задаются через --port, --projects-dir или CADYX_PORT, CADYX_PROJECTS_DIR; адрес — через --host / CADYX_HOST. По умолчанию хост слушает loopback. projects/ содержит пользовательские данные, исключённые из Git: резервное копирование моделей, исходников и сканов выполняется отдельно.

Аутентификация и локальная сеть

Для адреса вне loopback обязателен токен не короче 32 непробельных символов. Используйте один источник: CADYX_AUTH_TOKEN либо UTF-8-файл через --auth-token-file / CADYX_AUTH_TOKEN_FILE.

$env:CADYX_AUTH_TOKEN = & .\.runtime\python\python.exe -c "import secrets; print(secrets.token_urlsafe(32))"
.\.runtime\python\python.exe -m cadyx --host 0.0.0.0

API принимает Authorization: Bearer <token>. Браузер использует HTTP Basic: имя cadyx, пароль — тот же токен. Токен нельзя передавать в URL. При включённой защите авторизация нужна для интерфейса, проектов, файлов, изображений, команд, блокировок и SSE. Только GET /api/v1/health доступен без авторизации и возвращает минимальную готовность сервера.

HTTP не шифруется. Сетевой режим предназначен для доверенной частной сети; для недоверенных сетей нужны TLS или доверенный VPN. Не открывайте HTTP-порт напрямую в Интернет. См. безопасность.

Фоновый хост Windows

.\scripts\manage-host-task.ps1 -Action Install
.\scripts\manage-host-task.ps1 -Action Status
.\scripts\manage-host-task.ps1 -Action Restart

Задача запускается при входе текущего пользователя Windows, независимо от терминала и Codex, через pythonw.exe без консольного окна на 127.0.0.1:8888. Планировщик отслеживает процесс и перезапускает его при сбое. Журналы: %LOCALAPPDATA%\CADYX\host.stdout.log и host.stderr.log, с ротацией при запуске. Используется projects/ текущего checkout.

Доступны -Action Stop и -Action Uninstall. После переноса checkout или пересборки среды повторите Install для обновления путей и перезапуска.

Интеграция с агентом

Входная точка правил — AGENTS.md, моделирование описано в CADYX Operator. Агент работает через Agent API и общий Command System; браузер служит для наблюдения, состояние хранит Core.

После установки среды и запуска хоста откройте доверенный checkout в Codex. Локальная конфигурация запускает .runtime/python/python.exe -m cadyx.mcp_server без общих настроек пользователя и абсолютных путей. UTF-8 сохраняет кириллицу в stdio Windows. Проверка регистрации:

codex mcp list

Для защищённого хоста задайте CADYX_API_TOKEN_FILE с путём к защищённому файлу токена; допустима также переменная процесса CADYX_API_TOKEN. Не записывайте токены в Git и аргументы команд. После первого включения конфигурации перезапустите MCP-серверы Codex или откройте новый чат.

MCP-адаптер не предоставляет shell, произвольный HTTP или прямую запись модели. GET /api/v1/agent/capabilities описывает доступные маршруты и команды; значения окончательно проверяет Core. Обычная MCP-команда использует /commands/execute: сервер получает и освобождает блокировку вокруг одной команды с проверкой expected_revision. Не удерживайте дополнительную блокировку для такого вызова.

По умолчанию инспекция компактная; cadyx_inspect_project_full запрашивает полную модель и историю. Большие ответы читайте постранично. PNG-инструменты дают изображение для визуальной проверки. cadyx_stop_agent_work останавливает дальнейшие действия после завершения принятой атомарной команды и проверки сохранённого состояния.

AgentRuntime принимает адаптер протокола AgentProvider; адаптер конкретного поставщика модели не поставляется. Механизм расширений описан в архитектуре. Поддержку команды проверяйте по реестру возможностей и результату её выполнения.

Проверки и CI

Проверка выбирается по области изменений. Полная нативная проверка требует Windows и установленных SDK. Команды полной проверки:

.\.runtime\python\python.exe -m unittest discover -s tests -v
.\.runtime\python\python.exe -m compileall -q cadyx tests scripts
.\scripts\setup-runtime.ps1 -WithNode
$nodeVersion = (Get-Content scripts/runtime-versions.json -Raw | ConvertFrom-Json).node.version
$node = ".\.runtime\node-v$nodeVersion-win-x64\node.exe"
& $node tests/test_viewport.cjs
& $node tests/test_scanner_camera.cjs
& $node tests/test_ply_preview.cjs

Source-job без нативных SDK проверяет Python, пути контрактов, версии схем, согласованность discovery/MCP, события и миграции. Windows-job после него проверяет нативную сборку, запуск, Python и браузерные тесты. Кешируются только повторно проверяемые архивы, не готовые DLL или SDK-деревья.

Статические проверки запускаются в отдельной обычной среде Python, а не production embedded runtime:

python -m pip install -r requirements-dev.txt
python -m ruff check .
python scripts/check-static-types.py
python -m unittest discover -s tests -p test_source_contracts.py -v
python -m unittest discover -s tests -p test_static_quality.py -v

Mypy проверяет код постепенно; зелёный результат не означает проверку типов всей реализации. Не увеличивайте baseline динамических аннотаций для подавления ошибок. Канонические команды и настройки: CI, pyproject.toml, requirements-dev.txt. Обзор исходников не подтверждает прохождение нативных тестов.

Возможности и границы

Текущие версии: оболочка проекта v1, документ v12, граф сборки v3. Версию документа определяет cadyx/migrations.py. Документы v4–v11 описывают введённые тогда контракты; ограничения могли измениться позже.

Редактируемые OCCT B-rep включают эскизные тела, выдавливания, вращения, sweep/loft, булевы операции и обработку рёбер. Поддерживаются XY/XZ/YZ, CUSTOM и FACE, но отдельные операции сохраняют ограничения плоскостей. Параметры перестраивают зависимые элементы атомарно. См. карту контрактов.

Сборки содержат определения деталей, подсборки, жёсткие размещения, сопряжения и явные материалы. Размеры — в мм. Масса требует плотности с источником и подходящих B-rep; пересекающиеся объёмы экземпляров суммируются. Зазоры проверяются только в заданных дискретных положениях. Межпроектные ссылки, общая конверсия единиц, непрерывная динамика и STEP-экспорт сборки не входят в реализованный контракт.

Каталог содержит версионированные пресеты со SHA-256. Кольцевой профиль не является сертифицированным подшипником. Сторонний STEP должен быть заранее помещён в проект, закреплён хешем и сопровождаться подтверждением прав вызывающей стороной; CADYX не скачивает его и не проверяет лицензию независимо.

Точечный PLY остаётся облаком точек; сетка не становится B-rep автоматически. Полноразмерные исходники и промежуточные результаты сохраняются; отображаемая выборка их не заменяет. Физический масштаб требует проверки. UVC-захват Revopoint экспериментален; калибровка привязана к устройству, права на публичное распространение не подтверждены.

Публикация и лицензия

Исходный код CADYX — MIT; сторонние компоненты и данные сохраняют собственные условия. До изменения видимости, релиза или публичного развёртывания выполните проверки готовности. Документация не является разрешением на публикацию и не подтверждает прохождение тестов.

Clone this wiki locally