Документация
Быстрый старт
От зависимостей рабочей области до окна рабочего стола, поддерживаемого настоящей локальной вспомогательной программой.
Автоматически переведено с английского. Смотреть оригинал на английском
Требования
Установщики и проверка исходников разные
Опубликованная сборка настольного компьютера находится на страница загрузки. Это руководство устанавливает репозиторий и запускает desktop:dev. Читать Установить когда вместо этого вам нужны артефакты выпуска.
В рабочей области объявляется Bun 1.4.4 в качестве менеджера пакетов. Используйте файл блокировки репозитория для установки зависимостей. Для разработки собственных настольных систем также требуется набор инструментов Rust, зависимости сборки платформы Tauri и установленное системное веб-просмотр. Tauri CLI уже является зависимостью разработки настольных компьютеров.
- macOS: Инструменты командной строки Xcode для связывания и упаковки Rust/native.
- Окна: набор инструментов MSVC и необходимые условия среды выполнения/сборки WebView2.
- Линукс: WebKitGTK 4.1, индикатор приложения, librsvg, OpenSSL и инструменты связывания. Рабочий процесс CI записывает пакеты, используемые в Ubuntu.
- iOS-компаньон: macOS, Xcode, CocoaPods и собственная сборка Expo, содержащая локальный модуль закрепления.
Предварительная версия браузера требует наличия зависимостей Bun и рабочей области, но не компилирует оболочку Rust. Установщику выпуска дополнительно требуется конфигурация подписи; это отдельно от локальной разработки пользовательского интерфейса.
Установить зависимости
bun install
bun run --filter @cadcamfun/desktop typecheck
bun test packages/core Установите один раз в корень рабочей области, чтобы локально workspace:* зависимости разрешаются вместе. CI использует bun install --frozen-lockfile чтобы отклонить дрейф файла блокировки. Используйте сценарии пакета для выбора настроенного компилятора репозитория, а не предполагайте, что каждый пакет использует один и тот же исполняемый файл TypeScript.
Целевые команды, приведенные выше, обеспечивают быструю проверку источника. Полные проверки рабочего пространства bun run typecheck и bun run test; они охватывают больше модулей и могут занять больше времени. Отдельный пакет прохождения не доказывает, что все интеграции среды выполнения настроены.
Настройка базы данных
Реальный рабочий стол не требует отдельной команды миграции CLI. Его средство запуска предоставляет каталог данных приложения и осуществляет поэтапную миграцию в вспомогательную версию; открытие базы данных применяет ожидающие миграции. bun run desktop:dev размещает ресурс миграции в рамках подготовки дополнительного модуля.
Инструмент командной строки базы данных является отдельным. bun run db:migrate делегирует пакет базы данных и по умолчанию ./data/cadcamfun.db относительно каталога процесса этого пакета, обычно packages/db/data/cadcamfun.db при вызове через корневой скрипт. Установите абсолютный DATABASE_URL когда вам нужно настроить таргетинг на конкретную базу данных.
bun run db:generate
bun run db:migrate Поколение читает packages/db/src/schema.ts и пишет миграции под packages/db/drizzle. Применение миграции обновляет выбранную базу данных CLI, а не каждую базу данных приложения. Собственные данные рабочего стола хранятся в каталоге данных приложения Tauri; сайдкар, запускаемая вручную, использует CADCAMFUN_DATA_DIR.
Выбирайте базу данных осознанно
Успешная миграция CLI не меняет базу данных, которую открывает рабочий стол. Найдите каталог дополнительных данных, прежде чем исследовать недостающие проекты или выполнять операцию с данными вручную.
Откройте рабочий стол
bun run desktop:dev При этом компилируется настоящая сайдкар Bun и выполняется миграция, а затем запускается Tauri. Таури запускает Vite в http://localhost:1420 и открывает веб-просмотр. Оболочка Rust ожидает готовности рукопожатия сайдкара; веб-просмотр проверяет работоспособность перед отображением маршрутизируемых экранов.
Держите стартовый терминал открытым. Оболочка владеет жизненным циклом сайдкара и предоставляет ей токен запуска и пути. Если запуск не удался, проверьте причину загрузки и журналы приложений. Веб-представление повторяет попытку обнаружения конечной точки в течение 150 секунд; оболочка допускает один автоматический перезапуск сайдкара.
bun run --filter @cadcamfun/desktop dev Открыть http://localhost:1420. Без VITE_SIDECAR_URL, здесь используется поддельный API в памяти. Он поддерживает подмножество запросов и не предоставляет постоянные проекты, сеансы поставщиков или собственные диалоги. Подключитесь к действующей боковой панели, задав URL-адрес боковой панели Vite и переменные процесса токена.
Пакет настольных компьютеров tauri:dev скрипт создает заглушку, когда двоичный файл отсутствует. Заглушка поддерживает изоляцию оболочки. Предпочитаю корень desktop:dev команда при работе служб приложений.
bun run desktop:dev первые запуски build:sidecar, который компилирует вспомогательную программу и осуществляет миграцию (этапы конвейера compile и resources). Затем начинается tauri dev в настольном пакете.
Проверка первого сеанса
- Подождите, пока приложение покинет экран загрузки, и убедитесь, что оно подключено к нужному API.
- Создайте или откройте проект и введите CAD или CAM.
- Сохраните работу и снова откройте ее через пользовательский интерфейс проекта/ресурса, чтобы проверить сохранение.
- При использовании помощника настройте поддерживаемого поставщика моделей в настройках рабочего стола, прежде чем начинать разговор.
- При использовании компаньона iOS включите его шлюз и создайте сопряжение устройств на рабочем столе.
Проверка видимого пути не подтверждает безопасность обработки. Прежде чем передавать выходные данные ЧПУ на станок, проверьте запасы, инструменты, пределы станка, результаты пост-вывода и результаты проверки фактической операции.
bun run --cwd packages/web start
bun run --cwd packages/web check
bun run --cwd packages/web build Интернет start команда запускает Astro. Используйте его напечатанный локальный адрес. Интернет dev скрипт дополнительно запускает Studio API, который может открыть выбранную локальную базу данных; используйте его при работе в Studio, а не только в статической документации.
Следующие команды
| Цель | Команда |
|---|---|
| Скомпилируйте только Sidecar и выполните поэтапную миграцию. | bun run build:sidecar |
| Создайте интерфейс без установщиков | bun run build:desktop |
| Просмотрите собственный план сборки | bun scripts/build.ts --dry-run |
| Регенерация клиентов API | bun run generate |
| Проверка сгенерированных клиентов | bun run generate:check |
| Запустите сопутствующие транспортные тесты | bun run --cwd apps/mobile test |
Проверьте реальный API без модели
Запустите вспомогательную версию вручную, описанную в локальном руководстве по разработке, или используйте конечную точку/токен процесса разработки, которым вы управляете. Следующий рецепт создает один одноразовый проект и выводит его список. Ему нужен завиток; при дополнительном извлечении идентификатора используется Bun. Замените примерный порт и токен на порт и токен вашей изолированной сайдкара.
CADCAM_URL=http://127.0.0.1:43111
CADCAM_TOKEN=local-development-token
curl --fail-with-body "$CADCAM_URL/api/health"
curl --fail-with-body -X POST "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN" -H 'Content-Type: application/json' -d '{"name":"Documentation smoke","description":"Disposable local check","isPublic":false}' -o /tmp/cadcamfun-project-smoke.json
curl --fail-with-body "$CADCAM_URL/api/projects" -H "Authorization: Bearer $CADCAM_TOKEN"
CADCAM_PROJECT_ID=$(bun --no-env-file -e 'const row = await Bun.file("/tmp/cadcamfun-project-smoke.json").json(); console.write(row.id)')
curl --fail-with-body "$CADCAM_URL/api/projects/$CADCAM_PROJECT_ID" -H "Authorization: Bearer $CADCAM_TOKEN" Health возвращает объект статуса/временной метки. Создание проекта возвращает HTTP 201 и строку проекта с его идентификатором. Листинг возвращает массив проектов с отношениями между владельцем и организацией и их количеством; чтение по идентификатору возвращает один такой связанный проект. В примере не вызывается модель и не генерируется машинный вывод.
Аккуратно закройте вспомогательную версию вручную, перезапустите ее с тем же каталогом данных, обновите временный URL-адрес и снова перечислите проекты, чтобы проверить постоянство. Новый запуск может выбрать другой порт. Если этот проект отсутствует, сначала сравните каталог данных, конечную точку клиента и контекст авторизации.
Очистка необязательна и разрушительна для этого одноразового проекта: отправить DELETE /api/projects/<id> только после подтверждения возвращенного идентификатора. Создание/список/чтение сохраняемого приложения для упражнений без необходимости очистки для успеха.
Интерпретация ошибок при первом запуске
| Отказ | Вероятная граница | Следующее действие |
|---|---|---|
| Установка зависимостей не может разрешить локальный пакет | Установка рабочего пространства | Запускаем из корня репозитория с заявленной версией Bun и файлом блокировки. |
| Собственная ссылка или ошибка WebKit | Предпосылки Тельца | Установите библиотеки инструментов/платформы, используемые соответствующей целью CI. |
| Нет готового мероприятия | Конфигурация Sidecar, миграция или запуск | Проверьте stderr и событие структурированной ошибки. Держите стандартный ввод открытым. |
| Здоровье работает, вызов проекта возвращает 401 | Авторизация | Здоровье является общественным; защищенным вызовам API по-прежнему требуется текущий токен процесса. |
| Создать возвраты 400 | Запрос проверки/проверка бизнеса | Отправьте JSON с непустым именем и проверьте возвращенное сообщение. |
| Создать возвраты 403 с данными организации | Членство в организации | Используйте доступную организацию или опустите поле организации для локальной проверки. |
| Родной компаньон говорит, что закрепление недоступно | Отсутствует локальный модуль Expo | Используйте специальную сборку iOS, а не Expo Go. |
Первая проверка должна быть небольшой: работоспособность, один проект, один сохраненный рисунок/программа, затем дополнительные интеграции. При успешном запуске базового приложения Stripe, поставщики искусственного интеллекта, удаленный репозиторий GitHub или мобильная маршрутизация не настраиваются автоматически.
Подробности требований
| Инструмент | Версия | Требуется для |
|---|---|---|
| Bun | 1.4.4 (файл репозитория packageManager) | Всё: установка, тесты, сайдкар, скрипты |
| Набор инструментов Rust + необходимые условия Tauri | стабильный; библиотеки веб-просмотра платформы в Linux | Оболочка рабочего стола (desktop:dev, строит) |
| SQLite CLI | любой | Необязательно: проверка базы данных только для чтения. |
| Xcode | — | Только для iOS-компаньона |
Ваш первый час, шаг за шагом
git clone https://github.com/nikomatt69/cadcamfun.git
cd cadcamfun
bun install --frozen-lockfile
bun run typecheck # all workspaces
bun run test # bun test packages apps scripts
bun run desktop:dev # builds the sidecar + migrations, then tauri dev - Когда окно откроется, статус сайдкара станет готовым в течение нескольких секунд; новый каталог данных переносится при первом запуске.
- Создайте проект, добавьте рисунок, нарисуйте прямоугольник и выдавите его.
- Откройте CAM, выберите тело и сгенерируйте. Перед экспортом NC проверьте уровень выпуска и претензии.
- Откройте панель истории и зафиксируйте: теперь у проекта есть первая версия.
Ключ модели не требуется
Все вышеперечисленное работает без провайдера ИИ. Добавьте ключ позже в настройках помощника.