الوثائق
مساعد الذكاء الاصطناعي
المحادثات على نطاق المشروع، وإجراءات CAD/CAM المكتوبة، والأذونات الصريحة، وبيانات اعتماد الموفر التي يديرها التطبيق.
مترجم تلقائيًا من الإنجليزية. عرض الأصل بالإنجليزية
خدمات مساعده
@cadcamfun/ai يوفر الوصول إلى النموذج وأحداث المحادثة وكتالوج الإجراءات والمطالبات والمهارات وتجميع السياق وتكامل المضيف. محرك المحادثة الافتراضي مضمن nikcli؛ يوفر AI SDK v7 مكالمات نصية مباشرة ودفقًا وإخراجًا منظمًا. يقوم السايدكار بإدخال معالجات لطفرات المشروع والمكتبات والتاريخ وتخزين التطبيقات.
يمكن للدردشة فحص المشروع وتغييره من خلال الإجراءات المسجلة. يؤدي إنشاء عنوان عديم الحالة، وتحليل التصميم، وتوصيات المعلمات، وتحسين كود G، وملخصات اقتراحات التصميم إلى إرجاع النصائح أو المخرجات المنظمة؛ لا تقوم طرق الخدمة هذه بحفظ تعديلات المشروع. قم بمراجعة نصائح المعالجة التي تم إنشاؤها من خلال CAM الحتمية والتحقق قبل الاعتماد عليها.
المحادثات وضوابط الجلسة
POST /api/ai/chat/stream يصدر أحداثًا مكتوبة للنص، والاستدلال، وحالة المنعطف/الخطوة، واستدعاءات الأدوات والنتائج، والتشخيصات، والأسئلة، وطلبات الأذونات، وإعادة المحاولة، وتغييرات السياق، والأهداف، والإكمال، والأخطاء. ترتبط معرفات جلسة العميل بجلسات الاستضافة ويتم فحصها مقابل مشروعها. احتفظ بمعرف الجلسة لمواصلة نفس المحادثة.
POST /api/ai/sessions/state يستعيد حالة الانشغال والنص المتراكم ومعلومات المهمة بعد انقطاع الدفق. /api/ai/chat/queue يعترف بمتابعة محادثة نشطة؛ /api/ai/chat/abort يوقف الدور والعمال المرتبطين به. تؤدي إزالة الجلسة إلى إلغاء الجلسة والانضمام إليها قبل إزالة الجلسة المضيفة.
/api/ai/sessions/control يدعم الحالة والفحص التفصيلي للسياق والضغط وتوحيد الذاكرة وإلغاء المهام وقرارات الأذونات والإجابة على الأسئلة المعلقة أو رفضها. يتم التحقق من الطلبات مقابل المحادثة الأصلية والجلسات التابعة لها المقبولة. لا يمكن الإجابة على السؤال الذي لم يعد معلقًا عن طريق إعادة استخدام معرفه القديم.
يستدعي النموذج المباشر إعادة محاولة فشل الموفر العابر بنفس منحنى nikcli: التأخير الأول هو 2 ثانية ويتضاعف في كل محاولة، وهو خاص بالموفر retry-after يتم احترام الرأس، وبدون هذا الرأس، لن يتجاوز التأخير أبدًا 30 ثانية. افتراضيًا، يجري الطلب خمس مكالمات على الأكثر، بما في ذلك المكالمة الأولى؛ ال retryAttempts يمكن للإعداد تجاوز هذا (packages/ai/src/retry.ts, direct-model.ts). عندما ينقطع اتصال النموذج في منتصف الدورة، تستأنف حلقة الدردشة ما يصل إلى خمس مرات بنفس التراجع الذي يبلغ 2–30 ثانية ويطلب من النموذج الاستمرار دون تكرار الخطوات المكتملة.
مقدمي الخدمة وبيانات الاعتماد
GET /api/ai/providers يسرد بيانات تعريف الموفر والحالة التي تم تكوينها؛ GET /api/ai/models يعرض كتالوج منتقي النموذج مع اختياري configuredOnly=true. يتم تخزين قراءات كتالوج المضيف المضمن مؤقتًا لمدة دقيقة واحدة. يؤثر التكوين والسياسة على الموفرين المدرجين والقابلين للاستخدام.
قم بتعيين بيانات الاعتماد باستخدام PUT /api/ai/credentials وإزالتها مع DELETE /api/ai/credentials/:provider. يجب أن تكون المفاتيح غير فارغة، ويجب أن يكون عنوان URL الأساسي المقدم هو HTTP أو HTTPS. يدعم مصنع النماذج المباشرة Anthropic وOpenAI وMiniMax وبوابة الذكاء الاصطناعي. تتطلب معرفات الموفر الأخرى عنوان URL أساسيًا متوافقًا مع OpenAI للمكالمات المباشرة. يستخدم المضيف المضمن كتالوج الموفر الخاص به والتوجيه.
تحمل السايدكار أوراق اعتمادها عند <dataDir>/ai/credentials.json باستخدام ملف مؤقت، وضع المالك فقط 0600، وإعادة التسمية. يقرأ الملف المفقود أو التالف على أنه فارغ. تؤدي الكتابة المستمرة الفاشلة إلى ترك المفتاح متاحًا للعملية الحالية ولكنها لا تضمن بقاءه على قيد الحياة عند إعادة التشغيل. تعرض استجابات الحالة حالة التكوين بدلاً من المفاتيح الأولية.
يتم تمثيل أوراق الاعتماد مع Redacted داخل الخدمات ونشرها إلى المضيف من خلال مخزن بيانات الاعتماد المحدد النطاق. يؤدي إغلاق النطاق إلى مسح نسخة المضيف. تعمل تغييرات بيانات الاعتماد على تحديث مراجعة مستخدمة لتمييز النتائج عديمة الحالة المخزنة مؤقتًا.
طبقة النموذج الافتراضية هي balanced، وتنتقل طلبات MiniMax إلى https://api.minimax.io/v1 إلا إذا CADCAMFUN_AI_MINIMAX_BASE_URL يتجاوزه (packages/ai/src/models.ts). تم تصنيف الكتالوج النموذجي من الجمهور https://models.dev/api.json نقطة النهاية فقط عندما يكون الملف المخزن مؤقتًا مفقودًا ويسمح بالوصول إلى الشبكة؛ لم يتم إرسال أي بيانات اعتماد، وتم تحديد حد أقصى للاستجابات عند 8 MiB، وتم رفض قائمة نص أقل من 20 من مقدمي الخدمة باعتبارها مقطوعة.
الإجراءات والأذونات
يعلن كتالوج الإجراء عن كل معرف إجراء ومخطط المعلمة والتأثير ومسار التنفيذ. مجموعة الأدوات الإجراءات ذات الصلة وراء المطلوب action مجال. يتحقق المضيف من صحة إدخال الأداة، وتقوم المعالجات السايدكار بإجراء التحقق من صحة المجال وفحص الوصول إلى الموارد قبل استمرار التغييرات.
أوضاع الإذن هي approve, ask، و auto. فهي تؤثر على كيفية قبول استدعاءات الأداة العادية؛ تحتفظ الأدوات التي تحتوي على إجراءات مدمرة بقاعدة الموافقة البشرية في كل وضع. علامة إدخال مثل confirm: true لا يحل محل طلب الإذن هذا. لا يكشف المضيف عن أدوات غير مقيدة أو أدوات تحرير الملفات كبديل لإجراءات التطبيق.
السياسات في <dataDir>/ai/policy.json تقييد استخدام الموفر واستخدام الأدوات والوصول إلى الجسر. يتم تحميلها بواسطة تكوين الخدمة؛ لا تفترض أن تحرير ملف تحديثات خدمة قيد التشغيل بالفعل. تعمل الدلائل المؤقتة على نطاق المشروع وتكوين nikcli المعزول على إبقاء المضيف المضمن منفصلاً عن حالة الوكيل المستقل للمستخدم.
توفر المهارات كتيبات تشغيل CAD/CAM وتعليمات كتبها المستخدم. إنهم يوجهون استخدام الأدوات الموجودة؛ لا تؤدي إضافة مهارة إلى إضافة واجهة برمجة تطبيقات طفرة جديدة. قائمة نقاط نهاية HTTP للمهارات، وحفظ، وحذف محتوى مهارات المستخدم المدعومة.
مجموعات الأدوات المسجلة
المجموعات المضمنة هي cad, cad_edit, cam, cam_edit, library, parts, library_edit, memory, memory_edit, research, vcs, vcs_edit، و agent. cam_verify يعرض مجموعة الإنشاء والتحقق الفرعية التي يحتاجها دور المدقق دون منح أداة تحرير CAM الكاملة.
يحافظ تجميع الأدوات على حدود التأثير. إن فحص الشكل الهندسي للقراءة فقط والبحث في المكتبة واستدعاء الذاكرة منفصل عن التغييرات التي تطرأ على تلك الموارد. يمكن للسجل المحقون أيضًا قبول أدوات الامتداد؛ يتم رفض المعرفات المكررة.
اكتشف الكتالوج الحالي
GET /api/ai/actions إرجاع أوصاف الأدوات وأسماء الإجراءات وأنواعها ومخططات معلمات JSON للمتصلين الخارجيين. استخدمه لاكتشاف إجراءات التطبيق قيد التشغيل بدلاً من نسخ قائمة ثابتة إلى العميل. POST /api/ai/actions/invoke يأخذ معرف المشروع ومعرف الأداة والمدخلات التي تحتوي على أداة تمييز الإجراء.
يتم الاحتفاظ بإدخالات الكتالوج المضمنة تحت packages/ai/src/actions. تشمل الأمثلة فحص CAD والفحوصات البارامترية، وتحريرات CAD، وتخطيط وتصنيع CAM، والبحث في المكتبة وتحديثاتها، وذاكرة المشروع، والبحث، ومقترحات VCS. تقوم المساهمة التي تتطلب خدمة تطبيق بإرجاع نتيجة غير متاحة عندما لا يقوم ذلك المضيف بتوفير معالجها.
واجهات برمجة التطبيقات للتكامل العام
ACTION_CATALOGUE, ACTION_TOOL_IDS, EXPOSED_TOOL_IDS, actionById, toolKind، و runAction دعم المستهلكين الكتالوج. ToolHandlers هو عقد التكامل السايدكار؛ ToolRegistry يؤلف أدوات مدمجة وملحقة. AiService يوفر المحادثات وبيانات التعريف النموذجية والمكالمات لمرة واحدة وعمليات الجلسة.
assembleContext يتم إنشاء سياق الدوران بميزانية إجمالية افتراضية مكونة من 24،000 من الأحرف. فهو يأمر بالمتطلبات الدائمة، والملاحظات الحالية، ولقطات واجهة المستخدم، والذاكرة، والمراجع الداعمة، وإلغاء التكرارات حسب الهوية والمحتوى، ويسجل المصادر المحذوفة أو المقطوعة. ميزانية السياق هذه منفصلة عن نافذة الرمز المميز الكاملة للنموذج وعتبة ضغط المضيف.
خلفية العمل والأدلة
يسمح برنامج جدولة وقت التشغيل بأربع مهام خلفية نشطة وستة عشر مهمة في قائمة الانتظار. المهام مملوكة للمشروع وجلسة الأصل. يحتفظ الإلغاء بالملكية النشطة حتى يتوقف العامل؛ يؤدي إيقاف الأصل أو حذفه أيضًا إلى إيقاف العمل المرتبط به. يقتصر استرداد عامل القراءة على محاولتين، بينما يتم وضع علامة على عمل التحرير المتقطع بأنه غير مؤكد بدلاً من إعادة تشغيله بشكل أعمى.
نجاح الأداة المساعدة هو نتيجة للفحص. يمكن أن تقوم عمليات CAD بإرجاع تشخيصات هندسية جزئية؛ تحمل منتجات CAM ادعاءاتها الخاصة ومستويات إصدارها؛ خدمات التاريخ تفرض الفروع المحمية. نص المحادثة، والمهمة التي تم وضع علامة "مكتملة"، ونتيجة التحقق الهندسي تصف أدلة مختلفة.
سياق المشروع المرسل إلى النموذج مدرج في الميزانية: قد يحتوي مستند سياق المشروع المخزن على ما يصل إلى 8،000 من الأحرف، منها 2،000 تصل إلى الموجه، مع 1،500 من الأحرف لكل منها لذاكرة المشروع وعادات المستخدم. يتم تقليم ملاحظات المشروع الأقدم من 90 يومًا والتي لا يشير إليها سياق المشروع عند استقرار الجلسة (packages/ai/src/project-context.ts).
اختيار وقت التشغيل
CADCAMFUN_AI_HOST يختار nikcli بشكل افتراضي أو direct. يستخدم المسار المباشر مكالمات AI SDK بدون حلقة أداة الوكيل المستمرة والمجدول المتخصص للمضيف المضمن. تستخدم العمليات عديمة الحالة خدمة النموذج المباشر حتى عند تمكين المضيف المضمن.
تم تجذير أدلة XDG الخاصة بالمضيف وتجاوز المنزل الاختياري ضمن <dataDir>/ai/nikcli. يتم تعطيل تحميل تكوين المشروع وإعدادات الوكيل الموروثة غير ذات الصلة أو مسحها قبل استيراد SDK. مساحة العمل الخاصة به عبارة عن دليل مؤقت لتطبيق لكل مشروع، بدلاً من الدليل المصدر للمستخدم.
وصول مستقل إلى nikcli
@cadcamfunv2/cadcamfun-nikcli-plugin يربط nikcli مستقل بتطبيق قيد التشغيل. تكوين لها url, token، والافتراضي projectId، أو استخدم CADCAMFUN_URL, CADCAMFUN_TOKEN، و CADCAMFUN_PROJECT. قم بتوفير رمز جسر محدد النطاق صادر عن التطبيق للوصول الخارجي.
تقتصر الرموز المميزة للجسر على مشروع واحد وإجراءات القراءة/الكتابة للقراءة فقط. إنها افتراضية لمدة 30 من الأيام، وتسمح بـ 1–365 من الأيام، ويمكن إدراجها وإبطالها، ولا تكشف سرها إلا عند إصدارها. إنهم يعترفون فقط بطريقتي جسر العمل. يمكن للسياسة تضييق نطاق الأدوات والإجراءات المرئية بشكل أكبر.
يقوم البرنامج الإضافي بجلب الكتالوج من التطبيق وتحويل مخططاته إلى وسيطات أداة nikcli. يتم رفض الإجراءات التدميرية حتى مع وجود علامة تأكيد، وأثناء العملية agent تم استبعاد أداة التفويض. لا يتم عرض أدوات ملحق البرنامج المساعد القادرة على الكتابة من خلال هذا الجسر الخارجي. يُبلغ HTTP 401 عن رمز مميز مرفوض؛ يؤدي رفض الإجراء إلى إرجاع نتائج فشل قابلة للقراءة.
خريطة التنفيذ
service.ts تمتلك عمليات الذكاء الاصطناعي التي تواجه التطبيقات؛ direct-model.ts يمتلك مكالمات AI SDK؛ credentials.ts تمتلك الحالة الرئيسية؛ nikcli/ يمتلك العزلة، والجلسات، والسياسات، والسياق، والعاملين؛ actions/ و tools/ تعريفات القدرات الخاصة والمحولات. السايدكار services/ai.ts معالجات مشروع الأسلاك والتخزين. packages/nikcli-plugin يمتلك عميل HTTP الخارجي.
بدء واستعادة المحادثة
باستخدام السايدكار قيد التشغيل والنموذج الذي تم تكوينه، يفتح هذا الطلب محادثة دون إدخال سياق مساحة العمل المخزنة. تعيين CADCAMFUN_URL إلى عنوان URL الأساسي للاسترجاع المكتشف و CADCAMFUN_TOKEN إلى رمز التطبيق الحالي الخاص به. معرف الجلسة أدناه محدد من قبل العميل؛ احتفظ بها للمتابعة.
curl --no-buffer --fail-with-body \
-H "Authorization: Bearer $CADCAMFUN_TOKEN" \
-H "Content-Type: application/json" \
--data '{"message":"Explain the difference between G0 and G1.","sessionId":"inspection-demo","includeContext":false,"mode":"gcode"}' \
"$CADCAMFUN_URL/api/ai/chat/stream" لدور المشروع، قم أيضًا بتزويده الحقيقي projectId، واختياريا أ drawingId تابعة لذلك المشروع . يربط الرسم أدوات الدور بهذا الرسم. تم رفض إعادة استخدام جلسة ضمن مشروع أو حساب آخر.
curl --fail-with-body \
-H "Authorization: Bearer $CADCAMFUN_TOKEN" \
-H "Content-Type: application/json" \
--data '{"sessionId":"inspection-demo"}' \
"$CADCAMFUN_URL/api/ai/sessions/state" عاد busy, text، خياري events، و tasks إعادة بناء الرأي؛ إعادة تشغيل تلك الأحداث المخزنة لا يؤدي إلى تنفيذ الأدوات مرة أخرى. لإيقاف العمل، أرسل إحباطًا صريحًا. إغلاق الدفق وحده لا ينضم إلى العاملين في المحادثة.
مصدر: packages/api/src/groups/ai.ts, apps/sidecar/src/http/ai.ts، و packages/ai/src/service.ts.
تعامل مع الأحداث دون فقدان الحالة
| حدث | سلوك المستهلك |
|---|---|
delta / reasoning | إلحاق text إلى نص الجلسة المطابقة أو قناة الاستدلال. |
tool_call / tool_result | الارتباط بواسطة callId; فحص ok والاحتفاظ بالتشخيصات بشكل مستقل عن النص المساعد. |
permission_request | إظهار الطلب والرد بمعرفات الطلب/الجلسة الخاصة به و once, always، أو reject. |
question_request | احتفظ بمعرف الطلب والأسئلة الخاصة به؛ إرسال مجموعة إجابات واحدة لكل سؤال من خلال عناصر التحكم في الجلسة. |
done | استخدم النهائي text والاستخدام الاختياري كرد مكتمل؛ لا تقم بإلحاق النص النهائي بأكمله بالدلتا المتراكمة بالفعل. |
error | عرض message مع config, provider, aborted، أو internal تصنيف. |
heartbeat | حافظ على الاتصال حيًا دون إضافة محتوى أو الإعلان عن اكتمال الدور. |
تقبل عناصر التحكم في الجلسة فقط معرفات الأذونات/الأسئلة المعلقة في تلك المحادثة أو جلساتها الفرعية. سؤال يتطلب إجابات غير فارغة. يرفض السؤال ذو الاختيار الواحد القيم المحددة المتعددة، والسؤال الذي لا يسمح بالإجابات المخصصة لا يقبل سوى تسميات الخيارات المدرجة الخاصة به.
مصدر: packages/api/src/ai-events.ts, packages/ai/src/nikcli/session-controls.ts، و packages/ai/src/heartbeat.ts.
المرفقات ومهارات المستخدم
يقبل كل طلب دردشة ما يصل إلى خمسة مرفقات. الصور المدعومة هي PNG، وJPEG، وWebP، وGIF، بحد أقصى يبلغ 5 MiB لكل منها؛ تحتوي ملفات PDF على حد 10 MiB. تقبل المرفقات النصية ما يصل إلى 2،000، 000 من الأحرف، مع تضمين النصوص حتى 6،000 من الأحرف أيضًا في السطر. تنتج الملفات غير المدعومة سببًا للرفض بدلاً من أن تختفي بصمت.
يتم الاحتفاظ بالمرفقات النصية في مخزن الذاكرة على مستوى المشروع لأدوات الاستيراد: على الأكثر 32 أسماء و8،000، 000 حرف لكل مشروع، و32، 000، 000 حرف على الأكثر عبر 64 مشروع مخزن على الأكثر. تؤدي إعادة استخدام الاسم إلى استبدال نصه السابق. إعادة تشغيل الخدمة لا تحتفظ بمخزن المرفقات هذا. يتم الإبلاغ عن عدم تطابق قدرة PDF للنموذج بواسطة تحويل الموفر.
أسماء مهارات المستخدم عبارة عن كلمات مكونة من أحرف/أرقام صغيرة متصلة بواصلات، على الأكثر 64 من الأحرف. حدود الوصف والنص هي 300 و20، 000 حرفًا على التوالي؛ يمكن تحميل 50 من مهارات المستخدم على الأكثر. لا يمكن إزالة المهارات المضمنة من خلال واجهة برمجة تطبيقات مهارات المستخدم. مهارة محفوظة live تشير النتيجة إلى ما إذا كانت إعادة تحميل المضيف سارية المفعول.
مصدر: packages/ai/src/attachments.ts, packages/ai/src/skills/user.ts، و apps/sidecar/src/http/ai.ts.
تشخيص فشل المساعد
- لا يوجد نموذج تم تكوينه: فحص
/api/ai/statusو/api/ai/providers، ثم قم بتعيين مفتاح لموفر الخدمة المدرج. تثبت العلامة التي تم تكوينها وجود مفتاح مخزن، وليس قبول البائع له. - موفر غير معروف أو عنوان URL غير صالح: استخدم معرف الموفر المُعلن عنه وعنوان URL الأساسي لـ HTTP(S). يحتاج الموفر المباشر غير المدمج إلى نقطة نهاية متوافقة بالإضافة إلى مفتاحه.
- لا يمكن الوصول إلى الجلسة: الاسترداد باستخدام هوية المشروع/الحساب/الجلسة الأصلية. لا تخترع معرف مشروع بديل لجلسة مضيفة موجودة.
- هناك منعطف ينتظر إلى أجل غير مسمى: افحص حالة التحكم في الجلسة بحثًا عن الأذونات أو الأسئلة المعلقة قبل إعادة محاولة المطالبة المكررة. استخدم الإجهاض الصريح لإلغاء الدور والانضمام إلى العاملين فيه.
- أداة غيرت النموذج جزئيًا: فحص لها
tool_diagnostic، مشتملmutationApplied، ثم اقرأ الرسم الحالي. قد تؤدي إعادة محاولة إجراء التحرير دون فحص نتيجته إلى تكرار الشكل الهندسي.
تحافظ نتائج الأداة والإخفاقات المكتوبة على المرحلة التي فشلت. خطأ الموفر بعد نجاح الأدوات لا يؤدي إلى إرجاع طفرات المشروع هذه مرة أخرى. تظل اختبارات CAM والتاريخ الحتمية متاحة بشكل منفصل عن الإجابة النموذجية.
مرجع نقطة النهاية المساعد
جميع الطرق المساعدة تعيش تحت /api/ai وتتطلب الرمز المميز لحامل التطبيق. يفتح الرمز المميز لـ nikcli المستقل قائمة الإجراءات ومسارات الاستدعاء فقط، ولمشروعه فقط.
| طريق | غاية |
|---|---|
POST /api/ai/chat/stream | ابدأ دورة البث؛ الاستجابة هي دفق SSE من الأحداث المساعدة. |
POST /api/ai/chat/queue | قم بوضع رسالة متابعة في قائمة الانتظار لجلسة مزدحمة. |
POST /api/ai/chat/abort | قم بإحباط الدور الجاري للجلسة. |
POST /api/ai/permission/reply | الرد على طلب الإذن: once, always، أو reject. |
POST /api/ai/sessions/state, /sessions/control, /sessions/remove | قراءة حالة الجلسة، التحكم في الجلسة، إزالة واحدة. |
GET /api/ai/status, /models, /providers, /agents, /prompts | الاكتشاف: الاستعداد، كتالوج النماذج، مقدمو الخدمة مع حالة التكوين الخاصة بهم، الوكلاء المتخصصون، الاقتراحات السريعة. |
PUT /api/ai/credentials, DELETE /api/ai/credentials/:provider | تخزين أو مسح بيانات اعتماد المزود. |
GET/PUT /api/ai/skills, DELETE /api/ai/skills/:name | قائمة مهارات المستخدم وحفظها وحذفها. |
GET /api/ai/actions, POST /api/ai/actions/invoke | كتالوج العمل والاحتجاج المباشر (يستخدمه أيضًا جسر nikcli). |
GET/POST /api/ai/bridge/tokens, DELETE /api/ai/bridge/tokens/:id | إصدار وإدراج وإلغاء الرموز المميزة للجسر. |
POST /api/ai/completion | استكمال واحد: prompt, systemPrompt, model, temperature; يعود text و model. |
POST /api/ai/title | عنوان لمقتطف من المحادثة. |
POST /api/ai/design-analysis | اقتراحات مع confidence, priority (منخفضة/متوسطة/عالية)، و kind (التحسين/التحذير/الحرجة). |
POST /api/ai/machining-parameters | Cutting speed (m/min), feed (mm/min), depth of cut (mm), stepover (%), coolant (flood/mist/none), engagement (conventional/climb), and warnings. |
POST /api/ai/gcode-optimization | كود G محسّن مع التغييرات والأسباب لكل سطر، والوقت المقدر وتوفير عمر الأداة، والملاحظات. |
POST /api/ai/design-suggestions | اقتراحات الخطوة التالية مع العنوان والأساس المنطقي والخطوة التالية. |
POST /api/ai/analyze-gcode | المشكلات (خطأ/تحذير/معلومات مع الكود والخط والرسالة) والإحصائيات: الخطوط والتحركات السريعة والمقطعة وتغييرات الأداة والحدود. |
POST /api/ai/gcode, /toolpath-analysis, /feedback, /proxy | إجراءات G-code ورؤى مسار الأدوات والملاحظات ووكيل الموفر. |
ردود التحليل المدعومة بالنموذج هي مخرجات نموذج في شكل مكتوب. إن القيم مثل معلمات التصنيع هي اقتراحات للمراجعة مقابل بيانات الأدوات وحدود الماكينة، وليست بيانات قطع تم التحقق منها.
حقول طلب التدفق
| مجال | قيم | Effect |
|---|---|---|
message | خيط | رسالة المستخدم لهذا المنعطف. |
sessionId | خيط | متابعة جلسة موجودة؛ تجاهل لبدء واحدة جديدة. |
projectId | خيط | المشروع الذي يستخدم سياقه وأدواته. |
drawingId | خيط | قد يعمل الرسم على هذا المنعطف. يتم فحصه مقابل المشروع قبل قبول الدور، وتعمل أدوات الدور على هذا الرسم ولا شيء غيره. |
mode | general, cad, cam, gcode, toolpath | التركيز على المنعطف. |
permissionMode | auto, ask, approve | كيف يتم طلب أذونات الأداة. |
agent | خيط | اسم الوكيل المتخصص من /api/ai/agents. |
attachments | [{ name, mime?, data, encoding?: "base64" | "text" }] | ما يصل إلى 5 من المرفقات: صور تصل إلى 5 ميغابايت، وملفات PDF تصل إلى 10 ميغابايت، ونص يصل إلى 2،000،000 حرف (يتم أيضًا كتابة الملفات النصية حتى 6،000 حرفًا في الرسالة). |
context, includeContext | سلسلة منطقية | نص سياق إضافي وما إذا كان سيتم تضمين سياق المشروع المجمع. |
model | محدد النموذج | تجاوز النموذج الذي تم تكوينه لهذا المنعطف. |
الحدود والافتراضات
| حد | قيمة |
|---|---|
| ميزانية السياق المجمعة | 24،000 حرف؛ يتم اقتطاع الكتلة غير الملائمة باستخدام علامة، ويتم استبعاد الكتلة التي سيتم قطعها تحت 400 من الأحرف بدلاً من ذلك |
| وثيقة سياق المشروع | ما يصل إلى 8،000 من الأحرف المخزنة، 2، 000 تم إرسالها إلى النموذج |
| ذاكرة المشروع / عادات المستخدم | 1،500 حرف لكل منهما |
| ملاحظات المشروع | يتم تقليمه بعد 90 من الأيام عندما لا تتم الإشارة إليه بواسطة سياق المشروع |
| تم إرسال مخرجات الأداة إلى النموذج | 24،000 حرف |
| العناصر التي تم إنشاؤها لكل مكالمة | 40 |
| رموز الإخراج | 32،000 الحد الأقصى |
| نبض القلب | كل 5 ثانية أثناء نشاط الدفق |
| إجراءات الهندسة الدقيقة | 60-الميزانية الثانية؛ تقارير دقيقة 1.5 ثانية |
| وظائف النواة | 120-الموعد النهائي الثاني، متضمن بداية العامل |
| مهام الخلفية | 4 نشط، 16 في قائمة الانتظار، 2 محاولات لعمال القراءة، تم الاحتفاظ بالمهام المستقرة لمدة 7 يوم |
| الاستمرارية التلقائية | 50 لكل طلب؛ يتم استئناف اتصال 5 مع تراجع 2–30 ثانية |
| إعادة محاولة الاتصال المباشر | 5 مكالمات بما في ذلك الأولى؛ 2 مضاعفة إلى 30 ثانية، تكريم retry-after |
| مهارات المستخدم | 50 المهارات؛ اسم يصل إلى 64 حرف (كلمات صغيرة متصلة بواصلات)، وصف يصل إلى 300، نص يصل إلى 20، 000 |
| جلب بحث الويب | 256 كيلوبايت لكل استجابة |
| رموز الجسر | 30 يوم بشكل افتراضي، 365 يوم كحد أقصى |
اقرأ النتيجة وليس النثر
نتيجة الأداة موجودة tool_result و tool_diagnostic الأحداث. تحقق مما إذا تم تطبيق طفرة قبل الوثوق في ملخص المساعد لما حدث.
كتالوج العمل الكامل
يعمل المساعد من خلال 83 من الإجراءات المعلنة في 13 من العائلات. يعلن كل إجراء عن مخطط النتائج الخاص به ونتائجه تأثيرات: ما يتغير أو يصل إلى ما هو أبعد من قراءة الوثيقة المفتوحة. قراءة العائلات (cad, cam, library, memory, research, vcs) في الغالب ليس لها أي تأثير؛ هُم _edit نظرائهم يغيرون الحالة المستمرة. يتم سرد التأثيرات بين قوسين.
| عائلة | عدد | الإجراءات (الآثار) |
|---|---|---|
cad | 20 | describe, check, relations, grep, vision (الواجهة)، inspect_elements, inspect_layers, inspect_search, inspect_property, drawing, parametric_validate, parametric_inspect, parametric_test, parametric_dfm, parametric_exact, exact, assembly, parametric_fastener, parametric_recipe, parametric_from_element |
cad_edit | 12 | add (رسم)، add_entities (رسم)، modify (رسم)، transform (رسم)، group (رسم)، delete (رسم)، editor (واجهة + رسم)، import (رسم)، parametric_create (رسم)، parametric_update (رسم)، parametric_recipe_create (رسم)، parametric_convert (رسم) |
cam | 14 | plan_check, review, machine, operations, suggest, compare_setups, analyze, stock, vision (الواجهة)، chain_suggest, materials, cutting_data, manufacture, chain_status |
cam_edit | 6 | manufacture (عملية+برنامج)، create (عملية)، update (عملية)، generate (برنامج)، verify (تقرير)، stock_set (مخزون) |
library | 5 | component_list, lookup_component, lookup_material, lookup_tool, lookup_machine_config |
parts | 3 | save (عنصر)، insert (رسم)، delete (عنصر) |
library_edit | 5 | upsert_material (مكتبة)، upsert_tool (مكتبة)، upsert_machine_config (مكتبة)، set_default (مكتبة)، delete (مكتبة) |
memory | 2 | recall, context_read |
memory_edit | 2 | remember (ذاكرة)، context_update (سياق) |
research | 2 | search (خارجي)، read_attachment |
vcs | 3 | status, diff, list_pull_requests |
vcs_edit | 5 | start_change (تاريخ)، commit (تاريخ)، restore (التاريخ+الرسم)، open_pull_request (تاريخ)، run_workflows (سير العمل) |
agent | 4 | start (مهمة)، list, read, cancel (مهمة) |
| Effect | معنى |
|---|---|
drawing, component, operation, program, stock, report | التصميم المستمر أو بيانات التصنيع |
library, memory, context | سجلات المكتبة، ذاكرة المشروع، سياق مساحة العمل |
history, workflow | التحكم في الإصدار وتشغيل سير العمل |
task | جدولة التفويض (وكلاء الخلفية) |
interface | المحرر أو إطار العرض على الشاشة؛ ليست مستمرة |
external | الشبكة (بحث الويب) |
قد يكون لإجراء القراءة فقط interface أو external; كل كتابة تسمي تأثيرًا مستمرًا واحدًا على الأقل. يتم الإعلان عن التأثيرات لكل إجراء ولا يتم استنتاجها أبدًا من الأداة التي تنفذها.
كيف تنتهي مكالمة العمل
| حصيلة | متى |
|---|---|
succeeded | الفعل فعل ما طلب. يتضمن قراءات ذات نتائج سلبية، مثل التحقق الفاشل. |
partial | جزء من الإجابة أو الدفعة: complete: false, omitted > 0، غير فارغة skipped، أو أ nextOffset للصفحة على |
refused | لم يتم فعل أي شيء: ok: false مع وجود خطأ أو علامة (إدخال غير صالح، مرفوض، غير متاح، لا يوجد ما يجب فعله) |
conflict | انتقلت الوثيقة إلى: ActionConflict أو الحالة stale/conflict. قم بالفحص مرة أخرى قبل إعادة المحاولة. |
cancelled | ActionInterrupted |
uncertain | ActionUncertain: ربما ارتكبت عملية الكتابة ولكن تعذر قراءة إجابتها. التصالح بالتفتيش؛ لا تحاول أبدًا بشكل أعمى. |
الكتابات ملزمة بمراجعة الرسم. تقوم الكتابة الملتزمة بإرجاع ملف ActionCommitted استلام مع previousRevision و revision; الكتابة ضد التي لا معنى لها expectedRevision يعود ActionConflict مع كليهما expectedRevision و actualRevision. نفس التصنيف (actionOutcome) تتم مشاركتها بواسطة المضيف ووضع التعليمات البرمجية وسطح المكتب والجسر.
{
"ok": false,
"_tag": "ActionConflict",
"actionId": "cad_edit.modify",
"projectId": "…", "drawingId": "…",
"expectedRevision": 41, "actualRevision": 42,
"message": "…"
}