মূল কনটেন্টে যান
এআই টিউটোরিয়াল

tokentab দিয়ে স্থানীয় AI টোকেন ব্যবহার ও খরচ ট্র্যাক করুন

tokentab ইনস্টল করা, স্থানীয় সেশন লগ থেকে AI টোকেন ব্যবহার ও আনুমানিক খরচ বিশ্লেষণ করা, তারিখ বা প্রকল্প অনুযায়ী রিপোর্ট ফিল্টার করা, ব্যক্তিগত ওয়েব ড্যাশবোর্ড খোলা, ফলাফল বোঝা এবং অন্য একটি প্রোভাইডার দিয়ে প্রকল্পটি সম্প্রসারণ করা শিখুন।

tokentab দিয়ে স্থানীয় AI টোকেন ব্যবহার ও খরচ ট্র্যাক করুন

tokentab কী করে

tokentab হলো একটি স্থানীয় রিপোর্টিং টুল, যা কোডিং সহায়কগুলো কীভাবে টোকেন ব্যবহার করে এবং আনুমানিক খরচ জমা করে তা বুঝতে সাহায্য করে। এটি আপনার কম্পিউটারে আগে থেকেই সংরক্ষিত সমর্থিত টুলগুলোর সেশন লগ পড়ে, তারপর মডেল, প্রদানকারী, প্রকল্প, দিন এবং অনুমিত কার্যকলাপের ধরন অনুযায়ী ব্যবহারকে গোষ্ঠীবদ্ধ করে।

কোনো অ্যাকাউন্ট বা API কী প্রয়োজন নেই। প্রক্রিয়াকরণ আপনার মেশিনেই সম্পন্ন হয়, এবং tokentab কোনো সেশন তথ্য আপলোড করে না বা মূল্যসংক্রান্ত সেবার সঙ্গে যোগাযোগ করে না।

tokentab ওয়েব ড্যাশবোর্ড

সমর্থিত টুল ও লগের অবস্থান

tokentab বর্তমানে তিনটি টুলের জন্য কার্যকর পার্সার অন্তর্ভুক্ত করে:

  • Claude Code: ~/.claude/projects/**/*.jsonl
  • Codex: ~/.codex/sessions/**/rollout-*.jsonl
  • Gemini CLI: ~/.gemini/tmp/**/session-*.json

Cursor-এর জন্য একটি প্রদানকারী স্লট রয়েছে, তবে এর পার্সার এখনো সম্পূর্ণ হয়নি। সমর্থিত টুলগুলোর কোনোটি ইনস্টল করা না থাকলে tokentab সেটি এড়িয়ে যায়। তাই রিপোর্টে কেবল আপনার মেশিনে লগ উপলভ্য থাকা টুলগুলোই অন্তর্ভুক্ত হয়।

প্রধান বৈশিষ্ট্য

  • বিদ্যমান স্থানীয় সেশন লগ থেকে সরাসরি টোকেনের সংখ্যা পড়ে।
  • স্থানীয়ভাবে রক্ষণাবেক্ষণ করা মূল্যতালিকা ব্যবহার করে খরচের আনুমানিক হিসাব করে।
  • প্রদানকারী, মডেল, প্রকল্প, তারিখ এবং কার্যকলাপ অনুযায়ী তথ্য গোষ্ঠীবদ্ধ করে।
  • দৈনিক, মাসিক, সর্বকালীন এবং কাস্টম তারিখের পরিসর সমর্থন করে।
  • টার্মিনাল টেবিল বা মেশিন-পাঠযোগ্য JSON তৈরি করে।
  • শুধু localhost-এ সংযুক্ত একটি ব্রাউজার ড্যাশবোর্ড দেয়।
  • আউটপুট পাইপ করা হলে স্বয়ংক্রিয়ভাবে টার্মিনালের রং সরিয়ে দেয়।
  • কোনো ওয়েব ফ্রেমওয়ার্ক ব্যবহার করে না; ড্যাশবোর্ড Python-এর স্ট্যান্ডার্ড-লাইব্রেরি HTTP সার্ভারে চলে।

