Voice وضع التحدث الصوتي: قل التوجيهات بصوتك بدلاً من كتابتها
📚 دليل السلسلة: الدرس السابق 46 إعدادات التطوير علمك كيفية تهيئة وتجهيز بيئة العمل المناسبة لـ Claude Code. هذا الدرس يعود بنا لتسهيل الحركة الأكثر تكراراً يومياً — وهي كيفية نطق التوجيهات بصوتك ليقوم بتحويلها تلقائياً لنصوص مكتوبة في نفس اللحظة. فبمجرد تفعيل أمر
/voiceواحتجاز زر المسافة للتحدث، تسقط الكلمات مكتوبة في صندوق المدخلات، ويمكنك خلط التحدث الصوتي مع الكتابة اليدوية معاً. وبالرغم من كونه يبدو أمراً خيالياً، إلا أن تفعيله يتطلب أمراً بسيطاً واحداً، ولكن هناك شروطاً صارمة للتشغيل يجب التعرف عليها لئلا تتعطل في الخطوة الأولى.
⚠️ ميزة تجريبية، قد تتغير مع الإصدارات. تعتمد الأوامر والمعاملات وإصدارات الأداة الواردة في هذا الدرس على الوثائق الرسمية، ولكن خدمة التحدث والتحويل الصوتي لا تزال تخضع للتطوير، وقد تختلف السلوكيات الفعلية عند تجربتها، فاعتمد على التنبيهات المباشرة لأمر /voice على جهازك.
يقال دائماً إن "ما يمكن إنجازه باللسان لا داعي للقيام به باليد" لتوفير الجهد، ولكن بصراحة — يعتبر التحدث الصوتي خياراً غير عملي للمبرمجين لفترة طويلة — فنحن نكتب بسرعة بالغة على لوحة المفاتيح، والملفات مليئة بأسماء المتغيرات والدوال البرمجية وصيغ snake_case، ونطقها شفهياً لمحرك تحويل الصوت يترجمها في أغلب الحالات لرموز متشابهة وخاطئة، لتستهلك وقتاً في تصحيحها يفوق وقت كتابتها يدوياً. فمحاولة كتابة ملاحظات تقنية عبر ميزات التحدث الصوتي العادية تحول الاختصار useEffect مثلاً إلى كلمات متباعدة مثل "U se if act"، لتضطر لإغلاقها نهائياً بعد مواجهة هذه المشكلة لعدة مرات.
ولذلك عند سماعك بإطلاق ميزة التحدث الصوتي لـ Claude Code، فمن الطبيعي أن تواجهها ببعض الشك والتحفظ — وتظن أنها مجرد إضافة استعراضية. ولكن هناك ميزتان غيرتا هذه النظرة: الأولى، أن الميزة موجهة ومهيأة خصيصاً للمصطلحات البرمجية، وتتعرف بنجاح على كلمات مثل regex و OAuth و JSON و localhost؛ الثانية، أنها تقرأ اسم مشروعك الحالي واسم فرع git وتغذيها تلقائياً للمحرك كقرائن لتحسين التعرف على النطق، مما يرفع نسبة نجاح تحويل "المصطلحات الخاصة بمشروعك" بشكل ملحوظ مقارنة بأدوات التحدث العامة.
وهذا ما يصنع الفارق. فالميزة لا تهدف لإجبارك على نطق الأكواد البرمجية، بل تهدف لراحتك من "كتابة الوصف الطويل للمتطلب" — فجلوسك على الكرسي ونطقك لـ "أعد هيكلة وحدة auth البرمجية واستعن بـ helper الجديد للتحقق من token" أسهل بكثير من كتابة هذه التفاصيل حرفاً بحرف. وسنأخذك في هذا الدرس لتفعيل الميزة واستخدامها بسلاسة، مع حل مشكلات التشغيل الشائعة.
بعد قراءة هذا الدرس، ستحصل على:
- شرح مبسط لآلية التحدث الصوتي، وأين تتم عملية تحويل الصوت (ليست على جهازك المحلي)
- الخط الأحمر الأهم للتشغيل — الاعتماد الحصري على تسجيل الدخول بحساب Claude.ai، وعدم إمكانية تفعيلها تماماً لمن يستخدم مفتاح API
- جدول يوضح مدى دعم الأنظمة المختلفة (Mac / Windows / Linux / WSL / الاتصال البعيد / VS Code)
- الفارق بين وضعي التسجيل الصوتي (الاحتجاز الصامت مقابل الضغط المباشر) والسيناريو الأنسب لكل منهما
- كيفية تفعيل الميزة افتراضياً مع التشغيل، وتعديل لغة التحدث، وتبديل مفتاح التشغيل
- تطبيق عملي مع خطوات تشغيل ونتائج متوقعة: من تفعيل الميزة وحتى نطق التوجيه الأول
01 افهم أولاً: ما هي ميزة التحدث الصوتي، وأين يتم تحويل الصوت لنص
الخلاصة أولاً: ميزة التحدث الصوتي هي "تحويل كلماتك المنطوقة في نفس اللحظة لنصوص مكتوبة تسقط في صندوق المدخلات" — وهي لا تهدف لإنشاء "محادثة صوتية" مع Claude، بل تهدف لـ استبدال حركة أصابعك على لوحة المفاتيح بـ صوتك المنطوق.
تشبيه: الترجمة التلقائية الفورية في الاجتماعات. أثناء حضورك لاجتماع مرئي، تفعل ميزة الترجمة ليظهر كلامك مكتوباً أسفل الشاشة في نفس اللحظة — وأنت لا تتحدث مع الترجمة، بل تتولى هي كتابة كلامك المنطوق. وهذا هو دور ميزة التحدث الصوتي لـ Claude Code: تضغط على الزر وتتحدث، لتتحول الكلمات لنصوص في صندوق المدخلات، ويمكنك التعامل مع النص المكتوب لاحقاً بنفس الطريقة المعتادة — كأن تضيف كلمات يدوياً وتضغط على Enter لإرسال الطلب لـ Claude.
وتوضح الوثائق الرسمية هذا المفهوم ببساطة:
قل توجيهاتك بصوتك بدلاً من كتابتها في طرفية Claude Code CLI. وسيتم تحويل كلامك المنطوق لنصوص مكتوبة في صندوق المدخلات مباشرة، مما يتيح لك الدمج بين التحدث الصوتي والكتابة اليدوية معاً في نفس الرسالة.
وانتبه للتهيئة الذكية المتمثلة في "الدمج بين التحدث الصوتي والكتابة يدوياً". فالنصوص الناتجة عن التحويل تسقط في موضع مؤشر الكتابة (cursor)، ويقف المؤشر في نهاية النص المضاف، مما يتيح لك نطق جزء وكتابة جزء آخر: تنطق الوصف الطويل للمتطلب بصوتك، وتكتب اسم الملف أو الدالة البرمجية بدقة بيدك. وهذا هو السر وراء سلاسة استخدامها مقارنة بأدوات التحدث العامة الأخرى.
والتفصيل التالي حاسم جداً، ويحدد إمكانية تشغيل الميزة الموضحة في القسم التالي: وهي أن معالجة وتحويل الصوت لا تتم محلياً على جهازك. وتوضح الوثائق الرسمية ذلك صراحة:
تنقل ميزة التحدث الصوتي تدفق التسجيل الصوتي لخوادم Anthropic لمعالجته وتحويله لنصوص. ولا تتم معالجة الصوت محلياً على جهازك الفعلي.
وبموجب هذا النقل والتحويل الخارجي، تترتب ثلاثة شروط أساسية يجب تذكرها وسنفصلها في القسم التالي: أولاً، ضرورة توفر اتصال بالإنترنت؛ ثانياً، وجوب تسجيل الدخول بحساب Claude.ai (لتعرف الخوادم هوية الحساب المرسل)؛ ثالثاً، تعذر استخدام الميزة في البيئات البعيدة التي لا تملك وصولاً للميكروفون المحلي.
ونختم هذا القسم بخبر سار يسهل إهماله: أن عملية تحويل الصوت مجانية بالكامل ولا تستهلك من رصيدك المالي. وتؤكد الوثائق الرسمية:
لا يستهلك تحويل الصوت من رصيد رسائل Claude أو التوكنز، ولا يدرج ضمن قيود الرسوم الموضحة في لوحة
/usage.
بمعنى آخر، يمكنك التحدث وتحويل الكلمات كما تشاء، دون أن يؤثر ذلك على ميزانية اشتراكك (الرسوم والاشتراكات المشروحة في الدرس 06). ويظهر ذلك بوضوح عند مراجعة لوحة /usage — فاستخدام التحدث الصوتي لا يغير من أرقام الاستهلاك المالي شيئاً. فلا تقلق من تكرار استخدامها وتأثيره على التكاليف، فهو يختلف تماماً عن إرسال الطلبات للنموذج.
💡 خلاصة القول في جملة واحدة: التحدث الصوتي = استبدال "الكتابة" بـ "النطق"، وتتعامل مع النص الناتج كأنه نص مكتوب بيدك، وتستطيع خلطهما معاً؛ ويتم إرسال الصوت لخوادم Anthropic لتحويله ولا يتم محلياً، وتذكر أن عملية التحويل مجانية ولا تستهلك من رصيدك المالي في
/usage.
02 الخط الأحمر الأول: الاعتماد الحصري على حساب Claude.ai، ويستثنى منه مفتاح API تماماً
هذا القسم هو الأقصر، ولكنه الأهم للقراءة أولاً — فمعظم من يتعطل في الخطوة الأولى يرجع السبب لهذا الشرط.
كما أشرنا سابقاً، يتطلب تحويل الصوت إرسال التسجيل لخوادم Anthropic، ويجب أن تتعرف الخوادم على حسابك. ولذلك تضع الميزة شرطاً صارماً: وجوب تسجيل الدخول بحساب Claude.ai المعتمد. وتوضح الوثائق الحالات غير المدعومة بالتفصيل:
لا تتوفر ميزة تحويل الصوت لنصوص إلا عند تسجيل الدخول بحساب Claude.ai المعتمد، ولا يمكن تشغيلها عند تهيئة Claude Code للعمل المباشر بالاعتماد على مفتاح API لـ Anthropic، أو خدمات Amazon Bedrock، أو Google Vertex AI، أو Microsoft Foundry. كما يتعطل استخدام الميزة عند تفعيل معايير الامتثال HIPAA للمنظمات.
بالمصطلحات البسيطة — راجع طرق ربط واتصال Claude Code المشروحة في الدرسين 04 و 05:
- إذا كنت تسجل الدخول بـ حساب اشتراك مدفوع (Pro / Max التابع لـ Claude.ai) ← ✅ تعمل الميزة.
- إذا كنت تستخدم مفتاح API لـ Anthropic، أو تربطه بخدمات Bedrock / Vertex / Foundry ← ❌ لا تعمل الميزة تماماً.
- إذا فعلت المنظمة معايير HIPAA ← ❌ لا تعمل الميزة أيضاً.
وهذا سلوك مقصود ومصمم كذلك — فخدمة تحويل الصوت ترتبط ببنية حسابات Claude.ai، ولا تدعمها حسابات مفاتيح API البرمجية.
وكيف تتأكد من طريقة دخولك الحالية؟ الطريقة الأضمن هي التجربة المباشرة: شغّل أمر /voice، وإذا كنت تستخدم مفتاح API فستعرض لك الطرفية خطأ واضحاً:
Voice mode requires a Claude.ai account
بمجرد رؤية هذا الخطأ، تجنب تضييق الخناق على أذونات الميكروفون، فالسبب الأساسي هو نوعية الحساب المستخدم. وتوفر الوثائق الحل مباشرة: شغّل أمر /login لتسجيل الدخول بحساب Claude.ai المعتمد. والمطورون الذين يتركون مفاتيح API للعمل على أجهزتهم يواجهون هذا الخطأ فور كتابة /sandbox أو /voice ويظنون أن الخلل في الميكروفون — بينما السبب هو عدم دعم نوعية الحساب للميزة. وتثبيت هذه المعلومة يوفر عليك عناء البحث.
| طريقة ربط واتصال الأداة (الدرسين 04 و 05) | هل تدعم ميزة التحدث الصوتي؟ |
|---|---|
| تسجيل الدخول بحساب Claude.ai (اشتراك Pro / Max) | ✅ تدعم |
| استخدام مفتاح API لـ Anthropic | ❌ يظهر خطأ requires a Claude.ai account |
| خدمات Amazon Bedrock / Google Vertex / Microsoft Foundry | ❌ لا تدعم |
| تفعيل معايير الامتثال HIPAA للمنظمات | ❌ لا تدعم |
💡 خلاصة القول في جملة واحدة: تتطلب ميزة التحدث الصوتي تسجيل الدخول بحساب Claude.ai حصراً — وتتوقف عند استخدام مفتاح API أو بوابات Bedrock أو Vertex أو Foundry أو تفعيل HIPAA مع ظهور رسالة خطأ صريحة، والحل هو التبديل لحساب معتمد عبر أمر
/login.
03 الخط الأحمر الثاني: وجوب توفر ميكروفون محلي، ودعم الأنظمة في جدول واحد
بعد التحقق من الحساب، تأتي العقبة الثانية المتمثلة في العتاد والبيئة: بالرغم من معالجة الصوت في السحاب، إلا أن الصوت يجب أن يسجل بالاعتماد على ميكروفون جهازك الفعلي. ويحدد هذا الشرط إمكانية تشغيل الميزة بحسب البيئة والأنظمة.
تشبيه: ضرورة توفر ميكروفون حقيقي أمامك للتحدث. فمهما كانت ميزات الترجمة والتحويل الصوتي ذكية، فلن تعمل دون وجود ميكروفون يلتقط الذبذبات الصوتية — وجلوسك أمام خادم بعيد لا تملك وصولاً لميكروفونه الفعلي يجعل المحرك عاجزاً عن العمل. وتعمل ميزة التحدث الصوتي لـ Claude Code بنفس الطريقة: فهي تتطلب صلاحية الوصول للميكروفون المحلي لجهازك الفعلي، ولذلك تتوقف عند العمل في "البيئات والاتصالات البعيدة" التي تفصلك عن الآلة الفعلية.
وتوضح الوثائق الرسمية هذا الشرط بوضوح:
تتطلب ميزة التحدث الصوتي صلاحية الوصول للميكروفون المحلي لجهازك، ولذلك تتوقف عند العمل في البيئات البعيدة، مثل نسخة الويب لـ Claude Code أو جلسات الاتصال البعيد SSH.
ونلخص مدى دعم الأنظمة والبيئات المختلفة في هذا الجدول:
| النظام / بيئة التشغيل | مدى دعم الميزة | توضيحات وتنبيهات |
|---|---|---|
| نظام macOS | ✅ مدعوم تلقائياً | يظهر تنبيه أذونات النظام للميكروفون عند تشغيل /voice لأول مرة |
| نظام Windows | ✅ مدعوم تلقائياً | تفعيل صلاحية الميكروفون للطرفية من إعدادات النظام |
| أنظمة Linux | ✅ مدعوم تلقائياً، والبديل arecord / rec | عند غياب الأدوات، يعرض أمر /voice أوامر التثبيت المناسبة |
| بيئة WSL | ⚠️ تتطلب WSLg | تضم بيئات WSL2 الحديثة حزمة WSLg تلقائياً؛ وتتوقف مع WSL1 |
| جلسات SSH البعيدة | ❌ غير مدعوم | الميكروفون في جهازك الفعلي، وجلسة العمل مستقرة في الخادم البعيد |
| نسخة الويب لـ Claude Code | ❌ غير مدعوم | بيئة تشغيل بعيدة ولا تملك وصولاً للميكروفون المحلي (الدرس 11) |
| إضافة VS Code | ✅ مدعوم (مع حساب Claude.ai) | وتتوقف عند استخدام خيارات الاتصال البعيد VS Code Remote |
وننبه لأشهر معوقات التشغيل البرمجية:
تتوقف الميزة في كل خيارات الاتصال البعيد لنفس السبب. سواء كنت تستخدم SSH، أو نسخة الويب لـ Claude Code (الدرس 11)، أو إضافات VS Code المتصلة بخوادم بعيدة — فطالما كانت بيئة التشغيل مستقرة في خادم بعيد والميكروفون في جهازك الفعلي، فلن تعمل الميزة. وتنبه الوثائق الرسمية لإضافة VS Code بشكل خاص:
لا تعمل الميزة عند استخدام جلسات VS Code Remote، بما فيها SSH و Dev Containers و Codespaces، لأن الميكروفون الفعلي يستقر في جهازك المحلي بينما تعمل الإضافة داخل الخادم البعيد.
تتطلب بيئة WSL توفر حزمة WSLg. وتعتبر حزمة WSLg هي الأداة المسؤولة عن دعم تشغيل الواجهات الرسومية والصوتية داخل WSL2، وتأتي مدمجة مع تثبيته من متجر Microsoft في أنظمة Windows 10/11. وإذا كنت تستخدم إصدار WSL1 القديم، فلن تعمل الميزة — وتنصح الوثائق بالانتقال لتشغيل Claude Code على نظام Windows الأصلي مباشرة.
يعرض لك نظام Linux أوامر التثبيت عند غياب أدوات التسجيل. حيث تحاول الأداة استخدام المحرك المدمج أولاً، وتنتقل لاستخدام أدوات ALSA مثل arecord أو أدوات SoX مثل rec عند الفشل؛ وإذا لم تتوفر الأداتان معاً، فسيقوم أمر /voice بطباعة أمر التثبيت المناسب لنظامك مباشرة (مثل sudo apt-get install sox في توزيعات Debian)، لتنسخه وتشغله دون عناء البحث.
💡 خلاصة القول في جملة واحدة: تتم معالجة الصوت في السحاب ولكن التسجيل يتم بالميكروفون المحلي لجهازك الفعلي — لذا تعمل الميزة محلياً على أنظمة Mac/Win/Linux، وتتوقف تماماً في جلسات SSH والاتصال البعيد ونسخة الويب وإضافات VS Code Remote لتباعد الميكروفون عن بيئة العمل؛ وتتطلب WSL2 مع WSLg.
04 وضِعا التسجيل الصوتي: الاحتجاز الصامت، والضغط المباشر للتشغيل
بعد استيفاء الشروط وتفعيل الميزة، يتيح لك أمر /voice استخدام وضعين للتسجيل الصوتي — ويحددان كيفية بدء التسجيل وموعد إيقافه وهل يرسل الطلب تلقائياً أم لا.
تشبيه: استخدام اللاسلكي (Walkie-talkie) مقابل استخدام مسجل الصوت. عند استخدام اللاسلكي، يجب عليك الضغط والاستمرار في الضغط أثناء التحدث، وتتوقف بمجرد رفع إصبعك ليتلقى الطرف الآخر الرسالة — وهذا هو "وضع الاحتجاز (hold)"؛ وعند استخدام مسجل الصوت، تضغط مرة واحدة للبدء وتتحدث بحرية دون الحاجة لإبقاء إصبعك على الزر، وتضغط مرة أخرى لإيقاف التسجيل — وهذا هو "وضع الضغط المباشر (tap)". اختر ما يروق لك ويناسب أسلوب عملك.
ونلخص الفروق الأساسية بين الوضعين في هذا الجدول:
| وجه المقارنة | كيفية بدء التسجيل | كيفية إيقاف التسجيل | إرسال الطلب بعد التوقف | الأنسب لـ |
|---|---|---|---|---|
| وضع الاحتجاز (hold) الافتراضي | الضغط والاستمرار على Space | رفع إصبعك عن زر Space | ينتظر ضغطك على زر Enter يدوياً (ويمكن ضبط الإرسال التلقائي) | التحكم الدقيق في لحظات التسجيل، والتحدث على فترات متقطعة |
| وضع الضغط المباشر (tap) | الضغط لمرة واحدة على Space | الضغط لمرة ثانية على Space | يرسل الطلب تلقائياً (عند تجاوز 3 كلمات) | التحدث بحرية ودون الحاجة لإبقاء الإصبع على لوحة المفاتيح |
وضع الاحتجاز (hold) الافتراضي: مثل اللاسلكي، اضغط وتحدث
يعتمد هذا الوضع على الضغط المستمر أثناء التحدث: تضغط وتستمر بالضغط على زر Space للتسجيل، وترفع إصبعك للتوقف. وهو الوضع الافتراضي الفعال بمجرد كتابة أمر /voice دون تحديد معاملات.
ونبهت الوثائق على تفصيل هام يجدر بك التعرف عليه لتفادي الحيرة في التجربة الأولى: وهي وجود فترة "预热" (تهيئة مسبقة) قصيرة جداً. حيث يتعرف Claude Code على الضغط المستمر من خلال مراقبة تكرار ضغط الزر في الطرفية، ولذلك يظهر تأخير بسيط جداً في البداية مع ظهور عبارة keep holding… في الأسفل، ويتحول السجل لعرض موجات الصوت الفورية بمجرد اكتمال التهيئة. وتوضح الوثائق:
يتم إدخال الرموز الناتجة عن تكرار الضغط في البداية وتتم إزالتها تلقائياً بمجرد تفعيل التسجيل الصوتي الفعلي. وتؤدي الضغطة الواحدة والسريعة لزر
Spaceلكتابة مسافة عادية في صندوق المدخلات — لأن التعرف على التحدث لا يفعل إلا مع الضغط المستمر الطويل.
بمعنى آخر: أولاً، الرموز العشوائية التي تظهر في بداية الضغط يتم مسحها تلقائياً بمجرد بدء التسجيل الفعلي، فلا تقلق؛ ثانياً، الضغطة السريعة لزر المسافة تكتب مسافة عادية — فلا تعيق الميزة كتابتك المعتادة للنصوص يدوياً.
وأثناء التحدث، يظهر كلامك مكتوباً في صندوق المدخلات في نفس اللحظة (يظهر بلون خافت قبل تأكيد الكلمات)، وتثبت الحروف بمجرد رفع إصبعك عن زر Space. ويمكنك تكرار الضغط لإضافة جمل أخرى للمدخل الحالي. وافتراضياً، لا يتم إرسال الرسالة تلقائياً، بل ينتظر ضغطك لزر Enter — ليتيح لك فرصة التدقيق الإملائي والتعديل اليدوي قبل الإرسال. وإذا كنت تفضل الإرسال التلقائي فور التوقف، فيمكنك تفعيل خيار autoSubmit (وسنشرحه في القسم التالي)، ليرسل الطلب تلقائياً بشرط أن يحتوي على ثلاث كلمات على الأقل.
وضع الضغط المباشر (tap): مثل مسجل الصوت، ضغطة للبدء وضغطة للإنهاء
يعتمد هذا الوضع على التبديل بضغطة زر: تضغط على Space لمرة واحدة للبدء، وتتحدث، وتضغط على Space لمرة ثانية — ليتم إيقاف التسجيل وإرسال الطلب فوراً. ودون وجود فترة تهيئة مسبقة، ودون حاجة لإبقاء إصبعك مستقراً على لوحة المفاتيح.
شغّل أمر /voice tap لتفعيله. وانتبه لكون هذا الوضع يتطلب إصداراً أحدث للأداة مقارنة بوضع الاحتجاز — وتوضح الوثائق الرسمية:
تتطلب ميزة التحدث الصوتي إصدار Claude Code v2.1.69 أو أعلى. ويتطلب وضع الضغط المباشر (tap) إصدار v2.1.116 أو أعلى.
لذلك إذا واجهت مشكلة في تشغيل وضع tap، فتأكد من رقم الإصدار عبر claude --version أولاً.
ويضم وضع الضغط المباشر آليتي حماية لتفادي الأخطاء:
- لا تفعل الضغطة الأولى التسجيل إلا إذا كان صندوق المدخلات فارغاً تماماً — لضمان عدم تفعيل التسجيل بالخطأ أثناء كتابتك للمسافات العادية يدوياً في نص طويل.
- إذا كانت الكلمات المحولة أقل من ثلاث كلمات، فيتم إضافتها لصندوق المدخلات دون إرسالها تلقائياً — لمنع إرسال طلبات سريعة وخاطئة عند الضغط بالخطأ.
كما يضم ميزة الإيقاف التلقائي: حيث يتوقف التسجيل تلقائياً بعد 15 ثانية من الصمت، أو عند بلوغ دقيقتين من التسجيل المتواصل.
وبعد تجربة الوضعين، يفضل الكثير من المطورين استخدام وضع الضغط المباشر (tap): ففترة التهيئة والانتظار البسيطة في وضع الاحتجاز قد تبدو مزعجة لمن يفضل السرعة؛ بينما يتيح وضع الضغط المباشر التحدث والإنهاء والإرسال بمرونة تامة تتماشى مع طبيعة التفكير الشفهي السريع. ويظل وضع الاحتجاز ممتازاً للتحكم الدقيق وللتحدث المتقطع.
💡 خلاصة القول في جملة واحدة: يتوفر وضعان — وضع الاحتجاز (الافتراضي، مثل اللاسلكي) بالضغط المستمر على
Spaceللتسجيل والتوقف برفع الإصبع مع كتابة يدوية للتأكيد؛ و وضع الضغط المباشر (مثل مسجل الصوت، يتطلب v2.1.116+) بضغطة للبدء وضغطة للإنهاء والإرسال التلقائي (لـ 3 كلمات وأكثر)؛ وتخير منهما ما يناسب أسلوبك.
05 ثلاثة تعديلات هامة: التفعيل التلقائي، تغيير اللغة، وتبديل مفتاح التشغيل
بعد التعرف على الأوضاع، سنشرح ثلاثة تعديلات هامة لتهيئة الميزة لتناسب استخدامك اليومي.
أولاً: تفعيل الميزة تلقائياً مع بدء التشغيل (دون الحاجة لكتابة /voice في كل مرة)
تظل حالة تفعيل أمر /voice مستمرة عبر المحادثات المختلفة، ولكن إذا كنت تريد تفعيل الميزة تلقائياً بمجرد تشغيل الأداة وتوفير كتابة الأمر، فأضف السطور التالية لملف إعدادات المستخدم settings.json:
{
"voice": {
"enabled": true,
"mode": "tap"
}
}ويتحكم حقل enabled في تفعيل الميزة، ويحدد حقل mode الوضع الافتراضي (hold أو tap).
وإذا كنت تريد تفعيل "الإرسال التلقائي فور التوقف" لوضع الاحتجاز المذكور في القسم السابق، فأضف حقل autoSubmit:
{
"voice": {
"enabled": true,
"mode": "hold",
"autoSubmit": true
}
}وبموجب هذا الإعداد، يتم إرسال طلبات وضع الاحتجاز تلقائياً فور رفع إصبعك بشرط أن تحتوي على ثلاث كلمات على الأقل، ودون حاجة لضغط زر Enter.
ثانياً: تغيير لغة التحدث: اللغة الافتراضية هي الإنجليزية، ويجب تهيئتها أولاً للغات الأخرى
هذه نقطة حيوية جداً للمطورين. تعتمد ميزة التحدث الصوتي على اللغة الإنجليزية افتراضياً — وإذا تحدثت بلغة أخرى فستعرض لك الواجهة نصوصاً غير مفهومة وخاطئة. وتوضح الوثائق الرسمية: أن لغة التحدث تتبع إعداد لغة الواجهة language المحددة للأداة، وإذا كان هذا الحقل فارغاً فيتم الاعتماد على الإنجليزية افتراضياً.
وتدعم ميزة التحدث الصوتي قائمة محددة وثابتة من اللغات حالياً، ولا تضم اللغة العربية في إصدارها الحالي (تضم القائمة حالياً: الإنجليزية، والفرنسية، والألمانية، والإسبانية، والبرتغالية، والإيطالية، والروسية، والبولندية، والتركية، والأوكرانية، والهندية، والإندونيسية، واليابانية، والكورية، والنرويجية، والسويدية، والبولندية، واليونانية، والتشيكية، والدنماركية، والهولندية)؛ فإذا كنت تريد استخدام اللغتين اليابانية أو الكورية مثلاً، فهما مدعومتان في القائمة (اليابانية ja والكورية ko). ولذلك يجب أن تملك الوعي بأن النسخة الحالية لا تدعم اللغة العربية للتحدث — واعتمد على نطق المصطلحات بالإنجليزية، وتأكد من اللغات المتاحة على جهازك الفعلي عند التشغيل.
ولتغيير لغة التحدث، قم بتعديلها في لوحة /config أو اكتبها في ملف الإعدادات بالاعتماد على رموز اللغات BCP 47:
{
"language": "japanese"
}وتنبه الوثائق الرسمية إلى: أنه في حال عدم دعم اللغة المحددة في حقل language للتحدث الصوتي، فسيظهر تنبيه تحذيري عند تشغيل /voice ويتم اعتماد الإنجليزية للتحدث تلقائياً — بينما يقتصر هذا التراجع على عملية التحدث الصوتي فقط، وتظل ردود ومخرجات Claude المكتوبة ملتزمة باللغة المحددة في حقل language.
ثالثاً: تغيير مفتاح التشغيل: استخدام زر آخر بدلاً من زر المسافة
يعتبر زر Space (المسافة) هو المفتاح الافتراضي الفعال للوضعين. وإذا أردت تبديله بمفتاح آخر، فقم بتعديل رابط الاختصار voice:pushToTalk في ملف اختصارات المستخدم ~/.claude/keybindings.json (وقد شرحنا نظام الاختصارات في الدرس 14):
{
"bindings": [
{
"context": "Chat",
"bindings": {
"meta+k": "voice:pushToTalk",
"space": null
}
}
]
}وهنا تنبيه يخص وضع الاحتجاز (hold) بشكل خاص:
تجنب ربط الميزة بمفتاح حرف منفرد (مثل الحرف
v) في وضع الاحتجاز، لأن آلية التعرف تعتمد على تكرار ضغط المفتاح، وسيتم كتابة الحرف داخل صندوق المدخلات أثناء فترة التهيئة المسبقة.
بالمصطلحات البسيطة: تجنب تخصيص مفتاح حرف عادي لوضع الاحتجاز (مثل الحرف v) — لئلا يكتب الحرف في صندوق المدخلات أثناء التهيئة. والخيار الأفضل هو استخدام اختصار مركب (مثل meta+k)، حيث يبدأ التسجيل فوراً بمجرد ضغط الاختصار ودون وجود فترة تهيئة أو رموز عشوائية. أما وضع الضغط المباشر (tap) فلا يواجه هذه المشكلة ويمكن ربطه بأي مفتاح.
💡 خلاصة القول في جملة واحدة: التعديلات الثلاثة الهامة هي — ضبط
voice.enabled/modeفي الإعدادات للتفعيل التلقائي (مع إمكانية تفعيلautoSubmitللإرسال الفوري)؛ و تغيير لغة التحدث عبر حقلlanguage(مع العلم بعدم دعم اللغة العربية حالياً ودعم الإنجليزية واليابانية وغيرها)؛ و تعديل زر التشغيل عبرvoice:pushToTalkوتجنب الحروف المنفردة لوضع الاحتجاز واستبدالها باختصارات مركبة.
06 العمل: من تفعيل الميزة وحتى نطق التوجيه الأول بنفسك
الكلام بدون تطبيق لا يكفي. سنقوم الآن بتشغيل المسار العملي الأصغر لتجربة الميزة — بشرط تسجيل الدخول بحساب Claude.ai (الخط الأحمر الأول) والعمل محلياً على جهازك (وليس في بيئات الاتصال البعيد SSH). ولا تتطلب الخطوات مستودعاً برمجياً معيناً، فافتح claude في أي مجلد للبدء.
الخطوة صفر: التأكد من رقم الإصدار (في الطرفية)
claude --versionالمتوقع: رقم الإصدار ≥ 2.1.69 (ولوضع tap يجب أن يكون ≥ 2.1.116). وإذا كان أقل فقم بالترقية أولاً لتفادي تجاهل الأوامر.
الخطوة الأولى: فتح المحادثة وتفعيل الصوت
/voiceالمتوقع: عند التشغيل لأول مرة، يظهر طلب الحصول على صلاحية الميكروفون من نظام التشغيل — في نظام macOS يظهر تنبيه النظام، فوافق عليه. وتطبع الطرفية رسالة بالشكل التالي تقريباً:
Voice mode enabled (hold). Hold Space to record. Dictation language: en (/config to change).ظهور رسالة Voice mode enabled يعني تفعيل الميزة بنجاح. ويوضح الإعداد الحالي وضع الاحتجاز hold ولغة التحدث الإنجليزية en.
وإذا ظهر لك خطأ
Voice mode requires a Claude.ai account— فعد للقسم 02 لتصحيح الحساب، وسجل الدخول بحساب Claude.ai معتمد عبر أمر/login.
الخطوة الثانية: ملاحظة تنبيه صندوق المدخلات
عندما يكون صندوق المدخلات فارغاً، يظهر سطر تنبيه خفيف في الأسفل مثل hold Space to speak — لإرشادك للضغط المستمر على زر المسافة للتحدث.
الخطوة الثالثة: الاحتجاز والتحدث بجملة إنجليزية
اضغط واستمر بالضغط على زر Space وتحدث بوضوح بجملة باللغة الإنجليزية (لأن اللغة الافتراضية هي الإنجليزية). على سبيل المثال:
# اضغط واستمر على زر Space وقل: list all files in the current directoryالمتوقع: أثناء تحدثك، تظهر الكلمات مكتوبة في نفس اللحظة داخل صندوق المدخلات (بلون خافت قبل التثبيت)؛ ويظهر تنبيه keep holding… في البداية لتظهر موجات الصوت فوراً. وبمجرد رفع إصبعك عن زر Space تثبت الكلمات في صندوق المدخلات كالتالي:
> list all files in the current directory▮ظهور الكلمات التي نطقتها مكتوبة بدقة يعني نجاح عملية التحويل الصوتي. ويقف المؤشر في نهاية النص بانتظار إجرائك.
الخطوة الرابعة: التعديل بالدمج مع الكتابة اليدوية
دون تحريك المؤشر، اكتب بيدك كلمات إضافية لتجربة دمج الأسلوبين:
> list all files in the current directory and show their sizes▮المتوقع: يضاف النص المكتوب يدوياً بعد النص المحول صوتياً بسلاسة. واضغط على Enter لإرسال الطلب، وسيجيب Claude عليه. وتثبت هذه الخطوة ما ذكرناه في القسم 01 حول معاملة النص المحول معاملة النص المكتوب يدوياً.
الخطوة الخامسة: تجربة وضع الضغط المباشر (tap) (تتطلب إصدار v2.1.116+)
/voice tapامسح محتويات صندوق المدخلات، واضغط لمرة واحدة على زر Space (دون احتجاز)، وتحدث بجملة إنجليزية تحتوي على 3 كلمات أو أكثر، ثم اضغط لمرة ثانية على زر Space لإيقاف التسجيل.
المتوقع: بمجرد الضغطة الثانية، يتم تحويل الكلمات وإرسال الطلب تلقائياً (لتجاوزه 3 كلمات). ودون وجود فترة تهيئة أو رموز عشوائية — لتلاحظ فارق السلاسة بين الوضعين بنفسك.
الخطوة السادسة: إيقاف الميزة (اختيارية)
/voice offالمتوقع: يظهر تنبيه بإيقاف الميزة الصوتية، ويختفي تنبيه hold Space to speak من الأسفل، ويعود زر Space للعمل كمفتاح مسافة عادي.
بتشغيل هذه الخطوات، تكون قد مررت بالمسار العملي بالكامل "التأكد من الإصدار ← تفعيل الأذونات للميكروفون ← الاحتجاز والتحدث بالإنجليزية ← الدمج والكتابة اليدوية ← تجربة وضع tap ← إيقاف التفعيل" بنفسك. وما يتبقى لاحقاً هو كتابة التهيئة في ملف settings لتفعيلها تلقائياً، أو تعديل مفتاح التشغيل أو اللغة بحسب رغبتك.
💡 خلاصة القول في جملة واحدة: يتكون التطبيق العملي من ست خطوات — التأكد من الإصدار ← كتابة
/voiceوالموافقة على أذونات الميكروفون ← احتجازSpaceوالتحدث بالإنجليزية وملاحظة الكتابة ← إضافة جملة يدوياً للإرسال ← تجربة وضع/voice tap← الإيقاف عبر/voice off؛ والتجربة العملية تغنيك عن حفظ الخطوات نظرياً.
07 خلاصة
شرحنا في هذا الدرس تفاصيل ميزة التحدث الصوتي لـ Claude Code — وجوهر الميزة يتلخص في: توفير جهد كتابة الأوصاف الطويلة للمتطلبات وتحدثها بصوتك، مع معاملة النص الناتج كأنه نص مكتوب بيدك.
ونلخص أهم النقاط المشروحة في الدرس:
| وجه الاهتمام | الخلاصة والحل | النقاط الرئيسية |
|---|---|---|
| طبيعة عملها | تحويل فوري لكلامك المنطوق لنصوص في صندوق المدخلات | تتم المعالجة في خوادم Anthropic السحابية؛ وتحويل الصوت مجاني بالكامل ولا يستهلك الرصيد المالي في /usage |
| شروط الحساب | حساب Claude.ai مدفوع فقط | لا تعمل تماماً مع مفاتيح API أو خيارات Bedrock و Vertex و Foundry أو تفعيل HIPAA |
| شروط البيئة | ميكروفون محلي فني | تعمل محلياً على جهازك؛ وتتوقف في خيارات الاتصال البعيد SSH ونسخة الويب و VS Code Remote |
| الأوضاع والتشغيل | أمر /voice مع وضعين | وضع الاحتجاز ( hold الافتراضي للتحدث المتقطع) / وضع الضغط المباشر (tap للأتمتة والإرسال السريع) |
| التخصيص والتهيئة | ملف settings ولغة التحدث والاختصار | الإنجليزية هي الافتراضية للتحدث ولا تدعم الميزة اللغة العربية حالياً؛ ويخصص مفتاح التشغيل عبر voice:pushToTalk |
يجب أن تكون قادراً الآن على: شرح آلية عمل التحدث الصوتي وأين تتم معالجة الصوت، والتحقق من توفر شرط تسجيل الدخول بحساب Claude.ai لتفادي عوائق التشغيل، وتحديد مدى دعم الميزة للأنظمة والبيئات المختلفة (تثبيتها محلياً وتجنب تشغيلها في الاتصال البعيد)، والتبديل بين وضعي الاحتجاز والضغط المباشر واختيار الأنسب لعملك، وكتابة إعدادات التفعيل التلقائي وتغيير لغة التحدث ومفتاح التشغيل وتطبيق خطوات التجربة العملية بنفسك. وتعتبر هذه الميزة الصوتية أداة مريحة وعملية لتقليل مجهود الكتابة وتسهيل التفاعل اليومي مع Claude Code.
وبالرجوع للتحفظات البرمجية حول دقة أدوات التحدث الصوتي — فالأداة لا تسعى لكتابة سطور الأكواد البرمجية بصوتك، بل تبرع في فهم وكتابة أوصاف المتطلبات المعقدة بصوتك لتترك لكتابة الأكواد باليد. وهذا التوزيع الذكي يجعلها أداة عمل حقيقية ومفيدة.
الدرس القادم 48 "المشروع التطبيقي الكامل: ربط وتطبيق كل ما تعلمناه من الصفر وحتى النشر" — قمنا في الدروس السبعة والأربعين السابقة بتقديم الأدوات والقطع والمهارات قطعة قطعة: تثبيت البيئة، توجيه المتطلبات، كتابة CLAUDE.md، ربط خوادم MCP، إرسال الوكلاء الفرعيين subagents، تهيئة الخطافات hooks، وسير عمل git... وتعرفت على كل منها بشكل منفصل، ولكن هل قمت بجمعها وتطبيقها معاً لبناء مشروع برمجي متكامل من مجلد فارغ وحتى رفعه للإنتاج الفعلي؟ الدرس القادم يمثل مشروع التخرج لك: حيث نبني معاً مشروعاً حقيقياً من الصفر ونطبق عليه كل المهارات التي تعلمتها في السلسلة، لتشهد كيفية ترابط هذه المكونات البرمجية معاً لإنتاج عمل متكامل.