VoiceInk Custom Commands: أرسل إملاءك إلى سكربت بدل لصقه

Custom Command (أمر مخصص) أحد أوضاع الإخراج في VoiceInk. بدل اللصق، يمرر VoiceInk النص النهائي للإملاء إلى أمر shell تكتبه أنت، ويقرر ذلك الأمر ما يحدث: إضافة النص إلى ملاحظة، أو فتح بحث، أو استدعاء سكربت خاص بك، أو إرساله إلى خدمة تشغّلها. هذا أكثر ما يفعله VoiceInk مرونة مع النص، وله بضعة حدود صارمة يجدر بك معرفتها قبل أن تبني عليه.

أطوّر YapToText، وهو تطبيق إملاء مختلف لأجهزة Mac، فاقرأ ما أقوله عن VoiceInk مع وضع ذلك في الحسبان. كل معلومة هنا عن VoiceInk مصدرها الوثائق الخاصة به، كما قُرئت في 10 أكتوبر 2026.

تنزيل YapToText من Mac App Storeالتنزيل مجاني. بلا حساب وبلا ميزات مقفلة، لنظام macOS 14 أو أحدث على Mac مزوّد بشريحة Apple. الشفرة المصدرية على GitHub.

ما الذي يتلقاه الأمر

يرسل VoiceInk النص النهائي نفسه بطريقتين: عبر الإدخال القياسي، وفي المتغير $VOICEINK_TRANSCRIPT. النص بترميز UTF-8، وتطلب الوثائق وضع المتغير بين علامتي اقتباس لتبقى المسافات وعلامات الترقيم وفواصل الأسطر.

  • AI Enhancement متوقف. يصل النص بعد تنسيق VoiceInk واستبدالات الكلمات.
  • AI Enhancement مشغّل ويعمل. يصل النص المحسَّن.
  • AI Enhancement تم تخطيه أو فشل. يصل النص النهائي العادي.

لا يتلقى الأمر الصوت ولا الموجّه ولا النص المحدد أو المنسوخ أو الظاهر على الشاشة بصورة مباشرة. وإذا أردت أن يؤثر السياق في النتيجة، فتقول الوثائق إن عليك استخدام موجّه (Prompt) وميزة Context Awareness، فيكون السياق موجودًا في النص النهائي أصلًا.

كيف يعمل

من وثائق VoiceInk، قسم Custom Commands، قُرئ في 10 أكتوبر 2026.

التفصيلالسلوك
الصدفة (shell)/bin/zsh -lc
المهلة10 ثوانٍ، ثم يوقف VoiceInk الأمر
الأذوناتأذونات مستخدم macOS نفسها التي لدى VoiceInk
المسجِّليُغلق قبل أن يبدأ الأمر
النجاحرمز الخروج 0. أي رمز آخر يُعد فشلًا
الناتجيُحتفظ بالإخراج القياسي والأخطاء للتشخيص، ولا يُلصقان في التطبيق أبدًا
أوامر غير موجودةيجرّب VoiceInk مسار PATH في الصدفة لديك. استخدم مسارًا كاملًا مثل /opt/homebrew/bin/tool إذا فشل

الحدود التي تفاجئ الناس

  • لا يُلصق شيء نيابةً عنك. إذا ما زلت تريد النص في التطبيق، فعلى أمرك أن ينسخه أو يلصقه بنفسه.
  • عشر ثوانٍ ولا أسئلة. لا يستطيع الأمر انتظار إدخال. وللأعمال الأطول، شغّل عملية خلفية خاصة بك واخرج سريعًا.
  • لا يغيّر النص المحفوظ. ما يطبعه الأمر لا يُكتب مرة أخرى في التفريغ.
  • لا يوجد Auto Send. يعمل Auto Send مع ناتج Paste فقط، لا مع Custom Command.
  • الإملاء المباشر فقط. الملفات في قائمة Transcribe file تُحفظ من دون تشغيل أوامر الإخراج.
  • لا أمر فارغ. لا يمكن حفظ Mode (نمط) أمره فارغ.

القوالب المضمّنة

من وثائق VoiceInk، قسم Custom Commands، قُرئ في 10 أكتوبر 2026.

القالبماذا يفعل
Paste and Press Tabينسخ النص ويلصقه ثم يضغط Tab
Lowercase and Pasteيحوّل النص إلى أحرف صغيرة ثم ينسخه ويلصقه
Remove Trailing Period and Pasteيحذف نقطة أخيرة واحدة قبل اللصق
Append to Journalيضيف النص إلى ~/Documents/VoiceInk/journal.md
Search Webيفتح بحثًا على الويب عن النص

تقترح الوثائق أن تبدأ من قالب وتعدّله. وهذان أبسط مثالين فيها: نسخ النص، وإضافته إلى ملاحظة:

printf "%s" "$VOICEINK_TRANSCRIPT" | pbcopy
mkdir -p "$HOME/Documents/VoiceInk"
printf -- "- %s\n" "$VOICEINK_TRANSCRIPT" >> "$HOME/Documents/VoiceInk/notes.md"

كيف تعرف هل نجح