একমাত্র তৃতীয় পক্ষের নির্ভরতা হলো Rich, যা টার্মিনাল টেবিল রেন্ডার করে। পার্সিং, JSON প্রক্রিয়াকরণ এবং স্থানীয় ওয়েব সার্ভার Python-এর স্ট্যান্ডার্ড লাইব্রারি ব্যবহার করে।

tokentab ইনস্টল করুন

সাধারণ ইনস্টলেশন

রিপোজিটরি ক্লোন করুন, এর ডিরেক্টরিতে প্রবেশ করুন এবং সক্রিয় Python পরিবেশে প্যাকেজটি ইনস্টল করুন:

git clone https://github.com/damejan80/tokentab
cd tokentab
pip install .
python cli.py

ইনস্টলেশনটি আপনার path-এ একটি 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 escape code ছাড়াই রিপোর্ট pull request, চ্যাট বার্তা, ফাইল বা অন্য কমান্ডে পেস্ট করা সহজ হয়।

স্থানীয় ওয়েব ড্যাশবোর্ড ব্যবহার করুন

ব্রাউজার ইন্টারফেস চালু করুন:

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 এই পরিস্থিতি জানায়।

মূল্য নির্ধারণ সর্বোত্তম প্রচেষ্টার ভিত্তিতে করা হয়। বিক্রেতারা মূল্য পরিবর্তন করলে বা এখনো শনাক্ত করা হয়নি এমন মডেলের নাম চালু করলে স্থানীয় টেবিল হালনাগাদ করুন।

অ্যাক্টিভিটির বিভাগ

কোডিং, ডিবাগিং, রিফ্যাক্টরিং, টেস্টিং, চ্যাট এবং অনুসন্ধানের মতো অ্যাক্টিভিটি লেবেলগুলো ব্যবহৃত টুল ও সেশনের প্রথম বার্তার ভাষা থেকে অনুমান করা হয়। এই শ্রেণিবিন্যাস নির্ধারিত নিয়মে করা হয় এবং এর জন্য অন্য কোনো AI মডেল ব্যবহার করা হয় না।

অ্যাক্টিভিটি লেবেলকে চূড়ান্ত রায় না ধরে কার্যকর ইঙ্গিত হিসেবে বিবেচনা করুন। লেবেলগুলো বিস্তৃত প্রবণতা প্রকাশে সহায়তা করে, তবে কাজের সম্পূর্ণ প্রেক্ষাপট একমাত্র আপনিই জানেন।

রিপোর্টের ব্যাখ্যা

  • প্রায় ৮০%-এর নিচে ধারাবাহিক ক্যাশ হিট রেট: আপনার কনটেক্সট ঘন ঘন পরিবর্তিত হতে পারে, অথবা ক্যাশিং সক্রিয় নাও থাকতে পারে। কয়েক সপ্তাহ ধরে চলা কোনো প্রবণতার তুলনায় একটি অস্বাভাবিক সেশন কম তাৎপর্যপূর্ণ।
  • অনেক ছোট কলের মধ্যে একটি ব্যয়বহুল মডেলের আধিপত্য: রিপোর্টে দেখা যেতে পারে যে একটি বড় মডেল ঘন ঘন সীমিত কাজ পরিচালনা করছে। ব্যবহারটি ইচ্ছাকৃত কি না তা তদন্ত করতে tokentab এই প্রবণতা দেখায়।
  • বড় চ্যাট বা অনুসন্ধান বিভাগ: রেকর্ড করা অ্যাক্টিভিটির বড় অংশ সম্পাদনার পরিবর্তে আলোচনা বা পড়াশোনার সঙ্গে যুক্ত ছিল। এটি উপযুক্ত হতে পারে, তবে যেসব সেশন লক্ষ্যচ্যুত হয়েছে সেগুলোও চিহ্নিত করতে পারে।

