الوثائق
كومة التكنولوجيا
الإصدارات والمسؤوليات المأخوذة من بيانات مساحة العمل وتكوين وقت التشغيل.
مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية
وقت التشغيل وإطار الخدمة
يحدد بيان الجذر 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 المحددة. | تعد قاعدة البيانات وجلسة الحساب الحالية التي تم تكوينها مستقلة عن اكتشاف سطح المكتب. |
استخدم قطعة البناء المتوافقة مع البيئة التي يتم اختبارها. إن مخرجات الواجهة الأمامية، وملف السايدكار المترجم، وموارد الترحيل، وحزمة الأجهزة المحمولة المصدرة، والمثبتات الأصلية الموقعة هي مخرجات متميزة حتى عندما يقوم أمر واحد بتنسيق عدة مراحل.
الإصدارات المثبتة
| طبقة | تكنولوجيا | الإصدار (من بيانات الحزمة) |
|---|---|---|
| مدير الحزم / وقت التشغيل | Bun | 1.4.4 (packageManager) |
| إطار الخدمة | Effect | 4.0.0-rc.112 (جميع مساحات العمل، مع النظام الأساسي والقياس المفتوح في نفس الإصدار) |
| قاعدة البيانات | رذاذ أورم / رذاذ عدة، bun:sqlite | 1.0.0-بيتا.22 |
| قذيفة سطح المكتب | Tauri | 2 (صناديق الصدأ و @tauri-apps/* ^2) |
| واجهة مستخدم سطح المكتب | SolidJS، @solidjs/router، Kobalte | ^1.9.0, ^0.15.0, ^0.13.0 |
| 3D | three.js، ثلاثة-CSG-TS | ^0.180.0, ^3.2.0 |
| استيراد الخطوة | occt-import-js | 0.0.23 |
| محرر الكود | محرر موناكو | ^0.57.0 |
| المجمع | Vite | ^7.0.0 |
| منظمة العفو الدولية | ai (Vercel AI SDK)، @ai-sdk/anthropic، openai، بوابة، متوافق مع openai، @nikcli-ai/sdk-next | 7.0.127, 4.0.71, 4.0.83, 4.0.103, 3.0.62, 1.428.0 |
| التحقق من الصحة (أدوات الذكاء الاصطناعي) | زود | ^4.1.8 |
| القياس عن بعد | OpenTelemetry SDK + مصدري OTLP/HTTP | aPI 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 على صفحات الوثائق هذه.