لا يعرض VoiceInk أي رسالة نجاح أو فشل بعد Custom Command. تعطي الوثائق أمرًا للطرفية يعرض سجلات التسليم لآخر 10 دقائق، ومنها هل نجح الأمر أو فشل أو تجاوز 10 ثوانٍ:

/usr/bin/log show --last 10m --style compact \
  --predicate 'subsystem == "com.prakashjoshipax.voiceink" AND category == "TranscriptionDelivery"'

وتحذر الوثائق من أن هذه السجلات قد تحتوي على النص المُملى. وإذا كان أمرك يرسل النص إلى خدمة ويب، فإن تلك الخدمة تتلقاه: VoiceInk لا يشغّل إلا ما ضبطته أنت.

موقع YapToText من ذلك

VoiceInk من وثائقه، كما قُرئت في 10 أكتوبر 2026. وYapToText من إعداداته الخاصة.

VoiceInkYapToText
تشغيل أمر shell بالنصنعم، ناتج Custom Commandلا
اللصق عند المؤشرناتج Pasteاللصق، وهو الافتراضي
كتابته بدل لصقهغير موصوف في هذه الصفحةالكتابة حرفًا حرفًا
الحافظة فقطبأمر مثل pbcopyالنسخ إلى الحافظة فقط
الضغط على مفتاح بعد ذلكقالب Paste and Press TabReturn أو Command Return لكل تطبيق
المراجعة قبل أن يصل النصغير موصوف في هذه الصفحةالمراجعة قبل الإدراج، وهي متوقفة افتراضيًا

إذا أردت أن يقود إملاؤك سكربتاتك الخاصة، فإن Custom Command في VoiceInk يفعل ما لا يفعله YapToText. وإذا أردت النص عند المؤشر ومصوغًا بما يلائم الكلمات المحيطة به، فإن YapToText يفعل ذلك افتراضيًا ولا يحتاج إلى سكربت. تتناول صفحة أنماط VoiceInk مكان ضبط أوضاع الإخراج، وتقارن صفحة VoiceInk مقابل superwhisper بينه وبين تطبيق آخر مبني حول الأنماط.

تنزيل YapToText من Mac App Storeالتنزيل مجاني. بلا حساب وبلا ميزات مقفلة، لنظام macOS 14 أو أحدث على Mac مزوّد بشريحة Apple. الشفرة المصدرية على GitHub.

الخلاصة

  • ما هو. وضع إخراج يشغّل أمر shell الخاص بك بالنص النهائي.
  • النص. عبر الإدخال القياسي وفي $VOICEINK_TRANSCRIPT.
  • الحدود. 10 ثوانٍ، ولا إدخال، ولا لصق تلقائي، والإملاء المباشر فقط.
  • تصحيح الأخطاء. لا رسالة في التطبيق. اقرأ السجل بأمر الطرفية أعلاه.
  • ابدأ من هنا. عدّل أحد القوالب الخمسة.

إذا غيّر VoiceInk طريقة عمل Custom Commands، فـافتح issue على GitHub وسأحدّث هذه الصفحة. أقرأ كل ما يصلني.

تنزيل YapToText من Mac App Storeالتنزيل مجاني. بلا حساب وبلا ميزات مقفلة، لنظام macOS 14 أو أحدث على Mac مزوّد بشريحة Apple. الشفرة المصدرية على GitHub.

عن الكاتب. اسمي Ryleigh Newman. أطوّر البرمجيات، وأجد صعوبة في الكتابة على لوحة المفاتيح، وأُملي كل يوم باستخدام YapToText، التطبيق الذي يتناوله هذا الموقع. هذه الصفحة مترجمة من الإنجليزية. واجهة التطبيق وبقية صفحات الموقع بالإنجليزية. المزيد عن المشروع، بالإنجليزية.

الأدلة

أدلة أخرى، بالإنجليزية

المصادر

أسئلة

ما هو Custom Command في VoiceInk؟

وضع إخراج. بدل اللصق، يشغّل VoiceInk أمر shell تكتبه ويمرر إليه النص النهائي للإملاء.

كيف يحصل Custom Command في VoiceInk على النص؟

عبر الإدخال القياسي وفي المتغير $VOICEINK_TRANSCRIPT بترميز UTF-8. ضع المتغير بين علامتي اقتباس لتبقى المسافات وفواصل الأسطر.

لماذا لم يلصق Custom Command في VoiceInk أي شيء؟

ناتج Custom Command لا يلصق من تلقائه. على أمرك أن ينسخ النص أو يلصقه بنفسه، كما يفعل قالب Paste and Press Tab.

كم يمكن أن يستمر Custom Command في VoiceInk؟

10 ثوانٍ. بعد ذلك يوقفه VoiceInk. شغّل عملية خلفية للأعمال الأطول.

هل في YapToText أوامر مخصصة مثل VoiceInk؟

لا يشغّل أوامر shell بعد الإملاء. يلصق أو يكتب عند المؤشر، ويمكنه النسخ إلى الحافظة فقط، ويمكنه الضغط على Return بعد وصول النص.