Aller au contenu
CADCAMFUN
Docs

Documentation

Pile technologique

Versions et responsabilités tirées des manifestes de l'espace de travail et de la configuration du runtime.

Traduit automatiquement de l'anglais. Voir l'original en anglais

Cadre d'exécution et de service

Le manifeste racine sélectionne bun@1.4.4 en tant que gestionnaire de paquets. Bun installe les espaces de travail, exécute bun:test, tapez des chèques avec le bun check, sert le sidecar, fournit des API SQLite et de hachage de mot de passe et compile le binaire sidecar. Le développement de l'interface de bureau utilise Vite et l'empaquetage natif utilise Rust et Tauri.

Utilisation des services applicatifs effect@4.0.0-rc.112. La même version exacte est déclarée dans tous les espaces de travail qui dépendent d'Effet, y compris l'API, la base de données, le noyau, le bureau, le flux de travail et le sidecar. Les remplacements de racine alignent les packages de plate-forme de nœud sur cette version. Effect fournit des erreurs typées, des schémas, un contexte de service, des couches, la concurrence et des API HTTP.

Le code utilise le formulaire de service v4 Context.Service et les modules HTTP sous effect/unstable. La documentation correspondant à la version est installée sur packages/db/node_modules/effect/ai-docs/src/. Gardez les mises à niveau des dépendances coordonnées entre les consommateurs.

Base de données et contrats

Utilisations de persistance drizzle-orm@1.0.0-beta.22 avec bun:sqlite. La génération de migration de base de données utilise la correspondance drizzle-kit libérer. Le schéma est TypeScript ; Les répertoires de migration générés contiennent les métadonnées SQL et de migration utilisées lors des mises à niveau.

Effet HttpApi définit le contrat HTTP. Le générateur de code de l'espace de travail compile ce contrat dans les sorties client Promise et Effect. Zod est également présent dans les dépendances API et AI pour les intégrations qui le nécessitent ; il ne remplace pas les schémas de limites de HttpApi.

Bureau et graphiques

Le bureau utilise solid-js ^1.9.0, @solidjs/router ^0.15.0, vite ^7.0.0et Tailwind CSS 3. L'atelier utilise les contrôles Kobalte, les icônes Lucide, l'édition Monaco et Chart.js là où les fonctionnalités correspondantes en ont besoin.

La fenêtre utilise three ^0.180.0. La géométrie principale est distincte du rendu ; three-csg-ts et occt-import-js 0.0.23 prend en charge des chemins d'importation/géométrie de bureau supplémentaires. Tauri v2 fournit un accès natif à l'API, des boîtes de dialogue, des opérations shell, une journalisation, une intégration du système d'exploitation et une intégration des mises à jour via les plug-ins installés.

Temps d'exécution de l'IA

@cadcamfun/ai épingles @nikcli-ai/sdk-next 1.428.0 et ai 7.0.127. Les adaptateurs de modèle direct incluent Anthropic, OpenAI, les fournisseurs compatibles OpenAI et la passerelle AI SDK. Le sidecar sélectionne l'hôte nikcli intégré par défaut ou l'hôte direct via CADCAMFUN_AI_HOST.

Les outils d’application et les schémas d’action se situent au-dessus du transport des fournisseurs. Changer de fournisseur ne crée pas un deuxième catalogue d’actions. La connectivité du modèle, les informations d'identification, l'annulation et le comportement de la session sont documentés dans le Référence IA.

Mobile et documentation

Le manifeste mobile utilise Expo ~57.0.27, Réagissez 19.2.3, Réagissez natif 0.86.3et routeur Expo ~57.0.25. Son transport compagnon personnalisé est un module natif. NativeWind, Reanimated, Gesture Handler, SecureStore et l'authentification locale prennent en charge l'application mobile.

Ce site utilise Astro ^5.14.1 avec l'adaptateur Cloudflare, les intégrations MDX et Tailwind. Les pages de documentation sont pré-rendues ; l'assistant, Markdown, le repli de Studio et les routes d'artefacts s'exécutent sur le serveur. L'API Studio locale s'exécute dans Bun car elle utilise bun:sqlite.

La vérification de type utilise le vérificateur intégré de Bun, bun check, qui lit les informations de chaque espace de travail tsconfig.json et rapporte les mêmes diagnostics que tsc. Les plages de manifeste décrivent les versions de dépendance autorisées ; le fichier de verrouillage enregistre la résolution installée.

Le site de documentation utilise Astro 5 avec l'adaptateur Cloudflare, MDX et Tailwind (packages/web/package.json). La vue Web du bureau atteint le code natif via @tauri-apps/api v2.

Ce qui fonctionne dans chaque environnement

