Deskamiرفيق صغير على مكتبك

صيغة التصدير

التصدير، وهو جزء من Deskami Plus، يكتب السجل نفسه دقيقةً بدقيقة الذي يحفظه Deskami على جهاز Mac الخاص بك. لا يُضاف شيء، ولا يُقدَّر، ولا يُملأ. تصف هذه الصفحة ما في الملف.

الاصطلاحات

  • الخلية الفارغة في CSV، أو null في JSON، تعني بلا قياس. أما 0 فيعني قِيس، وكان صفرًا.
  • أسماء الأعمدة بالإنجليزية في كل اللغات، وهي ثابتة؛ لا تتغيّر إلا مع export_version جديد.
  • الملفات بترميز UTF-8. وملف CSV مفصول بالفواصل، وفي أوله صف للعناوين.
  • الأوقات بتوقيت UTC وبصيغة ISO 8601، مثل 2026-09-28T07:41:00Z. والتواريخ بصيغة YYYY-MM-DD، وهي اليوم التقويمي الذي سُجّلت الدقيقة تحته.
  • تُكتب الأعداد العشرية بنقطة، ولا يُستخدم فاصل للآلاف أبدًا. والقيم المنطقية true وfalse.
  • هناك صف واحد لكل دقيقة سجّل فيها Deskami شيئًا، ولا صف للدقائق التي لم يسجّل فيها شيئًا.

أعمدة الدقيقة

يحتوي ملف CSV على هذه الأعمدة، بهذا الترتيب؛ وفي JSON تتكوّن كل دقيقة من الحقول نفسها. والاسم بين القوسين هو اسم العمود في ملف قاعدة البيانات الخام.

  • minute_utc — وقت. بداية الدقيقة، بتوقيت UTC. (minute_utc، بثواني Unix)
  • local_day — تاريخ. اليوم التقويمي الذي تنتمي إليه هذه الدقيقة، بحسب المنطقة الزمنية التي كان فيها جهاز Mac حينها. يُثبَّت عند الكتابة؛ ولا يحرّكه تغيير لاحق في المنطقة الزمنية. (day_key)
  • setup_id — عدد صحيح. التهيئة المستخدمة: كاميرا مع ترتيب شاشات. وفي JSON تُدرَج التهيئات تحت setups. (profile_id)
  • seconds_at_desk — من 0 إلى 60. الثواني التي رأتك فيها الكاميرا في هذه الدقيقة. وحين تكون قيمة camera_off هي false، فإن 0 يعني أن الكاميرا كانت تعمل ولم ترك. (present_s)
  • posture_deviation — عدد، 0 أو أكثر. كم انخفض رأسك وكتفاك عن مرجعك أنت، في المتوسط على امتداد الدقيقة، معبَّرًا عنه بمضاعفات عتبة التذكير السارية حينها: 0 عند المرجع، و1 عند العتبة. فارغ حين لم تُقَس الوضعية. (posture_dev)
  • posture_peak — عدد، 0 أو أكثر. أكبر قيمة للمقياس نفسه خلال الدقيقة. (posture_peak)
  • distance_deviation — عدد، 0 أو أكثر. كم كان وجهك أقرب إلى الشاشة مما كان عند مرجعك، على المقياس نفسه، مقروءًا من المسافة بين عينيك في الصورة. (distance_dev)
  • blinks — عدد صحيح. الرمشات المعدودة ما دام قياس العينين ممكنًا. فارغ حين لم يكن ممكنًا. (blinks)
  • incomplete_blinks — عدد صحيح. الرمشات التي لم تقترب لحظتها الأضيق من الإغلاق بما يكفي. فارغ حين لم يكن الحكم ممكنًا. (incomplete_blinks)
  • head_pitch_degrees — عدد. متوسط ميل الرأس إلى الأمام أو الخلف بالدرجات كما تبلّغ عنه الكاميرا: نسبةً إلى الكاميرا، لا إلى مرجعك. (head_pitch)
  • confidence — من 0 إلى 1. متوسط ثقة اكتشاف الوجه. (confidence)
  • light — من 0 إلى 1. متوسط سطوع منطقة الوجه، من 0 مظلم إلى 1 ساطع. لا سطوع الغرفة. (light)
  • eyes_measured — قيمة منطقية. أمكن قياس العينين مرة واحدة على الأقل في هذه الدقيقة. وحين تكون false، تبقى blinks وincomplete_blinks وeye_observed_seconds فارغة. (eye_valid)
  • eye_observed_seconds — من 0 إلى 60. الثواني التي رُصدت فيها العينان فعلًا. ومعدّل الرمش في الدقيقة هو blinks × 60 ÷ eye_observed_seconds. (eye_observed_s)
  • look_aways — عدد صحيح. النظرات المكتملة إلى البعيد، أي عادة 20-20-20. فارغ حين لم يكن النظر بعيدًا يُقاس. (gaze_breaks)
  • camera_off — قيمة منطقية. كانت الكاميرا مغلقة في هذه الدقيقة: أغلقتها أنت، أو استحوذ عليها تطبيق آخر، أو سُحب الإذن. وتكون أعمدة الكاميرا حينها فارغة؛ وقد تبقى أعمدة التطبيق والنشاط ممتلئة. (camera_off)
  • declared_break — قيمة منطقية. أخبرت Deskami أنك في استراحة. وتُحسب الدقيقة بعيدًا عن المكتب، أيًّا كان ما رأته الكاميرا. (declared_break)
  • front_app — نص. معرّف الحزمة للتطبيق الذي كان في المقدمة معظم الدقيقة، مثل com.apple.Safari. فارغ حين كانت تلك القراءة موقوفة، أو كانت الشاشة مقفلة، أو لم يكن شيء في المقدمة. وليس عنوان نافذة أبدًا. (app_id)
  • app_switches — عدد صحيح. كم مرة تغيّر التطبيق الذي في المقدمة في هذه الدقيقة. (app_switches)
  • active_seconds — من 0 إلى 60. الثواني التي كانت لوحة المفاتيح أو الفأرة قد لُمست فيها خلال آخر 15 ثانية. لا يُقرأ إلا الوقت المنقضي منذ آخر حدث، لا المفاتيح أبدًا. فارغ حين كانت تلك القراءة موقوفة. (active_s)
  • call_seconds — من 0 إلى 60. الثواني التي كان فيها تطبيق مكالمات في المقدمة، أو كان فيها تطبيق واحد يفتح الميكروفون والسمّاعة معًا. فارغ حين لم يُقَس، بما في ذلك كل دقيقة سُجّلت قبل أن يبدأ Deskami قياس ذلك. (meeting_s)

