دليل أسطرلاب English GitHub

الالتقاط

إدخال الأشياء إلى الخزانة دون فتح ملاحظة: سطر من أي مكان، وخاطرة تقولها بصوتك، وصفحة من المتصفح، ومشاركة من الهاتف.


أكثر ما ينتهي به المطاف في الخزانة لا يبدأ ملاحظة. يبدأ جملةً تريد أن تحفظها قبل أن تضيع، أو صفحة تقرؤها في مكان آخر، أو شيئًا على هاتفك تفضّل أن يكون هنا. والالتقاط هو الأبواب الثلاثة التي تُدخل هذه الأشياء وتضعها في مكانها، بحيث يصير فتح التطبيق شيئًا تفعله لتقرأ ما التقطته، لا شيئًا عليك أن تفعله أولًا.

الأبواب الثلاثة كلها تكتب Markdown عاديًا في ملفات عادية. ولا يُحفظ شيء في مكان آخر: السطر الملتقَط سطر في ملاحظة، والصفحة المقصوصة ملاحظة في المجلد Clips/، وبيانات الاعتماد الوحيدة في الأمر (رمز القصاصة) تعيش في مجلد بيانات الخادم، لا في الخزانة أبدًا.

الالتقاط السريع

اضغط Ctrl/Cmd Shift D في أي مكان من التطبيق، أو اختر التقاط سريع من لوحة الأوامر. تُفتح ورقة صغيرة فوق ما كنت تفعله. اكتب سطرًا واضغط Enter. يُلحق السطر تحت عنوان ## Captured في ملاحظة اليوم، مختومًا بالوقت:

## Captured

- 09:15 اسأل عن ساعات فتح قاعة القراءة
- 14:02 «خريطة بلا نجم عجلة» — للمقالة

تبقى الملاحظة التي كنت فيها حيث كانت، ومؤشرك فيها؛ ويسمّي إشعار صغير الملاحظة التي ذهب إليها السطر ويعرض فتحها. وإن لم تكن ملاحظة اليوم موجودة بعد فإنها تُنشأ أولًا، من الباب نفسه الذي يستعمله Ctrl/Cmd Alt D، فتحمل قالب الملاحظة اليومية (الإعدادات ← الملاحظات الجديدة والقوالب) تمامًا كما لو فتحتها بنفسك. وإن كان في الملاحظة قسم ## Captured من قبل انضمّ السطر إلى آخره؛ وإلا أُضيف القسم في آخر الملاحظة. ويصنع Shift Enter سطرًا ثانيًا لخاطرة تحتاج إلى سطرين؛ ويُعلَّق تحت النقطة نفسها.

صندوق الوارد. أحيانًا تكون ملاحظة اليوم البيت الخطأ: سطر يخص مشروعًا، أو قائمة قراءة، أو قائمة أسئلة متجددة. ثبّت ملاحظة على أنها صندوق الالتقاط في الإعدادات ← الملاحظات الجديدة والقوالب ← صندوق الالتقاط، فتنبت للورقة وجهة ثانية: ملاحظة اليوم أو صندوق الوارد. ويحطّ السطر تحت ## Captured في أيهما اخترت، بالشكل نفسه.

وعلى الهاتف تجلس الورقة في أسفل الشاشة، حيث الإبهام أصلًا، والحقل والزران كلاهما بطول يُصاب. وليس الاختصار الطريق الوحيد إليها: فعلى الهاتف، التقاط سريع هو الصف الأول تحت زر ⋯ في الشريط العلوي.

ويستعمل ختم الوقت ساعة جهازك والأرقام الغربية، مثل اسم ملف الملاحظة اليومية نفسه: فهو عنوان داخل الملاحظة لا نثر، وينبغي أن يُرتَّب بالطريقة نفسها في كل لغة.

الصوت

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

التسجيل. اختر ملاحظة صوتية من لوحة الأوامر، أو من ⋯ على الهاتف، أو اضغط الميكروفون أعلى ورقة الالتقاط السريع. فيها زر دائري واحد يفعل الأمرين اللذين يفعلهما الناس بالهاتف:

  • انقره لتبدأ، وانقره مجددًا (أو اضغط أرسل) حين تنتهي.
  • اضغط عليه مطوّلًا وأنت تتكلم، ثم أفلته فيُرسل.

