Перейти к содержанию
CADCAMFUN
Документы

Документация

Стек технологий

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

Автоматически переведено с английского. Смотреть оригинал на английском

Среда выполнения и сервисная среда

Корневой манифест выбирает bun@1.4.4 в качестве менеджера пакетов. Бун устанавливает рабочие области, запускает bun:test, введите проверки с помощью встроенного bun check, обслуживает сайдкар, предоставляет SQLite и API-интерфейсы хеширования паролей, а также компилирует двоичный файл дополнительного файла. Разработка внешнего интерфейса для настольных компьютеров использует Vite, а собственная упаковка — Rust и Tauri.

Использование служб приложений effect@4.0.0-rc.112. Один и тот же выпуск объявлен во всех рабочих областях, которые зависят от Effect, включая API, базу данных, ядро, рабочий стол, рабочий процесс и дополнительную версию. Корневые переопределения приводят пакеты платформы узла в соответствие с этой версией. Эффект предоставляет типизированные ошибки, схемы, контекст службы, уровни, параллелизм и API-интерфейсы HTTP.

В коде используется служебная форма v4. Context.Service и HTTP-модули в разделе effect/unstable. Документация, соответствующая версии, установлена по адресу packages/db/node_modules/effect/ai-docs/src/. Обеспечьте координацию обновлений зависимостей между потребителями.

База данных и контракты

Настойчивость использует drizzle-orm@1.0.0-beta.22 с bun:sqlite. Генерация миграции базы данных использует сопоставление drizzle-kit выпускать. Схема — TypeScript; созданные каталоги миграции содержат SQL и метаданные миграции, используемые во время обновлений.

Эффект HttpApi определяет контракт HTTP. Генератор кода рабочей области компилирует этот контракт в выходные данные клиента Promise и Effect. Zod также присутствует в зависимостях API и AI для интеграций, которые этого требуют; он не заменяет схемы границ HttpApi.

Рабочий стол и графика

На рабочем столе используется solid-js ^1.9.0, @solidjs/router ^0.15.0, vite ^7.0.0и CSS Tailwind 3. В рабочей среде используются элементы управления Kobalte, значки Lucid, редактирование Monaco и Chart.js там, где они необходимы соответствующим функциям.

В окне просмотра используется three ^0.180.0. Основная геометрия отделена от рендеринга; three-csg-ts и occt-import-js 0.0.23 поддержка дополнительных путей геометрии/импорта рабочего стола. Tauri v2 обеспечивает собственный доступ к API, диалоговые окна, операции оболочки, ведение журналов, интеграцию с ОС и интеграцию с программой обновлений через установленные плагины.

среда выполнения ИИ

@cadcamfun/ai булавки @nikcli-ai/sdk-next 1.428.0 и ai 7.0.127. Адаптеры прямых моделей включают Anthropic, OpenAI, поставщиков, совместимых с OpenAI, и шлюз AI SDK. Sidecar выбирает встроенный хост nikcli по умолчанию или прямой хост через CADCAMFUN_AI_HOST.

Инструменты приложений и схемы действий располагаются над транспортом поставщика. Смена поставщика не создает второй каталог действий. Подключение модели, учетные данные, отмена и поведение сеанса документированы в файле Справочник по ИИ.

Мобильная версия и документация

Мобильный манифест использует Expo ~57.0.27, Реагировать 19.2.3, Реагировать Нативный 0.86.3и Экспо-маршрутизатор ~57.0.25. Его собственный сопутствующий транспорт представляет собой собственный модуль. NativeWind, Reanimated, Gesture Handler, SecureStore и локальная аутентификация поддерживают мобильное приложение.

Этот сайт использует Astro ^5.14.1 с адаптером Cloudflare, интеграцией MDX и Tailwind. Страницы документации предварительно визуализируются; Assistant, Markdown, резервные маршруты Studio и маршруты артефактов выполняются на сервере. Локальный API Studio работает в Bun, поскольку он использует bun:sqlite.

Проверка типов использует встроенную программу проверки Bun, bun check, который считывает данные каждой рабочей области tsconfig.json и сообщает ту же диагностику, что и tsc. Диапазоны манифеста описывают разрешенные версии зависимостей; файл блокировки записывает установленное разрешение.

На сайте документации используется Astro 5 с адаптером Cloudflare, MDX и Tailwind (packages/web/package.json). Веб-просмотр рабочего стола достигает машинного кода через @tauri-apps/api v2.

Что работает в каждой среде

