قابلية النقل
ضمانات قابلية النقل
Section titled “ضمانات قابلية النقل”تعمل كاظمه على Windows وLinux وmacOS وWSL من نفس قاعدة الشيفرة.
تعرّف هذه الصفحة ماذا يعني «قابل للنقل» هنا — وماذا لا يعني.
ماذا نعني
Section titled “ماذا نعني”| الادعاء | المعنى |
|---|---|
| عبر المنصات | نفس المستودع الأحادي (monorepo)؛ لا تفرّعات خاصة بنظام تشغيل للوكيل / IDE / السرب / البوابة |
| بيانات محلية بالمشروع | قواعد بيانات التشغيل، والمتجهات، ومنزل كاظمه (السجل، المركز، المهارات، TUI) تنتقل مع نسخة الكود (checkout) |
| دليل النسخ منفصل | مستودعات المستخدم المستنسخة عبر مبدّل المستودعات (Switch Repo) تهبط تحت ~/kazma-repos (أو KAZMA_CLONE_DIR) |
| قابلة للتهيئة | المسارات وعناوين URL للخدمات تُتجاوَز عبر متغيرات البيئة / kazma.yaml — أبدًا لا منازل مطلقة للآلة في كود مشحون |
غير مُدَّعى: MCP متعدد العمليات مُجذَّر لكل مهمة سرب متزامنة (MCP عام على مستوى العملية).
تخطيط البيانات
Section titled “تخطيط البيانات”| الفئة | الموقع الافتراضي | يُحلّ عبر |
|---|---|---|
| بيانات المشروع (الإعدادات، نقاط التحقق، مهام السرب، التدقيق، RBAC، المتجهات، بيئة الحماية الافتراضية) | <project-root>/kazma-data/ | paths.data_dir() — التجاوز بـ KAZMA_DATA_DIR |
| منزل كاظمه (السجل، سجلّ المركز، المهارات المثبتة، سمات/حالة TUI، التفضيلات) | <project-root>/.kazma/ | paths.user_home() — التجاوز بـ KAZMA_USER_HOME |
| المنزل القديم | ~/.kazma | مصدر ترحيل فقط (migrate_legacy_user_home / merge_legacy_hub_if_empty) |
| مساحة البرمجة النشطة | النطاق ← WorkspaceStore ← التثبيت (pin) ← KAZMA_WORKSPACE ← {data_dir}/workspace | workspace.binding.resolve_active_root |
| مستودعات المستخدم المستنسخة | ~/kazma-repos | KAZMA_CLONE_DIR / مساعدات النسخ في البوابة |
جذر المشروع ليس «أينما صادف أن نفّذت cd» حين يحوي دليل أبٍ pyproject.toml. الإقلاع من دليل فرعي للمستودع ما زال يرسّخ قواعد البيانات تحت جذر المستودع الأحادي.
الثوابت (حافظ عليها)
Section titled “الثوابت (حافظ عليها)”- لا منازل مستخدم مكتوبة يدويًا — لا تشحن أبدًا
/home/alice/...في كود الإنتاج. استخدمpaths.user_home()/data_dir()/ ربط مصدر الحقيقة (SoT). - لا كتابات جديدة إلى
~/.kazma— القديم للترحيل/الاحتياطي في القراءة فقط. - لا
/tmpأو/var/logفي افتراضات الإعداد — استخدم مسارات نسبية للمشروع أو قابلة للتجاوز عبر البيئة. - فضّل
pathlib— فواصل نظام التشغيل وأحرف المحركات تبقى صحيحة على Windows. - الإعداد فوق الشيفرة — عناوين URL الأساسية للنماذج، ومسارات التخزين، وأدلة المهارات ← البيئة / YAML.
- مساحة العمل + MCP يتشاركان جذرًا واحدًا — خوادم MCP ذات
workspace_boundتعيد الربط عند مبدّل المستودعات عبر${KAZMA_ACTIVE_WORKSPACE}. - تفرّع نظام تشغيل اختياري للأمان فقط — مثل حدود موارد
code_exec(POSIX) مقابل كائنات المهام (Job Objects) (Windows).
مصفوفة النشر
Section titled “مصفوفة النشر”| الهدف | كيف |
|---|---|
| Linux / macOS | setup.sh أو uv sync / pip install -e ".[rag]" ثم kazma serve |
| Windows الأصلي | setup.ps1 + .venv\Scripts\Activate.ps1 + kazma serve |
| WSL2 | تثبيت Unix داخل WSL؛ وصول ثابت من Windows اختياري لمتصفح المضيف |