يتحرك شريط المستوى وهو يسمعك، ويعدّ الوقت صعودًا. وتجاهل يرمي التسجيل؛ فلا يُحفظ شيء. وفي أول مرة يطلب المتصفح إذن الميكروفون. والتسجيل يحتاج أن يكون الموقع على https (أو على localhost): فالمتصفحات لا تعرض الميكروفون لعنوان http عادي على شبكتك.

أين تذهب الكلمات. الملاحظة القصيرة — إلى نحو ثمانين كلمة، أي نصف دقيقة من الكلام — تصير سطرًا واحدًا في ملاحظة وارد اليوم، Inbox/2026-09-23.md، وهي الملاحظة نفسها التي تضع فيها ورقة المشاركة على الهاتف ما تلتقطه:

- 14:02 — اتصل بطبيب الأسنان بشأن الخميس 🎙

والعلامة 🎙 رابط إلى التسجيل نفسه. وما كان أطول يصير ملاحظة مستقلة، Inbox/Voice — <الكلمات الأولى>.md، في أعلاها مشغّل للتسجيل وتحته النص. ولا يُكتب فوق شيء أبدًا: فالملاحظة الثانية التي تبدأ بالكلمات نفسها تصير (2).

والتسجيلات مرفقات عادية، يضعها إعداد المرفقات (الإعدادات ← الكتابة ← المرفقات الجديدة) في مجلد Voice، وتُسمّى بوقت كلامك: Attachments/Voice/2026-09-23 1402.webm.

أثناء التفريغ. تقول الورقة ما يجري: يرسل، ينتظر دوره (يُفرَّغ تسجيل واحد في كل مرة)، يفرّغ، ثم الكلمات. ولا يلزمك الانتظار — أغلق الورقة، وستخبرك رسالة حين تصل الملاحظة، مع زر لفتحها. وأول ملاحظة على الإطلاق تنزّل نموذج الكلام إلى مجلد بيانات الخادم، وذلك يستغرق دقيقة أو دقيقتين مرة واحدة؛ وتعرض الورقة كم بلغ.

الإعدادات. ثلاثة صفوف:

  • الإعدادات ← القراءة بصوت عالٍ والملاحظات الصوتية ← تفريغ الصوت يختار النموذج وأين يعمل. الافتراضي نموذج whisper الصغير، ويشغّله أي معالج أسرع مما تتكلم. والأساسي أسرع منه ويخطئ في العربية أكثر؛ والكبير السريع (مضغوطًا، أو بالدقة الكاملة) هو الأدق والأثقل. افتح القائمة ترَ ما ينزّله كل نموذج على هذا الجهاز، وإن كان المعالج هو الذي سيشغّله، كم تستغرق دقيقة من الكلام على نواتين. وبجانب القائمة، تلقائي يستعمل بطاقة الرسوميات إن كانت هناك واحدة تعمل، والمعالج إن لم تكن؛ والمعالج وحده لا يلمس بطاقة الرسوميات أبدًا. ومتوقف يحفظ التسجيلات ويشير إليها من الوارد دون تفريغها. والسطر تحت الصف يقول هل نُزّل النموذج، وأي نموذج عمل وأين — «شُغّل الصغير آخر مرة على المعالج». والنسخة التي لم تختر نموذجًا قط صار لها الصغير؛ ومن اختارت الكبير السريع احتفظت به.
  • الإعدادات ← القراءة بصوت عالٍ والملاحظات الصوتية ← الاحتفاظ بالتسجيلات الصوتية. مفعّل افتراضيًا. وإيقافه يحذف التسجيل بعد أن تستقر كلماته في الخزانة. أما التسجيل الذي فشل تفريغه — أو لم يُسمع فيه شيء — فيُحفظ دائمًا، مهما قال هذا الصف.
  • صفّ الملاحظات الصوتية: لغة التفريغ، في الإعدادات ← القراءة بصوت عالٍ والملاحظات الصوتية. اكتشاف يدع كل تسجيل يُسمع على حاله، وهو ما يناسب خزانة تتكلم اللغتين. وثبّت العربية أو الإنجليزية إن ظل الكاشف يخطئ في سماعك. وهي لغة تفريغ التسجيلات وحدها: القراءة بصوت عالٍ تعرف لغة كل مقطع بنفسها.

