تخطَّ إلى المحتوى
CADCAMFUN
الوثائق

الوثائق

كومة التكنولوجيا

الإصدارات والمسؤوليات المأخوذة من بيانات مساحة العمل وتكوين وقت التشغيل.

مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية

وقت التشغيل وإطار الخدمة

يحدد بيان الجذر bun@1.4.4 كمدير الحزم. يقوم Bun بتثبيت مساحات العمل وتشغيلها bun:test، اكتب الشيكات مع المدمج في bun check، يخدم السايدكار، ويوفر SQLite وواجهات برمجة التطبيقات لتجزئة كلمة المرور، ويجمع الملف الثنائي للعربة السايدكار. يستخدم تطوير الواجهة الأمامية لسطح المكتب Vite، بينما تستخدم العبوة الأصلية Rust وTauri.

استخدام خدمات التطبيقات effect@4.0.0-rc.112. يتم الإعلان عن نفس الإصدار الدقيق عبر مساحات العمل التي تعتمد على التأثير، بما في ذلك واجهة برمجة التطبيقات وقاعدة البيانات والمركز وسطح المكتب وسير العمل والسايدكار. تعمل تجاوزات الجذر على محاذاة حزم النظام الأساسي للعقدة مع هذا الإصدار. توفر مستلزمات التأثير الأخطاء المكتوبة والمخططات وسياق الخدمة والطبقات والتزامن وواجهات برمجة تطبيقات 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و Tailwind CSS 3. تستخدم طاولة العمل عناصر تحكم Kobalte وأيقونات Lucide وتحرير Monaco وChart.js حيث تحتاج الميزات المقابلة إليها.

يستخدم إطار العرض three ^0.180.0. الهندسة الأساسية منفصلة عن العرض؛ three-csg-ts و occt-import-js 0.0.23 دعم مسارات هندسة/استيراد سطح المكتب الإضافية. يوفر Tauri v2 الوصول إلى واجهة برمجة التطبيقات الأصلية، ومربعات الحوار، وعمليات الصدفة، والتسجيل، وتكامل نظام التشغيل، وتكامل المحدث من خلال المكونات الإضافية المثبتة.

وقت تشغيل الذكاء الاصطناعي

@cadcamfun/ai دبابيس @nikcli-ai/sdk-next 1.428.0 و ai 7.0.127. تشتمل محولات النماذج المباشرة على موفري Anthropic وOpenAI وOpenAI المتوافقين وبوابة AI SDK. يحدد السايدكار مضيف nikcli المضمن افتراضيًا أو المضيف المباشر من خلاله CADCAMFUN_AI_HOST.

توجد أدوات التطبيق ومخططات الإجراءات أعلى من نقل الموفر. لا يؤدي تغيير الموفر إلى إنشاء كتالوج إجراءات ثانٍ. يتم توثيق اتصال النموذج وبيانات الاعتماد والإلغاء وسلوك الجلسة في ملف مرجع الذكاء الاصطناعي.

الجوال والتوثيق

يستخدم بيان الهاتف المحمول Expo ~57.0.27رد فعل 19.2.3رد الفعل الأصلي 0.86.3وإكسبو راوتر ~57.0.25. النقل المصاحب المخصص لها هو وحدة أصلية. تدعم NativeWind وReanimated وGesture Handler وSecureStore والمصادقة المحلية تطبيق الهاتف المحمول.