СредаКод, который он запускаетСоответствующее ограничение
Сайдкар на BunСервер/сервисы эффектов, Drizzle, bun:sqlite, клиенты-провайдеры, оркестровка рабочего процесса и истории.Браузер или Cloudflare Worker не могут напрямую заменить среду выполнения SQLite от Bun.
Веб-просмотр на рабочем столеСостояние и взаимодействие SolidJS, базовая геометрия, Three.js, клиент API.Для собственных операций требуются команды Tauri; Предварительный просмотр браузера предоставляет другую среду интеграции.
Ржавая оболочкаЖизненный цикл Tauri, собственное окно/меню/трей, безопасные команды, средство обновления.Успешная сборка Vite не создает и не проверяет собственный пакет приложений.
Заявка на выставкуЭкраны React Native и сопутствующий транспорт.В Expo Go отсутствует собственный модуль закрепления; Экспорт JavaScript не создает собственный установщик.
Документация CloudflareМаршруты сервера для Markdown, запросов помощника и артефактов руководства.Он не имеет неявного доступа к локальному дополнительному файлу или файлу SQLite; привязки и конфигурация серверной части являются явными.
Процесс локальной студииHTTP-сервер Bun и прямой доступ для чтения через выбранные таблицы Drizzle.Настроенная существующая база данных и сеанс учетной записи не зависят от обнаружения рабочих столов.

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

Закрепленные версии

СлойТехнологияВерсия (из манифестов пакетов)
Менеджер пакетов/время выполненияBun1.4.4 (packageManager)
Структура обслуживанияEffect4.0.0-rc.112 (все рабочие области с платформой-bun и opentelemetry в одной версии)
База данныхдождь-орм / дождь-комплект, bun:sqlite1.0.0-бета.22
Оболочка рабочего столаTauri2 (ржавые ящики и @tauri-apps/* ^2)
Настольный пользовательский интерфейсSolidJS, @solidjs/router, Кобальте^1.9.0, ^0.15.0, ^0.13.0
3Dтри.js, три-csg-ts^0.180.0, ^3.2.0
ШАГ импортаоккт-импорт-js0.0.23
Редактор кодамонако-редактор^0.57.0
БандлерVite^7.0.0
ИИai (Vercel AI SDK), @ai-sdk/anthropic, openai, шлюз, совместимость с openai, @nikcli-ai/sdk-next7.0.127, 4.0.71, 4.0.83, 4.0.103, 3.0.62, 1.428.0
Валидация (инструменты ИИ)зод^4.1.8
ТелеметрияOpenTelemetry SDK + экспортеры OTLP/HTTPaPI 1.9.1, SDK 2.12.0, экспортеры 0.223.0
мобильныйЭкспо, React Native, Реагировать~57, 0.86.3, 19.2.3
ДокументыAstro, Tailwind, адаптер Cloudflare, Wrangler^5.14.1, ^3.4.17, ^12.0.0, 4.103.0
Проверка типаBun bun check, TypeScript (только поддержка редактора)1.4.4, ^5.9.0
Задачи монорепотурбо^2.11.7

Ржавые ящики в оболочке рабочего стола

ЯщикИспользуется для
tauri (значок в трее, macos-private-api)Окна, лоток, IPC
tauri-plugin-shellЗапуск бинарного файла Sidecar
tauri-plugin-dialog, -fs, -openerСредства выбора файлов, доступ к файлам, пути открытия и URL-адреса
tauri-plugin-updaterПодписанные обновления в приложении
tauri-plugin-log, -osЛоггирование, обнаружение платформы
tauri-plugin-single-instance, -window-stateОдно работающее приложение; восстановить геометрию окна (цели рабочего стола)
tauri-plugin-liquid-glass (необязательный)эффект стекла macOS с запасом яркости
tokio, serde, thiserror, getrandom, logАсинхронный контроль, полезные данные IPC, типизированные ошибки, токены запуска

Почему такой выбор

  • Bun запускает тесты, сценарии и вспомогательную программу и компилирует вспомогательную программу в один собственный двоичный файл, поэтому рабочий стол поставляется без отдельной среды выполнения JavaScript.
  • Effect выдает типизированные ошибки каждой службы, ограниченные ресурсы (дескриптор базы данных и дочерние процессы освобождаются при завершении работы) и одно определение HttpApi, используемое сервером, клиентами, сгенерированные SDK и ссылку на API.
  • SQLite сохраняет каждую установку автономной: один файл плюс WAL, резервная копия которого создается перед каждым обновлением схемы.
  • Tauri использует системный веб-просмотр и небольшую оболочку Rust, которая владеет дополнительным процессом, собственными меню, средством обновления и связкой ключей.
  • three.js визуализирует область просмотра; та же библиотека рисует превью 3D на этих страницах документации.

Через 3Д

Стек по глубине зависимости Перетащите на орбиту · прокрутите, чтобы увеличить · перетащите вправо, чтобы панорамировать
Все пакеты рабочей области 13 из файлов package.json; каждая строка представляет собой зависимость workspace:* (всего 17). Строки — это глубина зависимости: пакеты без зависимостей от рабочей области спереди, вспомогательная программа, которая зависит от 8 из них, сзади. Оранжевые квадратики — это приложения. ядро — это основа, на которой строится все остальное.