ما يعمل وأين. يجري التفريغ على الجهاز الذي يعمل عليه الخادم، ولا يحتاج إلى بطاقة رسوميات. على المعالج يعمل whisper نموذجًا بصيغة ONNX عبر onnxruntime على الأنوية الفعلية للجهاز (حتى ثمانٍ)؛ وعلى بطاقة الرسوميات يعمل whisper.cpp عبر Vulkan أو CUDA، أو Metal على الماك. ومع تلقائي، البطاقة التي لا يُحمَّل برنامج تشغيلها أو لا تجد جهازًا تُتجاوَز دون كلمة، ويُسمع التسجيل نفسه على المعالج. أما تطبيق الحاسوب فلا يحمل إلا مسار المعالج — لا نسخة لبطاقة الرسوميات أبدًا — فيبقى تنزيله أصغر بنحو 50 ميغابايت؛ والخادم المثبَّت من npm يحمل نسخ البطاقة أيضًا.

كم تستغرق دقيقة من الكلام على نواتين من معالج حاسوب مكتبي (قيست والأنوية الأخرى مشغولة، فجهازك يفعل مثل هذا على الأقل):

النموذجما ينزّله للمعالجدقيقة من الكلامالذاكرة أثناء العمل
الأساسي161 م.بنحو 5 ثنحو 0.9 ج.ب
الصغير (الافتراضي)375 م.بنحو 15 ثنحو 1.5 ج.ب
الكبير السريع1.0 ج.بنحو 23 ثنحو 2.7 ج.ب

والعربية تستغرق مع الصغير أطول من الإنجليزية (كلماتها تكلّف فكّ الترميز خطوات أكثر): نحو 14 ث لدقيقة من الإنجليزية، و20 ث للعربية. ويُسمع التسجيل نصف دقيقة في كل مرة، وتُكتشف لغة كل نصف دقيقة وحدها، فالملاحظة التي تبدأ بالإنجليزية وتمضي بالعربية تعود باللغتين.

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

من تطبيق الهاتف. في ورقة المشاركة («مشاركة إلى أسطرلاب») الزر الدائري نفسه تحت النص: قُلها بدل أن تكتبها، فتصل الكلمات إلى ملاحظة الوارد نفسها على خادمك. أما الخزانة المفتوحة من GitHub على الهاتف فلا خادم لها تُفرِّغ به، فالملاحظة الصوتية هناك تُحفظ: يُحفظ التسجيل في الخزانة ويُشار إليه من وارد اليوم، ويُودَع ويُدفع كأي تغيير آخر، وتقول الورقة إن الكلمات تحتاج إلى خادم أسطرلاب. ولا يُفرَّغ لاحقًا من تلقاء نفسه — شغّله حيثما فتحت الخزانة.

ويطلب تطبيق سطح المكتب الميكروفون من النظام في أول مرة؛ ولا يستطيع شيء آخر في التطبيق استعماله، ولا أي موقع آخر.

القصاصة

تحفظ القصاصة صفحة ويب، أو الجزء الذي حدّدته منها فقط، ملاحظةً في خزانتك، محوَّلة إلى Markdown، ومكتوبًا في مقدمتها من أين جاءت.

الإعداد

افتح الإعدادات ← الملاحظات الجديدة والقوالب ← القصّاصة واسحب زر قصّ إلى … إلى شريط المفضلة في متصفحك. هذا هو التثبيت كله: الزر أداة إشارة مرجعية (bookmarklet)، أي إشارة مرجعية عنوانها سطر من JavaScript، والرمز الذي يسمح لها بالكتابة في خزانتك بداخلها من قبل. أما النقر على الزر في صفحة الإعدادات نفسها فلا يفعل شيئًا، عمدًا.

وتجديد الرمز يصنع رمزًا جديدًا ويُبطل القديم. فكل نسخة من الأداة سحبتها من قبل تتوقف عن العمل لحظة الضغط عليه، والزر على الصفحة يحمل الآن الرمز الجديد. افعل ذلك إن ضاع متصفح كنت تستعمله، أو بين حين وآخر ببساطة. ويُحفظ الرمز في مجلد بيانات الخادم باسم clip-token (لا يقرؤه إلا المستخدم الذي يعمل الخادم باسمه) ولا يدخل الخزانة أبدًا، فلا يُزامَن ولا يُنشَر ولا يُودَع مع ملاحظاتك.

الاستعمال

في أي صفحة، انقر الأداة. من غير تحديد تقصّ الصفحة؛ ومع تحديد تقصّ ذلك الجزء وحده، محتفظةً بعناوينه وروابطه وتنسيقه بدل نصه المجرد. وتقول رسالة صغيرة أين ذهبت الملاحظة.

تُكتب الملاحظة في Clips/<عنوان الصفحة>.md. وصفحة ثانية بالعنوان نفسه تصير <العنوان> (2).md؛ ولا يُستبدل شيء أبدًا. وفي داخلها:

---
source: "https://example.org/the-page"
clipped: 2026-09-15
---

# عنوان الصفحة

الصفحة، بصيغة Markdown.

والمحوِّل متحفظ عمدًا. يحتفظ بالعناوين والفقرات والقوائم (المتداخلة والمرقّمة) والروابط (وقد جُعلت مطلقة، فتعمل من خزانتك) والصور بعناوينها (لا يُنزَّل شيء) والاقتباسات والشيفرة (في السطر وفي أسوار، مع اللغة حين تسمّيها الصفحة) والعريض والمائل والخطوط الفاصلة وأبسط الجداول. أما السكربتات والأنماط والنماذج والمشغّلات وأشرطة التنقل وأثاث الصفحة فتُسقط، والصفحة التي تعلّم <article> أو <main> تعطيك ذلك ولا شيء حوله. والنثر الذي يتّفق أن يحوي علامات Markdown نفسها (* أو [ أو سطر يبدأ بـ #) يُهرَّب فيُقرأ كما كان في الصفحة. والناتج ملاحظة تستطيع تحريرها، لا نسخة من تخطيط الصفحة.

وترسل الأداة الصفحة إلى موقعك مباشرة من الصفحة التي أنت فيها. وبعض المواقع يمنع ذلك في سياسة أمانه؛ فإذا حدث ذلك عادت الأداة إلى إرسال القصاصة عبر تبويب جديد يُفتح على الملاحظة التي صنعتها. وفي الحالين تصل القصاصة.

من سكربت

يأخذ POST /api/clip كائن JSON بالشكل { url, title?, html?, selection?, text? } مع الرمز في حقل token أو في ترويسة Authorization: Bearer، ويجيب بـ { kind: "clipped", path }. وجلسة دخولك أنت تعمل أيضًا (بلا رمز). والجسم الذي لا عنوان فيه أصلًا يُعامل خاطرةً وتُلحق بملاحظة اليوم تحت ## Captured، وهو ما تفعله ورقة مشاركة الهاتف بالجملة المشتركة، فيجيب بـ { kind: "captured", path }.

من الهاتف

الموقع قابل للتثبيت. على الهاتف افتحه في المتصفح واختر إضافة إلى الشاشة الرئيسية (يعرضها Chrome من تلقاء نفسه؛ وفي Safari تحت المشاركة). يُفتح التطبيق المثبَّت بملء الشاشة، ويحمل اسم الموقع وألوان سمته الافتراضية، ويظهر على Android في ورقة المشاركة في الهاتف.

شارك صفحة من أي تطبيق إليه فتُقصّ إلى Clips/ تمامًا كما كانت الأداة ستفعل؛ ثم يُفتح التطبيق على الملاحظة الجديدة. وشارك جملة، خاطرة أو سطرًا من رسالة، فتُلحق تحت ## Captured في ملاحظة اليوم. والمشاركة التي تحمل كلمات وعنوانًا معًا صفحة الكلمات فيها متنها.

وإن كان المتصفح الذي تشارك منه غير مسجّل الدخول إلى الموقع، تحطّ المشاركة على صفحة تقول ذلك وتدلّ على الطريق؛ سجّل الدخول هناك مرة وشارك من جديد.

حدّان صادقان. تصل المشاركة بعنوان الصفحة واسمها لا بمحتواها، فالصفحة المشتركة تُودع باسمها وعنوانها جاهزةً لتزيد عليها؛ أما الأداة، التي تعمل على الصفحة، فتأخذ المقال كله. وملاحظة اليوم التي تضطر ورقة المشاركة إلى إنشائها (لأنك لم تفتح ملاحظة اليوم بعد) تبدأ خاوية؛ فالقالب يطبّقه التطبيق حين يصنع الملاحظة، وورقة المشاركة تصل إلى الخزانة من غير التطبيق. افتح ملاحظة اليوم مرة في الصباح ولا ينطبق الحدّان.

والبيان (manifest) نفسه على /manifest.webmanifest؛ وهو يُولَّد من إعداداتك، فالموقع الذي أعدت تسميته أو السمة الافتراضية التي غيّرتها يصلان إلى الهاتف في زيارته التالية، والنسخة دون اتصال تبقيه على سياسة الشبكة أولًا للسبب نفسه.

ذات صلة

حرّر هذه الصفحة على GitHub

أسطرلاب برنامج حر. هذه الصفحات مبنية من ملفات Markdown في مجلد docs بالمستودع.