هذا الموقع يستخدم استرو ^5.14.1 مع محول Cloudflare وتكاملات MDX وTailwind. يتم عرض صفحات التوثيق مسبقًا؛ يتم تشغيل مسارات المساعد وMarkdown وStudio الاحتياطي والمسارات الاصطناعية على الخادم. تعمل واجهة برمجة تطبيقات 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 أن يحل محل وقت تشغيل Bun’s SQLite بشكل مباشر.
عرض ويب لسطح المكتبحالة وتفاعل SolidJS، الهندسة الأساسية، Three.js، عميل API.تتطلب العمليات الأصلية أوامر Tauri؛ توفر معاينة المتصفح بيئة تكامل مختلفة.
قذيفة Rustدورة حياة Tauri، النافذة/القائمة/الدرج الأصلي، الأوامر الآمنة، المحدث.لا يؤدي إنشاء Vite الناجح إلى إنشاء حزمة التطبيق الأصلية أو التحقق من صحتها.
تطبيق اكسبوشاشات React الأصلية ووسائل النقل المصاحبة الأصلية.يفتقر Expo Go إلى وحدة التثبيت المخصصة؛ لا ينتج عن تصدير JavaScript برنامج تثبيت أصلي.
عامل توثيق Cloudflareمسارات الخادم لـ Markdown وطلبات المساعد وأدوات الدليل.ليس لديه وصول ضمني إلى ملف سايدكار محلي أو ملف SQLite؛ الارتباطات وتكوين الواجهة الخلفية صريحة.
عملية الاستوديو المحليخادم Bun HTTP والوصول المباشر للقراءة من خلال جداول Drizzle المحددة.تعد قاعدة البيانات وجلسة الحساب الحالية التي تم تكوينها مستقلة عن اكتشاف سطح المكتب.

استخدم قطعة البناء المتوافقة مع البيئة التي يتم اختبارها. إن مخرجات الواجهة الأمامية، وملف السايدكار المترجم، وموارد الترحيل، وحزمة الأجهزة المحمولة المصدرة، والمثبتات الأصلية الموقعة هي مخرجات متميزة حتى عندما يقوم أمر واحد بتنسيق عدة مراحل.

الإصدارات المثبتة

طبقةتكنولوجياالإصدار (من بيانات الحزمة)
مدير الحزم / وقت التشغيلBun1.4.4 (packageManager)
إطار الخدمةEffect4.0.0-rc.112 (جميع مساحات العمل، مع النظام الأساسي والقياس المفتوح في نفس الإصدار)
قاعدة البياناترذاذ أورم / رذاذ عدة، bun:sqlite1.0.0-بيتا.22
قذيفة سطح المكتبTauri2 (صناديق الصدأ و @tauri-apps/* ^2)
واجهة مستخدم سطح المكتبSolidJS، @solidjs/router، Kobalte^1.9.0, ^0.15.0, ^0.13.0
3Dthree.js، ثلاثة-CSG-TS^0.180.0, ^3.2.0
استيراد الخطوةocct-import-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
متحركالمعرض، رد الفعل الأصلي، رد الفعل~57, 0.86.3, 19.2.3
المستنداتاسترو، تيل ويند، محول كلاود فلير، رانجلر^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

صناديق Rust في غلاف سطح المكتب

قفصتستخدم ل
tauri (رمز الدرج، واجهة برمجة التطبيقات الخاصة بنظام macos)ويندوز، صينية، IPC
tauri-plugin-shellإطلاق ثنائي السايدكار
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 التي تم إنشاؤها ومرجع واجهة برمجة التطبيقات.
  • SQLite يحافظ على كل عملية تثبيت مستقلة بذاتها: ملف واحد بالإضافة إلى WAL، يتم نسخه احتياطيًا قبل كل ترقية للمخطط.
  • Tauri يستخدم عرض ويب النظام وصدفة Rust صغيرة، والتي تمتلك عملية Sidecar، والقوائم الأصلية، والمُحدِّث، وسلسلة المفاتيح.
  • three.js يعرض إطار العرض؛ تقوم نفس المكتبة برسم معاينات 3D على صفحات الوثائق هذه.

في 3د

المكدس حسب عمق التبعية اسحب إلى المدار · قم بالتمرير للتكبير · اسحب بزر الماوس الأيمن للتحريك
جميع حزم مساحة العمل 13 من ملفات package.json الخاصة بها؛ كل سطر عبارة عن مساحة عمل:* التبعية (17 في المجموع). الصفوف هي عمق التبعية: الحزم التي لا تحتوي على تبعيات مساحة العمل في المقدمة، والسايدكار، التي تعتمد على 8 منها، في الخلف. المربعات البرتقالية هي تطبيقات. الجوهر هو الأساس الذي يبني عليه الباقي.