الانتقال إلى المحتوى الرئيسي
oh-my-pi (الأمر omp، ويُعرف أيضًا باسم pi-mono — المشروع نفسه) هو وكيل برمجة طرفي بسيط وقابل للتوسعة.
البروتوكول: متوافق مع OpenAI
  • عنوان URL الأساسي: https://api.orcarouter.ai/v1 (يتضمن اللاحقة /v1)

التثبيت

bun install -g @oh-my-pi/pi-coding-agent
يتطلب bun >= 1.3.14. الأمر المثبَّت هو omp.

الإعداد

أولًا صدّر مفتاح API الخاص بك كمتغير بيئة:
export ORCA_KEY="sk-orca-..."
ملف الإعداد: ~/.omp/agent/models.yml.
providers:
  orcarouter:
    baseUrl: https://api.orcarouter.ai/v1
    api: openai-completions
    apiKey: ORCA_KEY
    authHeader: true
    models:
      - id: orcarouter/auto
        name: OrcaRouter Auto
        reasoning: false
        input: [text]
        contextWindow: 200000
        maxTokens: 8192
        compat:
          supportsDeveloperRole: false
          maxTokensField: max_tokens
استبدل orcarouter/auto بنموذج محدّد إن فضّلت ذلك، مثل anthropic/claude-opus-4.8 أو google/gemini-2.5-flash. تستخدم معرّفات النماذج دائمًا صيغة vendor/model.

التشغيل

omp -p --model "orcarouter/orcarouter/auto" "Reply with exactly: OK"
الناتج المتوقع: OK.

ملاحظات

  • يتطلب bun >= 1.3.14.
  • يجب أن يتضمن base_url المسار /v1.
  • يأخذ الحقل apiKey اسم متغير بيئة، لا المفتاح نفسه؛ ومع authHeader: true يُرسَل بالصيغة Authorization: Bearer <value>.
  • تستخدم إشارات النماذج صيغة provider/model — هنا orcarouter/orcarouter/auto (المزوّد orcarouter + معرّف النموذج orcarouter/auto).
  • استخدم -p للتشغيل غير التفاعلي.
  • oh-my-pi و pi-mono هما المشروع نفسه؛ والأمر هو omp في كليهما.

تفعيل التفكير / الاستدلال

مدخل النموذج الافتراضي أعلاه يحمل reasoning: false. لتفعيل الاستدلال والسماح باختيار الجهد، أعلِن كتلة thinking إضافةً إلى compat.reasoningEffortMap على النموذج:
models:
  - id: anthropic/claude-sonnet-4.6
    name: Claude Sonnet 4.6
    reasoning: true
    thinking:
      minLevel: low
      maxLevel: xhigh
      mode: effort
    input: [text]
    contextWindow: 200000
    maxTokens: 8192
    compat:
      supportsDeveloperRole: false
      supportsReasoningEffort: true
      maxTokensField: max_tokens
      thinkingFormat: openai
      reasoningEffortMap: { low: low, medium: medium, high: high, xhigh: high }
ثم اختر مستوى الجهد عند التشغيل عبر لاحقة model:level (ضمن النطاق minLevel..maxLevel):
omp -p --model "orcarouter/anthropic/claude-sonnet-4.6:high" "What is 17*23?"
تم التحقق: اللاحقة :high تختار مستوى الجهد وتعمل مع OrcaRouter.