الانتقال إلى المحتوى الرئيسي
Pi هو مشروع Pi Agent Harness. توفّر حزمة @earendil-works/pi-coding-agent الخاصة به واجهة سطر أوامر لوكيل برمجي تفاعلي تدعم سير عمل الملفات وshell وedit وwrite وsession وprint وJSON وRPC وSDK. يمكن لـ Pi تحميل موفّرين مخصّصين من ~/.pi/agent/models.json، لذلك يمكنك إضافة CometAPI كإدخالات provider متوافقة مع OpenAI دون تغيير الشيفرة المصدرية لـ Pi. المراجع الرسمية:
يتغيّر توفّر النماذج بمرور الوقت. استبدل your-model-id بمعرّف model ID متاح من صفحة نماذج CometAPI.

المتطلبات المسبقة

  • Node.js >=22.19.0
  • npm
  • حساب CometAPI مع API key نشط من لوحة التحكم
  • تثبيت Pi من حزمة npm الرسمية

فهم أذونات وقت التشغيل

يعمل Pi بأذونات المستخدم والعملية اللذين يقومان بتشغيله. شغّل Pi داخل دليل المشروع الذي تريد أن يعمل عليه، واحتفظ بمسار تراجع مثل git، واستخدم حاوية أو sandbox إذا كنت بحاجة إلى حدود أقوى لنظام الملفات أو العمليات أو الشبكة أو بيانات الاعتماد.

تهيئة المزوّد

1

تثبيت Pi

ثبّت Pi بشكل عام باستخدام npm:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
أكّد أن أداة CLI متاحة:
pi --version
2

تعيين مفتاح CometAPI API الخاص بك

خزّن مفتاح CometAPI API الخاص بك في متغير البيئة COMETAPI_KEY:
read -rsp "CometAPI API key: " COMETAPI_KEY
printf '\n'
export COMETAPI_KEY
أضف أمر التصدير إلى ملف تعريف shell إذا كنت تريد أن يستمر عبر جلسات الطرفية. لا تقم بإيداع مفاتيح API في نظام التحكم في الإصدارات.
3

إضافة مزوّدي CometAPI إلى models.json

أنشئ ~/.pi/agent/models.json إذا لم يكن موجودًا. إذا كان الملف يحتوي بالفعل على providers، فادمج الإدخالين cometapi-responses وcometapi-chat داخل الكائن providers الحالي:
{
  "providers": {
    "cometapi-responses": {
      "name": "CometAPI Responses",
      "baseUrl": "https://api.cometapi.com/v1",
      "api": "openai-responses",
      "apiKey": "$COMETAPI_KEY",
      "models": [
        {
          "id": "your-model-id",
          "name": "CometAPI Responses model"
        }
      ]
    },
    "cometapi-chat": {
      "name": "CometAPI Chat Completions",
      "baseUrl": "https://api.cometapi.com/v1",
      "api": "openai-completions",
      "apiKey": "$COMETAPI_KEY",
      "models": [
        {
          "id": "your-model-id",
          "name": "CometAPI Chat model"
        }
      ]
    }
  }
}
استخدم cometapi-responses للنماذج أو مسارات العمل التي تتطلب OpenAI Responses API. واستخدم cometapi-chat للنماذج المتوافقة مع OpenAI Chat Completions. يقوم Pi بحل $COMETAPI_KEY وقت الطلب. احتفظ بمفتاح API في بيئتك أو ضمن سير العمل الخاص بالأسرار لديك.
4

التحقق من كلا المزوّدين

اعرض النماذج التي يمكن لـ Pi رؤيتها لمزوّد Responses:
pi --list-models cometapi-responses
شغّل Prompt قصيرًا لمرة واحدة باستخدام مزوّد Responses:
pi --provider cometapi-responses --model your-model-id -p "Reply with one short sentence confirming the Responses connection."
اعرض النماذج التي يمكن لـ Pi رؤيتها لمزوّد Chat Completions:
pi --list-models cometapi-chat
شغّل Prompt قصيرًا لمرة واحدة باستخدام مزوّد Chat Completions:
pi --provider cometapi-chat --model your-model-id -p "Reply with one short sentence confirming the Chat Completions connection."
للاستخدام التفاعلي، ابدأ Pi في مشروعك وحدد مزوّد CometAPI والنموذج باستخدام /model. إذا قمت بتحرير models.json أثناء جلسة تفاعلية، فافتح /model مرة أخرى لكي يعيد Pi تحميل إدخالات النموذج المخصصة.

استكشاف الأخطاء وإصلاحها

تأكد من أن ~/.pi/agent/models.json هو JSON صالح وأن كل إدخال provider موجود داخل الكائن الأعلى مستوى providers. شغّل pi --list-models cometapi-responses أو pi --list-models cometapi-chat بعد حفظ الملف.
تأكد من أن COMETAPI_KEY مضبوط في جلسة shell نفسها التي تشغّل Pi. إذا كنت تستخدم shell profile، فافتح terminal جديدًا أو نفّذ source للملف الشخصي قبل تشغيل Pi.
استخدم https://api.cometapi.com/v1 كقيمة baseUrl في models.json. لا توجّه Pi إلى رابط لوحة التحكم ولا تحذف اللاحقة /v1 لمسارات OpenAI-compatible.
تحقّق من إصدار Node.js لديك باستخدام node --version. تتطلب حزمة Pi إصدار Node.js >=22.19.0.
استخدم إدخال provider الذي يطابق فيه الحقل api المسار الذي يدعمه نموذجك. يستخدم openai-responses واجهة Responses API، بينما يستخدم openai-completions واجهة Chat Completions.
يعمل Pi بصلاحيات المستخدم والعملية اللذين قاما بتشغيله. شغّل Pi داخل حاوية أو sandbox عندما تحتاج إلى حدود أقوى حول الملفات أو العمليات أو الوصول إلى الشبكة أو بيانات الاعتماد.

موارد ذات صلة