এই প্রবণতাগুলো তদন্তের সূচনা, চূড়ান্ত সিদ্ধান্ত নয়। সংশ্লিষ্ট সেশনগুলোতে আপনি আসলে কী করছিলেন, তার সঙ্গে রিপোর্ট মিলিয়ে দেখুন।

উন্নত টিপ: আরেকটি প্রোভাইডার যোগ করুন

প্রতিটি প্রোভাইডার tokentab/providers/-এর অধীনে একটি মডিউল হিসেবে বাস্তবায়িত। একটি প্রোভাইডার এমন একটি collect() ফাংশন প্রকাশ করে, যা সমতল UsageRecord অবজেক্টের তালিকা ফেরত দেয়। শেয়ার করা রেকর্ডের কাঠামো tokentab/types.py-তে সংজ্ঞায়িত।

  1. tokentab/providers/-এ একটি প্রোভাইডার মডিউল তৈরি করুন।
  2. প্রোভাইডারের স্থানীয় সেশন ফাইল পড়ে পার্স করুন।
  3. প্রাসঙ্গিক প্রতিটি ব্যবহার এন্ট্রিকে শেয়ার করা UsageRecord কাঠামোতে রূপান্তর করুন।
  4. collect() থেকে রেকর্ডগুলো ফেরত দিন।
  5. tokentab/providers/__init__.py-তে প্রোভাইডারটি যোগ করুন।

রেকর্ডগুলো সাধারণ কাঠামো ব্যবহার করলে বিদ্যমান মূল্য নির্ধারণ, গ্রুপিং, CLI আউটপুট এবং ড্যাশবোর্ড সেগুলো প্রক্রিয়া করতে পারে। README-তে Claude পার্সারকে সবচেয়ে সহজ টেমপ্লেট হিসেবে ব্যবহার করার এবং অতিরিক্ত উদাহরণের জন্য অন্যান্য কার্যকর পার্সার দেখার পরামর্শ দেওয়া হয়েছে।

ব্যবহারিক টিপস

  • সাম্প্রতিক পরিবর্তন শনাক্ত করতে নিয়মিত ডিফল্ট সাত দিনের রিপোর্ট চালান।
  • বিস্তৃত ব্যয়ের প্রবণতা পর্যালোচনা করতে মাসিক ভিউ ব্যবহার করুন।
  • নির্দিষ্ট কোনো কোডবেস তদন্তের আগে প্রজেক্ট দিয়ে ফিল্টার করুন।
  • tokentab-এর ডেটা নিয়ে স্ক্রিপ্ট বা কাস্টম রিপোর্ট তৈরি করার সময় JSON এক্সপোর্ট করুন।
  • কোনো মডেলের রিপোর্টে $0.00 দেখালে মূল্য নির্ধারণের টেবিল পরীক্ষা করুন।
  • দৃশ্যমান পর্যালোচনার জন্য ড্যাশবোর্ড এবং অটোমেশন বা শেয়ারিংয়ের জন্য CLI ব্যবহার করুন।

উপসংহার

tokentab স্থানীয় Claude Code, Codex এবং Gemini CLI লগকে ব্যবহারিক টোকেন ও খরচের রিপোর্টে রূপান্তর করে, এর জন্য কোনো ক্রেডেনশিয়াল প্রয়োজন হয় না এবং ডেটা আপনার কম্পিউটারের বাইরে পাঠানো হয় না। ডিফল্ট সাত দিনের CLI ভিউ দিয়ে শুরু করুন, সময়, প্রোভাইডার ও প্রজেক্ট ফিল্টার দিয়ে ফলাফল সংকুচিত করুন, তারপর ভিন্ন উপস্থাপনার প্রয়োজন হলে JSON বা localhost ড্যাশবোর্ড ব্যবহার করুন। প্রকল্পটি MIT লাইসেন্সের অধীনে উপলব্ধ।