JSON

ملف JSON كائن واحد. يبدأ بترويسة: export_version، وapp_version، وexported_at، وtime_zone (وقت التصدير)، وdatabase_schema_version، وrange (kind، from، to) وsetups (id، camera_name، created_at).

ثم يأتي days، كائن واحد لكل يوم مسجَّل في النطاق. ويحمل كل يوم ملخّصه ودقائقه وتذكيراته:

  • local_day وminutes_at_desk، وهو مجموع seconds_at_desk مقسومًا على 60.
  • breaks: فترات من 5 دقائق أو أكثر بعيدًا عن المكتب وأقل من ساعتين، بين فترتين على المكتب. والوقت الذي تكون فيه الكاميرا مغلقة لا يُحسب في أي من الجانبين.
  • posture_fine_minutes (posture_deviation أقل من 1) وposture_attention_minutes (1 أو أكثر).
  • blink_rate: الرمشات في الدقيقة على امتداد الوقت الذي رُصدت فيه العينان؛ null إذا قلّ الرصد عن دقيقة واحدة.
  • incomplete_blink_ratio: null حين يكون عدد الرمشات التي أمكن الحكم عليها قليلًا جدًا.
  • reminders_by_signal: التذكيرات المعروضة، معدودةً حسب الإشارة.
  • minutes: أعمدة الدقيقة أعلاه، كائن واحد لكل دقيقة.
  • reminders: كائن واحد لكل تذكير، فيه time_utc، وlocal_day، وsetup_id، وsignal (posture أو distance أو blink أو incompleteBlink أو gaze)، وbuild_up_seconds (الوقت فوق العتبة قبل التذكير)، وrecover_seconds (الوقت حتى العودة تحتها؛ null حين توقّف القياس أولًا)، وasked (هل عُرض السؤال عن مرجعك) وanswer (null حين لم يُطرح السؤال، وإلا true أو false).

PDF

ملف PDF ليس جدولًا: إنه الملخّص نفسه — ملخّص اليوم، أو الأسبوع، أو الشهر — مطبوعًا على صفحة واحدة تمامًا كما يبدو على الشاشة. وكل رقم فيه هو الرقم الذي على الشاشة.

الملف الخام

الإعدادات › عام › البيانات › إظهار في Finder يكشف history.sqlite، بجانب history.sqlite-wal وhistory.sqlite-shm. وما دام Deskami يعمل، فقد تكون أحدث الدقائق لا تزال في ملف -wal؛ فانسخ الملفات الثلاثة كلها، أو اختر إنهاء Deskami أولًا. وإذا حذفتها أثناء عمل Deskami، فإنه يبدأ سجلًا جديدًا فارغًا خلال ثوانٍ قليلة. أما التصدير فيكتب دائمًا لقطة كاملة. وما تحتويه قاعدة البيانات مذكور في صفحة الخصوصية.