Skip to content

إعدادات واجهة سطر الأوامر (config.json) ​

كل حقل في config.json: كيف يتصرف واجهة سطر أوامر openspec على جهازك.

الموقع ​

تحتفظ واجهة سطر الأوامر بإعدادات مستوى الجهاز في ~/.config/openspec/config.json على macOS وLinux، وفي %APPDATA%\openspec\config.json على Windows. يُخذ $XDG_CONFIG_HOME بعين الاعتبار على كل منصة عند تعيينه. يقرأ أمر openspec config هذا الملف ويعدّله.

الحقول ​

المفتاحالنوعمطلوبالتأثير
profilestring: core أو customلايحدد مجموعة مسارات العمل التي يثبّتها openspec init
deliverystring: both أو skills أو commandsلاما إذا كان init يثبّت المهارات أو الأوامر المائلة أو كليهما
workflowsقائمة من السلاسل النصيةلاقائمة مسارات العمل التي يثبّتها ملف التعريف custom
featureFlagsmap: flag → booleanلامفاتيح ميزات منطقية
defaultStorestringلاالمخزن الاحتياطي على مستوى الجهاز لحل الجذر
openersmap: tool id → settingsلاالأدوات التي تُفتح بها مجموعات العمل، وكيفية تشغيل كل منها
telemetrymapلاالانسحاب من القياس عن بُعد، والمعرّف المجهول، وحالة ظهور الإشعار

profile ​

مجموعة مسارات العمل التي يثبّتها openspec init. الافتراضي هو core: propose وexplore وapply وupdate وsync وarchive. عند تعيين custom يتم تثبيت قائمة workflows المحددة بدلاً من ذلك.

delivery ​

ما إذا كان init يثبّت مسارات العمل كمهارات أو كأوامر مائلة أو كليهما. الافتراضي هو both.

workflows ​

مسارات العمل التي يثبّتها ملف التعريف custom؛ تُتجاهل عندما يكون ملف التعريف core. المعرفات الصالحة: propose وexplore وnew وcontinue وapply وupdate وff وsync وarchive وbulk-archive وverify وonboard.

featureFlags ​

مفاتيح منطقية مفهرسة باسم الميزة، تُعيّن باستخدام openspec config set featureFlags.<flag> true. لا تقرأ واجهة سطر الأوامر أي ميزة حالياً.

defaultStore ​

معرّف المخزن الاحتياطي على مستوى الجهاز لحل الجذر، يُستشار فقط عندما لا يوجد علم --store أو مسار openspec/ محلي أو مؤشر store: في المشروع يوفّر الحل. التفاصيل الكاملة في Root resolution.

openers ​

الأدوات التي يمكن لمجموعة العمل أن تُفتح بها، مفهرسة بمعرّف الأداة. عدّل openers في config.json العام باستخدام openspec config edit في طرفيتك.

الحقلالشروط
styleworkspace-file أو attach-dirs. مطلوب للأداة الجديدة؛ اختياري للأداة المدمجة.
labelسلسلة نصية غير فارغة تُعرض في منتقي الأدوات. الافتراضي هو المعرّف للأداة الجديدة.
commandاسم أو مسار ملف تنفيذي غير فارغ. الافتراضي هو المعرّف للأداة الجديدة. ضع الوسائط في args، وليس في هذه السلسلة.
argsمصفوفة من السلاسل النصية التي تُمرر قبل ملف مساحة العمل أو أعلام الإرفاق. الافتراضي هو [] للأداة الجديدة.
attach_flagسلسلة نصية غير فارغة تُقرن بكل مسار عضو لـ attach-dirs. الافتراضي هو --add-dir للأداة الجديدة. تُتجاهل لـ workspace-file.

تجاوزات الأدوات المدمجة: تحتفظ code وcursor وclaude وcodex بأي حقول تغفلها. تعيين args يستبدل قائمة الوسائط بالكامل؛ و[] يمسحها.

أنماط التشغيل: يمرّر workspace-file مسار .code-workspace المُنشأ إلى الملف التنفيذي. ويمرّر attach-dirs زوجاً واحداً من العلم/المسار لكل عضو، بما في ذلك العضو الأساسي.

التوفر: مشغلات attach-dirs، بما فيها Claude Code وCodex، معطلة افتراضياً. لا يمكنك اختيارها أو حفظها باستخدام --tool، ويرفض OpenSpec فتح مجموعة عمل تشير إلى واحدة منها. لا تؤدي تجاوزات الإعداد إلى تمكين نمط التشغيل attach-dirs.

التحقق: الحقول غير المعروفة والأنواع غير الصالحة والأداة الجديدة بدون style تتسبب في الفشل عند قراءة أمر مجموعة العمل لجدول المشغلات.

هذا المثال يضيف VS Code Insiders ويمرّر --new-window في كل مرة يُشغّل فيها مشغل VS Code المدمج:

json
{
  "openers": {
    "code-insiders": {
      "style": "workspace-file",
      "label": "VS Code Insiders"
    },
    "code": {
      "args": ["--new-window"]
    }
  }
}

يجب أن يكون الملف التنفيذي code-insiders أو code المقابل مثبتاً ومتاحاً على PATH.

telemetry ​

تخزّن واجهة سطر الأوامر معرّفك المجهول وما إذا كان إشعار التشغيل الأول قد ظهر. عيّن telemetry.enabled على false لتعطيل القياس عن بُعد. يمكنك أيضاً الانسحاب بتعيين OPENSPEC_TELEMETRY=0 أو DO_NOT_TRACK=1 في بيئتك.

مثال ​

نموذج مملوء من config.json:

json
{
  "profile": "core",
  "delivery": "both",
  "featureFlags": {},
  "telemetry": {
    "anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
    "noticeSeen": true
  }
}