
شنو هو ai-phone؟
ai-phone هو وكيل هاتفي بالذكاء الاصطناعي كيخدم فالحاسوب ديالك. يقدر يستقبل المكالمات الواردة، يدير مكالمات صادرة، يجري محادثات انطلاقاً من تعليمات مكتوبة، ويوفّر أوامر خطوة بخطوة للتكامل مع وكيل خارجي.
الإصدار الحالي مصمم لـ macOS على Apple Silicon. التعرف على الكلام وتركيبه كيجريا محلياً عبر MLX، حتى إلا كان نموذج اللغة الحواري بعيداً. الحاسوب اللي كيستضيف ai-phone خاصو يكون Mac مدعوم، ولكن المتصلين يقدرو يستعملو أي هاتف أو عميل SIP.
الميزات الرئيسية
- مكالمات واردة وصادرة: كوّن أي اتجاه أو فعّل بجوج أثناء الإعداد.
- معالجة الكلام محلياً: التعرف على الكلام وتركيب الصوت كيبقاو فالـ Mac.
- نماذج لغة مرنة: استعمل نموذج MLX محلي، أو اشتراك Claude Code أو Codex، أو نقطة نهاية متوافقة مع OpenAI.
- الاتصال عبر SIP والهاتف: جرّب بعنوان SIP مباشر أو ربط خط SIP، أو حساب Telnyx، أو حساب Twilio للحصول على أرقام هاتفية.
- الأتمتة عبر سطر الأوامر: بدا المكالمات بموجّه واستقبل النص المفرغ الناتج.
- وضع الترحيل: خلّي وكيلاً آخر عندو الولوج للصدفة يتحكم فكل دور من أدوار المحادثة.
- اختيارات الصوت: استعمل Phonon بالصوت الإنجليزي المرفق به، أو Kokoro بأصوات أمريكية وبريطانية وسرعة قابلة للتعديل.
ai-phone كيدعم حالياً الإنجليزية ومكالمة نشطة وحدة فكل مرة.
المتطلبات
المنصة المدعومة
خاصك Mac بمعالج Apple Silicon. أجهزة Mac بمعالجات Intel وLinux وWindows ما مدعومينش حالياً، حيث إن أنظمة الكلام الخلفية كتحتاج MLX والتثبيت فيه تكامل خاص بالمنصة.
الذاكرة والتخزين
- 8 GB من RAM: الإعداد كيقترح نموذجاً أصغر بحجم 2B.
- 16 GB من RAM: موصى بها للنموذج الافتراضي بحجم 4B.
- 32 GB من RAM: موصى بها للنموذج بحجم 9B.
- التخزين: خصص عدة جيجابايت لتنزيل أوزان النماذج. الإعداد كيتحقق من المساحة المتوفرة فالقرص.
البرمجيات والاتصال الهاتفي
ثبّت Git وHomebrew وuv قبل ما تبدا. المُثبّت كيتكلف بحزم Python المطلوبة ومكتبة SIP الأصلية.
بالنسبة للمكالمات، استعمل عنوان SIP للاتصال المباشر أو عطِ بيانات خط SIP ديالك، أو حساب Telnyx، أو حساب Twilio. ممكن تطبق رسوم المشغّل وحدود الاشتراك.
ثبّت ai-phone
نزّل المستودع باستعمال clone، دخل للمجلد ديالو، شغّل المُثبّت، وبدى الإعداد التفاعلي:
git clone https://github.com/oxnw/ai-phone.git
cd ai-phone
./scripts/install.sh
uv run ai-phone setup
عملية الإعداد كتسولك واش بغيتي مكالمات واردة، أو صادرة، أو بجوج. من بعد كتهيّأ نموذج اللغة وخط الهاتف والصوت. بالنسبة لنموذج محلي، الإعداد كيقترح اختياراً بناءً على الذاكرة المكتشفة وكينزّل الأوزان المطلوبة.
إلا ما خدموش معاك مزيان المطالب التفاعلية العادية فالطرفية، استعمل الوضع العادي:
uv run ai-phone setup --plain
شغّل خدمة الهاتف
من بعد الإعداد، شغّل الخدمة من مجلد المستودع:
uv run ai-phone run
خلّي هاد العملية خدامة فكل وقت بغيتي تستقبل المكالمات. للاستعمال الصادر فقط، شغّلها قبل ما تدير المكالمة ووقفها بـ Ctrl-C ملي تسالي.
الإعداد ما كيثبتش خدمة كتخدم فالخلفية. خاصك تشغّل الخدمة براسك من بعد الإعداد أو من بعد إعادة تشغيل الحاسوب.
دير مكالمة صادرة
خلّي الخدمة خدامة وحلّ طرفية أخرى فمجلد المستودع. استعمل call مع رقم الوجهة وموجّه كيشرح المهمة:
uv run ai-phone call +15555550100 --json \
--prompt "Ask whether they have a table for two at eight tonight."
بدّل +15555550100 بالرقم اللي ناوي تعيط ليه. ملي كتسالي المكالمة، الأمر كيرجع النص المفرغ ديالها. كل مكالمة صادرة كتبدا بإشعار بأن المتكلم ذكاء اصطناعي.
المكالمات الواردة كتستعمل التحية والتعليمات اللي تحفظو أثناء الإعداد.
جرّب SIP محلياً ومجاناً
تقدر تجرّب محلياً بلا ما تدير مكالمة عبر المشغّل. شغّل الإعداد، فعّل المكالمات الواردة، اختار عنوان SIP، وخلي الاسم الافتراضي agent. ومنين تكون خدمة ai-phone خدامة، نفّذ:
pjsua --local-port 5070 sip:agent@127.0.0.1
هاد الشي كيربط عميل SIP محلي بالوكيل عبر عنوان loopback، وكيخليك تتحقق من سير المكالمة الواردة الأساسي قبل ما تهيّأ مزوّد الهاتف.
تحكّم فالمكالمات بوضع الترحيل
وضع الترحيل مخصص لوكيل خارجي عندو الولوج للصدفة. بلا ما تعطي ai-phone موجهاً واحداً للمحادثة كاملة، يقدر الوكيل الخارجي يبدا المكالمة، يهضر، يسمع، ويقرر شنو يدير من بعد كل جواب.
بدا مكالمة بالترحيل
uv run ai-phone call +15555550100 --relay --json
هضر وسمع دوراً بدور
uv run ai-phone say "Hi, I'd like to book a table for two." --json
uv run ai-phone listen --json
uv run ai-phone say "Eight o'clock, please." --json
سالِ المحادثة
uv run ai-phone hangup --say "Thank you. Goodbye." --json
كل أمر كيستعمل --json كيكتب كائناً واحداً بصيغة JSON فالإخراج القياسي. الأمر call كيكتب حتى أحداث التقدم فالإخراج القياسي للأخطاء، لذلك خاص التكاملات تعالج هاد التدفقات بشكل منفصل.
إلا ما كايناش مكالمة ناشطة، listen --json كيبقى كيتسنى مكالمة داخلة وكيتعامل معاها فمود الريلاي. الدور ديال الريلاي اللي ما تجاوبش كيسالي الوقت ديالو من بعد 25 ثانية افتراضياً. راجع مرجع أوامر الوكيل باش تعرف معرّفات المكالمات، وكيفاش تجيب النص المفرّغ، والمهل الزمنية القابلة للتهيئة، ورموز الخروج.
اختار الموديلات والأصوات
التعرّف على الكلام
ai-phone كيستعمل Parakeet محلياً عبر MLX للتعرّف على الكلام.
موديل المحادثة
موديل اللغة يقدر يكون موديل MLX محلي، ولا الاشتراك ديالك فـ Claude Code أو Codex، ولا نقطة نهاية متوافقة مع OpenAI. الإعداد كيساعدك تهيّأ الاختيار اللي حددتي.
تركيب الصوت
Phonon كيوفّر صوت إنجليزي مدموج. Kokoro كيوفّر أصوات أمريكية وبريطانية مع إمكانية تعديل سرعة النطق.
إلا استعملتي موديل لغة عن بُعد، كيوصلو نص المكالمة، والتعليمات، وتاريخ المحادثة. وإلا استعمل وكيل خارجي مزوّد خدمة سحابية، فهاد المزوّد يقدر حتى هو يتوصل بأي نصوص مفرّغة كتتعطى ليه. التعرّف على الكلام وتركيبو كيبقاو محليين، بينما صوت الهاتف كيدوز عبر SIP وRTP.
نصائح متقدمة فالتهيئة
عاود شغّل الإعداد ملي كتبدل المتطلبات
عاود شغّل الإعداد باش تبدل الصوت، والموديل، واتجاهات المكالمات المفعّلة، ولا معرّف المتصل:
uv run ai-phone setup
عاود شغّل الخدمة من بعد ما تبدل التهيئة باش الإعدادات الجديدة تولّي خدامة.
بدا بـ SIP المحلي قبل ما تزيد مزوّد اتصالات
جرّب الوكيل أولاً باختبار SIP ديال loopback. منين تخدم المكالمات المحلية، هيّأ SIP trunk أو Telnyx أو Twilio إلا كنت محتاج أرقام هاتف عادية. للمشاكل المرتابطة بالشبكة، راجع لائحة فحص NAT ديال المشروع.
اختار موديل مناسب للذاكرة المتوفرة
تبع التوصية ديال الإعداد المبنية على RAM، عوض ما تختار أكبر موديل أوتوماتيكياً. اختيار 2B مخصص للأنظمة اللي فيها ذاكرة قليلة، بينما الموديل الافتراضي 4B والموديلات الأكبر 9B كيحتاجو ذاكرة أكثر.
خد بعين الاعتبار التأخير الحالي وحالة الاختبارات
الـ README كيشير لوسيط ديال 1.50 ثانية قبل أول رد مسموع فآخر تشغيل محلي مع ضغط كبير على الذاكرة، وهاد الشي ما وصلش للهدف ديال المشروع اللي هو ثانية وحدة. اختبارات المكالمات المحلية والمقاطعة دازت، ولكن اختبارات القبول ديال المزوّدات الحية والوكيل من البداية للنهاية مازال ما تسالاتش. راجع القياسات المنشورة وتاريخ التأخير ملي كتقيّم واش النظام واجد للنشر.
استعمل المراجع المفصلة
- دليل الاستعمال للخطوط، والتحويل، ومعرّف المتصل، والموديلات، وأوامر CLI.
- مثال على التهيئة للإعدادات المتاحة.
- دليل البنية للمكوّنات وتدفّق المكالمات.
- لائحة فحص NAT لتهيئة الشبكة.
اعتبارات الرخصة
ai-phone مرخّص بموجب AGPL-3.0-or-later. ملفات واجهة PJSIP المدموجة ديالو كتستعمل GPLv2-or-later؛ راجع ملاحظات الرخصة ديال المشروع قبل ما توزّع البرنامج ولا تدمجو.
الخلاصة
ai-phone كيوفّر طريقة عملية عبر سطر الأوامر باش تشغّل وكيل هاتف بالذكاء الاصطناعي على Mac بمعالج Apple Silicon. من بعد ما تثبّتو، هيّأ موديل وخط SIP، شغّل الخدمة، وجرّب محلياً قبل ما تدير مكالمات عبر مزوّد الاتصالات. للأتمتة، مود الريلاي كيعطي وكيل خارجي تحكماً منظماً، دور بدور، عبر أوامر shell كتنتج JSON.