EnvironnementCode qu'il exécuteLimite pertinente
Sidecar BunServeur/services d'effets, Drizzle, bun:sqlite, clients fournisseurs, orchestration du workflow et de l’historique.Un navigateur ou Cloudflare Worker ne peut pas remplacer directement le runtime SQLite de Bun.
Vue Web du bureauÉtat et interaction SolidJS, géométrie de base, Three.js, client API.Les opérations natives nécessitent des commandes Tauri ; L'aperçu du navigateur fournit un environnement d'intégration différent.
Coquille de RustCycle de vie Tauri, fenêtre/menu/barre d'état native, commandes sécurisées, programme de mise à jour.Une build Vite réussie ne crée ni ne valide le bundle d'applications natif.
Candidature à l'expositionÉcrans React Native et transport de compagnon natif.Expo Go ne dispose pas du module d'épinglage personnalisé ; L'exportation JavaScript ne produit pas de programme d'installation natif.
Travailleur de documentation CloudflareItinéraires de serveur pour Markdown, demandes d'assistant et artefacts de guide.Il n'a pas d'accès implicite à un fichier sidecar local ou à un fichier SQLite ; les liaisons et la configuration du backend sont explicites.
Processus du studio localServeur HTTP Bun et accès direct en lecture via les tables Drizzle sélectionnées.La base de données existante configurée et la session de compte sont indépendantes de la découverte du bureau.

Utilisez l'artefact de build correspondant à l'environnement testé. La sortie frontale, un sidecar compilé, les ressources de migration, un ensemble mobile exporté et les installateurs natifs signés sont des sorties distinctes même lorsqu'une commande coordonne plusieurs étapes.

Versions épinglées

CoucheTechnologieVersion (à partir des manifestes du package)
Gestionnaire de packages / runtimeBun1.4.4 (packageManager)
Cadre de servicesEffect4.0.0-rc.112 (tous les espaces de travail, avec platform-bun et opentelemetry dans la même version)
Base de donnéesbruine-orm / bruine-kit, bun:sqlite1.0.0-bêta.22
Coque de bureauTauri2 (Caisses rouillées et @tauri-apps/* ^2)
Interface utilisateur de bureauSolidJS, @solidjs/router, Kobalte^1.9.0, ^0.15.0, ^0.13.0
3Dtrois.js, trois-csg-ts^0.180.0, ^3.2.0
Importation STEPoct-import-js0.0.23
Éditeur de codesmonaco-éditeur^0.57.0
RegroupeurVite^7.0.0
IAai (Vercel AI SDK), @ai-sdk/anthropic, openai, passerelle, compatible openai, @nikcli-ai/sdk-next7.0.127, 4.0.71, 4.0.83, 4.0.103, 3.0.62, 1.428.0
Validation (outils d'IA)zod^4.1.8
TélémétrieSDK OpenTelemetry + exportateurs OTLP/HTTPapi 1.9.1, SDK 2.12.0, exportateurs 0.223.0
MobileExpo, Réagir Native, Réagir~57, 0.86.3, 19.2.3
DocumentsAdaptateur Astro, Tailwind, Cloudflare, Wrangler^5.14.1, ^3.4.17, ^12.0.0, 4.103.0
Vérification du typeBun bun check, TypeScript (support de l'éditeur uniquement)1.4.4, ^5.9.0
Tâches Monorepoturbo^2.11.7

Caisses de Rust dans la coque du bureau

CaisseUtilisé pour
tauri (icône de la barre d'état, macos-private-api)Windows, bac, IPC
tauri-plugin-shellLancement du binaire sidecar
tauri-plugin-dialog, -fs, -openerSélecteurs de fichiers, accès aux fichiers, chemins d'ouverture et URL
tauri-plugin-updaterMises à jour signées dans l'application
tauri-plugin-log, -osJournalisation, détection de plateforme
tauri-plugin-single-instance, -window-stateUne application en cours d'exécution ; restaurer la géométrie de la fenêtre (cibles du bureau)
tauri-plugin-liquid-glass (facultatif)effet de verre macOS avec un repli de dynamisme
tokio, serde, thiserror, getrandom, logSupervision asynchrone, charges utiles IPC, erreurs de frappe, jetons de lancement

Pourquoi ces choix

  • Bun exécute les tests, les scripts et le sidecar, et compile le sidecar en un seul binaire natif, de sorte que le bureau est livré sans environnement d'exécution JavaScript séparé.
  • Effect donne chaque erreur typée de service, les ressources étendues (le descripteur de base de données et les processus enfants sont libérés à l'arrêt) et une définition HttpApi utilisée par le serveur, les clients, les SDK générés et la référence API.
  • SQLite conserve chaque installation autonome : un fichier plus un WAL, sauvegardés avant chaque mise à niveau du schéma.
  • Tauri utilise la vue Web du système et un petit shell Rust, qui possède le processus sidecar, les menus natifs, le programme de mise à jour et le trousseau.
  • three.js restitue la fenêtre d'affichage ; la même bibliothèque dessine les aperçus 3D sur ces pages de documentation.

En 3D

La pile par profondeur de dépendance Faites glisser vers l'orbite · faites défiler pour zoomer · faites glisser vers la droite pour effectuer un panoramique
Tous les 13 packages d'espace de travail à partir de leurs fichiers package.json ; chaque ligne est un espace de travail :* dépendance (17 au total). Les lignes représentent la profondeur des dépendances : les packages sans dépendances d'espace de travail à l'avant, le sidecar, qui dépend de 8 d'entre eux, à l'arrière. Les cases orange sont des applications. le noyau est la base sur laquelle le reste s’appuie.