
شنو كيدير tokentab
tokentab هي أداة محلية للتقارير، كتعاونك تفهم كيفاش المساعدات البرمجية كيتعاملو مع التوكنات وكيجمعو التكاليف التقديرية. كيقرا سجلات الجلسات اللي الأدوات المدعومة كتخزنها ديجا فالحاسوب ديالك، ومن بعد كيجمع الاستعمال حسب الموديل، المزوّد، المشروع، النهار، ونوع النشاط المستنتج.
ما كاين لا حساب لا مفتاح API ضروري. المعالجة كاملة كتبقى فالجهاز ديالك، وtokentab ما كترفعش معلومات الجلسات وما كتتاصلش بخدمات التسعير.
الأدوات المدعومة ومواقع السجلات
دابا tokentab فيها محللات خدامين لثلاثة ديال الأدوات:
- Claude Code:
~/.claude/projects/**/*.jsonl - Codex:
~/.codex/sessions/**/rollout-*.jsonl - Gemini CLI:
~/.gemini/tmp/**/session-*.json
كاين مكان مخصص للمزوّد Cursor، ولكن المحلل ديالو مازال ما سالاش. إلا ما كانتش شي أداة من الأدوات المدعومة منصبة، tokentab كتخليها وكتدوز. بالتالي التقارير كتشمل غير الأدوات اللي السجلات ديالها موجودة فالحاسوب ديالك.
الخصائص الرئيسية
- كتقرا أعداد التوكنات مباشرة من سجلات الجلسات المحلية الموجودة.
- كتقدّر التكاليف باستعمال جدول تسعير محلي كيتحدّث يدويا.
- كتجمع المعطيات حسب المزوّد، الموديل، المشروع، التاريخ، والنشاط.
- كتدعم الفترات اليومية، الشهرية، كامل التاريخ، والفترات المخصصة.
- كتنتج جداول فالطرفية ولا JSON مقروء من طرف البرامج.
- كتوفر لوحة تحكم فالمتصفح كتربط غير بـ localhost.
- كتحيد ألوان الطرفية أوتوماتيكيا ملي كيتم توجيه الخرج لبرنامج آخر.
- ما كتستعمل حتى إطار ويب؛ لوحة التحكم خدامة بسيرفر HTTP ديال Python من المكتبة القياسية.
التبعية الوحيدة من جهة خارجية هي Rich، وهي اللي كترسم جداول الطرفية. التحليل، معالجة JSON، وسيرفر الويب المحلي كاملين كيعتمدو على المكتبة القياسية ديال Python.
ثبّت tokentab
التثبيت العادي
نسخ المستودع، دخل للمجلد ديالو، وثبّت الحزمة فبيئة Python النشيطة ديالك:
git clone https://github.com/damejan80/tokentab
cd tokentab
pip install .
python cli.py
التثبيت كيضيف الأمر tokentab للمسار ديالك. من بعد، تقدر تشغّل الأمر المثبّت مباشرة:
tokentab
تثبيت المصدر القابل للتعديل
إلا كنت ناوي تشوف الكود ولا تبدّل فيه، ثبّتو فالوضع القابل للتعديل:
git clone https://github.com/damejan80/tokentab
cd tokentab
pip install -e .
tokentab
التثبيت القابل للتعديل كيخلي الأمر مربوط بالنسخة المحلية اللي خدام بها، وبهذا التغييرات فالكود المحلي كتطبّق بلا ما تعاود تثبّت الحزمة.
شغّل أول تقرير ديالك
من داخل مجلد المستودع، شغّل CLI بلا اختيارات:
python cli.py
التقرير الافتراضي كيغطي آخر سبعة أيام عند كل مزوّد ومشروع مكتاشف. إلا ثبّتي الأمر، فالاستعمال المكافئ هو:
tokentab
حيت tokentab كتقرا مجلدات السجلات الموجودة ديجا عند المزوّدين، ما كاين لا إعداد حساب لا تهيئة بيانات الدخول. إلا ما كانت حتى سجلات مدعومة، ما كاين حتى استعمال مقابل باش يتدرج.
صفّي الاستعمال حسب الوقت
نشاط اليوم
python cli.py -today
الشهر التقويمي الحالي
python cli.py -month
جميع السجلات المتوفرة
python cli.py -p all
فترة زمنية محددة
python cli.py --from 2026-06-01 --to 2026-06-15
الفترات المخصصة مفيدة ملي بغيتي تربط الاستعمال بسبرينت، فترة فوترة، تجربة، ولا أي مدة محددة أخرى.
صفّي حسب المزوّد ولا المشروع
باش تبان غير استعمالات Claude، دوز فلتر المزوّد:
python cli.py --provider claude
باش تركّز على مشروع واحد، استعمل السمية ديال المشروع:
python cli.py --project myapp
هاد الفلاتر كيساعدوك تفصل تكلفة قاعدة كود ولا أداة معينة على النشاط العام ديالك.
صدّر JSON مقروء من طرف البرامج
استعمل --json ملي كيكون برنامج آخر خاصو يقرا التقرير:
python cli.py --json
مثلا، إلا كان jq منصّب، وجّه ليه JSON باش تنسّقو ولا تعالجو من بعد:
python cli.py --json | jq .
tokentab كتحيد ألوان الطرفية أوتوماتيكيا ملي كيتم توجيه الخرج العادي لبرنامج آخر، وهاد الشي كيسهّل لصق التقارير فطلبات الدمج، رسائل الدردشة، الملفات، ولا أوامر أخرى بلا رموز هروب ANSI.
استعمل لوحة الويب المحلية
بدا واجهة المتصفح بهاد الأمر:
python cli.py -web
tokentab كتفتح http://localhost:4747 وكتعرض المعطيات بحال كشف حساب شهري، بالمجموع الفوق والتفاصيل المفصلة لتحت.
لوحة التحكم كتقرا السجلات من القرص فكل طلب، بلا ما تخزّن النتائج، وبهذا الجلسات المسجلة حديثا تقدر تبان بلا الحاجة لقاعدة بيانات مستقلة. كتربط غير بـ localhost وما كترفع حتى بيانات. وزيد على هاد الشي، ما كتستعملش خدمات الخطوط الخارجية، وبالتالي الواجهة كتخدم حتى ملي كتكون الشبكة مقطوعة.
باش تختار بورت آخر، استعمل --port. وباش تبدا السيرفر بلا ما تفتح المتصفح أوتوماتيكيا، زيد --no-open:
python cli.py -web --port 8080 --no-open
فهم حسابات التوكنات والتكاليف
أعداد التوكنات
مجاميع التوكنات كاتجي مباشرة من لوغّات الأدوات المدعومة، وماشي محسوبة بالتقدير من النص. حتى tokentab كياخد بعين الاعتبار الاختلافات فطريقة الإبلاغ على الكاش. Claude كيسجّل قرايات وكتابات الكاش بشكل منفصل، بينما Gemini كيعرض الإدخال اللي فيه التوكنات المخزّنة فالكاش. tokentab كيحيد الجزء المخزّن فالكاش ملي كيكون ضروري، باش ما يتحسبوش نفس التوكنات جوج مرات فالثمن.
أثمنة الموديلات
الأثمنة مخزّنة محلياً فـ tokentab/pricing/prices.py بالدولار لكل مليون توكن. الأداة كاتستعمل عمداً جدول ثابت بلا ما تطلب الأثمنة الحالية من الشبكة.
مطابقة الموديلات مرنة، يعني معرّف موديل فيه التاريخ بحال claude-opus-4-6-20260514 يقدر يطابق المدخل العام claude-opus-4-6. إلا بان شي موديل بتكلفة $0.00، فالغالب السمية ديالو ما طابقتش الجدول. الـCLI كايبلّغ على هاد الحالة بلا ما يفترض بصمت بلي الموديل مجاني.
الأثمنة تقريبية وكتعتمد على أحسن مجهود. حدّث الجدول المحلي ملي يبدلو المزوّدين الأثمنة ولا يضيفو سميات ديال موديلات مازال ما متعرّفش عليها النظام.
فئات النشاط
تسميات النشاط بحال البرمجة، تصحيح الأخطاء، إعادة الهيكلة، الاختبار، الدردشة، والاستكشاف كاتستنتج من الأدوات المستعملة ومن صياغة أول رسالة فالجلسة. هاد التصنيف حتمي وما كايستعملش موديل آخر ديال الذكاء الاصطناعي.
اعتابر تسميات النشاط إشارات مفيدة وماشي أحكام نهائية. التسميات كاتعاون تبان الأنماط العامة، ولكن غير نتا اللي عارف السياق الكامل ديال الخدمة.
فسّر التقرير
- نِسب ثابتة ديال إصابة الكاش أقل من تقريباً 80%: السياق ديالك يقدر يكون كايتبدّل بزاف، ولا الكاش ما مفعّلاش. جلسة وحدة غير عادية أقل أهمية من نمط مستمر لعدة سيمانات.
- موديل غالي مسيطر على بزاف ديال الطلبات الصغار: التقرير يقدر يبيّن بلي موديل كبير كايتكلف بمهام متكررة ومحدودة. tokentab كايبيّن هاد النمط باش تقدر تشوف واش هاد الاستعمال مقصود.
- فئات كبيرة ديال الدردشة ولا الاستكشاف: جزء كبير من النشاط المسجّل كان نقاش ولا قراية أكثر من التعديل. هاد الشي يقدر يكون مناسب، ولكن يقدر حتى يسلّط الضوء على جلسات خرجات على الموضوع.
هاد الأنماط غير نقط البداية للتحقيق، وماشي استنتاجات. قارن التقرير مع داكشي اللي كنت كادير فعلاً فالجلسات المعنية.
نصيحة متقدمة: زِد مزوّد آخر
كل مزوّد مطبّق كموديول داخل tokentab/providers/. المزوّد كايعرّض دالة collect() اللي كاترَجّع لائحة مسطّحة ديال كائنات UsageRecord. البنية المشتركة ديال السجل محددة فـ tokentab/types.py.
- صايب موديل ديال المزوّد داخل
tokentab/providers/. - قرا وحلّل ملفات الجلسات المحلية ديال المزوّد.
- حوّل كل مدخل استعمال مهم للشكل المشترك ديال
UsageRecord. - رجّع السجلات من
collect(). - زِد المزوّد فـ
tokentab/providers/__init__.py.
منين كاتستعمل السجلات الشكل المشترك، نظام الأثمنة، والتجميع، ومخرجات الـCLI، والداشبورد يقدرو يعالجوها. الـREADME كاينصح تستعمل محلّل Claude كأبسط نموذج، وترجع للمحلّلات الأخرى الخدامة باش تلقى أمثلة إضافية.
نصائح عملية للاستعمال
- شغّل التقرير الافتراضي ديال سبعة أيام بانتظام باش تلاحظ التغييرات الأخيرة.
- استعمل العرض الشهري ملي بغيتي تراجع أنماط الصرف الأوسع.
- صفّي حسب المشروع قبل ما تحقق فقاعدة كود معيّنة.
- صدّر JSON ملي بغيتي تبني سكريبتات ولا تقارير مخصّصة حول بيانات tokentab.
- راجع جدول الأثمنة كل مرة كايتبلّغ على موديل بقيمة
$0.00. - استعمل الداشبورد للمراجعة البصرية والـCLI للأتمتة ولا المشاركة.
الخلاصة
tokentab كيحوّل لوغّات Claude Code وCodex وGemini CLI المحلية لتقارير عملية على التوكنات والتكلفة، بلا ما يحتاج بيانات الدخول ولا يرسل البيانات خارج الكمبيوتر ديالك. بْدا بالعرض الافتراضي ديال سبعة أيام فـCLI، ضيّق النتائج بفلاتر الوقت والمزوّد والمشروع، ومن بعد استعمل JSON ولا الداشبورد ديال localhost ملي تحتاج طريقة عرض مختلفة. المشروع متوفر برخصة MIT.
