مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

Codenotch کے ذریعے macOS پر کوڈنگ اسسٹنٹ کی حدود کی نگرانی کریں

جانیں کہ Codenotch، Claude Code، Cursor، Codex، Antigravity اور GLM کے استعمال اور سرگرمی کو کیسے دکھاتا ہے۔ اس ٹیوٹوریل میں مقامی سیٹ اپ، پرووائیڈر کی دریافت، اسکرین پر جگہ کا تعین، ڈیمو موڈ، متعدد Claude اکاؤنٹس، خرابیوں کا ازالہ اور پروجیکٹ کے پرووائیڈر آرکیٹیکچر کا احاطہ کیا گیا ہے۔

Codenotch کے ذریعے macOS پر کوڈنگ اسسٹنٹ کی حدود کی نگرانی

Codenotch کیا ہے؟

Codenotch ایک macOS ایپ ہے جو کسی بھی اسکرین کے کنارے پر ایک مختصر سیاہ نوچ پن کرتی ہے۔ اس کے حلقے دکھاتے ہیں کہ معاون کوڈنگ ٹولز میں سے ہر ایک کی استعمال کی حد کا کتنا حصہ استعمال ہو چکا ہے، نیز یہ بھی کہ سیشن فعال، مکمل، یا صارف کے ان پٹ کا منتظر ہے۔

غیرفعال حالت میں نوچ ایک چھوٹی گولی نما شکل میں رہتی ہے اور پوائنٹر کے اس تک پہنچنے پر پھیل جاتی ہے۔ کسی فراہم کنندہ کے حلقے پر ہوور کرنے سے اس کی حد کی مدتیں اور ری سیٹ کے اوقات دکھائی دیتے ہیں۔ Claude Code کے لیے بنیادی حلقہ وہی موجودہ سیشن کی مدت دکھاتا ہے جو Claude Code کے /usage کمانڈ میں پہلے دکھائی جاتی ہے۔

Codenotch سیشن کی سرگرمی کی بھی نگرانی کرتی ہے۔ سیشن کے مصروف ہونے پر فراہم کنندہ کے حلقے کے اندر ایک باریک قوس گھومتی ہے۔ اگر سیشن کو آپ کی توجہ درکار ہو تو حلقہ دھڑکتی ہوئی عنبری حالت اختیار کر لیتا ہے۔ ہوور کرنے سے فعال سیشنز کے نام، ان کے چلنے کی جگہ، اور ان کی ضروریات دکھائی دیتی ہیں۔

معاون فراہم کنندگان اور ڈیٹا کے ذرائع

Codenotch الگ اکاؤنٹ سسٹم برقرار نہیں رکھتی اور نہ ہی آپ سے سائن اِن کرنے کو کہتی ہے۔ یہ آپ کے Mac پر معاون ٹولز میں پہلے سے محفوظ اسناد یا سیشنز پڑھتی ہے۔

  • Claude Code: لاگ اِن کی چین میں محفوظ OAuth ٹوکن استعمال کرتا ہے اور وہی اینڈ پوائنٹ طلب کرتا ہے جو Claude Code کے /usage کمانڈ کے ذریعے استعمال ہوتا ہے۔
  • Cursor: ایڈیٹر کا سائن اِن شدہ سیشن اس کی مقامی SQLite حالت سے پڑھتا ہے۔
  • Codex: موجودہ شرح کی حدود کے لیے چلنے والے Codex ایپ سرور سے دریافت کرتا ہے۔ اگر Codex نہیں چل رہا ہو تو Codenotch اپنے رول آؤٹ لاگ پر انحصار کرتی ہے۔
  • Antigravity: پہلے مقامی لینگویج سرور آزماتا ہے، پھر Google کے کوٹا اینڈ پوائنٹ سے رجوع کرتا ہے۔ جب دونوں میں سے کوئی بھی اکاؤنٹ کے لیے کوٹا ڈیٹا فراہم نہ کرے تو یہ سادہ درخواستوں کی تعداد دکھاتا ہے۔
  • GLM: Claude Code کی settings.json، ZCode، یا OpenCode میں پہلے سے موجود کلید استعمال کرتے ہوئے Z.ai کے Coding Plan مانیٹر اینڈ پوائنٹ کو کال کرتا ہے۔

معاون ٹول کو معمول کے مطابق انسٹال کریں اور اس میں سائن اِن کریں۔ جب Codenotch اس کا مقامی سیشن یا اسناد دریافت کر لے تو متعلقہ حلقہ ظاہر ہو جاتا ہے۔ Settings میں کسی فراہم کنندہ کو غیر فعال کرنے سے Codenotch اس اسناد کو پڑھنا بند کر دیتی ہے اور محفوظ شدہ ریڈنگز ہٹا دیتی ہے، مگر آپ کو اصل ٹول سے سائن آؤٹ نہیں کرتی۔

اہم خصوصیات

  • Claude Code، Cursor، Codex، Antigravity، اور GLM کے لیے استعمال کے حلقے۔
  • حلقے پر ہوور کرنے سے ری سیٹ کی مدت کی تفصیلات دستیاب ہوتی ہیں۔
  • کوڈنگ سیشنز کے لیے فعال اور منتظر حالتیں۔
  • متعدد Claude Code کنفیگریشنز کی خودکار دریافت۔
  • اوپر، نیچے، بائیں، یا دائیں اسکرین کنارے پر جگہ کا انتخاب۔
  • قابل استعمال اسکرین رقبے، Dock کی پوزیشن، اور ہارڈویئر نوچ کے مطابق ڈھلنے والے لے آؤٹس۔
  • اختیاری Dock آئیکن، مینو بار آئیکن، یا دونوں میں سے کوئی نہیں۔
  • Sparkle کے ذریعے روزانہ پسِ منظر میں اپ ڈیٹ کی جانچ۔
  • تخمینی فیصد کے بجائے نمایاں stale، needsAuth، اور error حالتیں۔

Codenotch بنائیں اور چلائیں

ضروریات

یہ پروجیکٹ XcodeGen سے تیار کردہ macOS ایپلیکیشن ہے۔ Homebrew کے ذریعے XcodeGen ایک بار انسٹال کریں:

brew install xcodegen

ریپوزٹری کی مقامی چیک آؤٹ سے پروجیکٹ تیار کریں، اسے بنائیں، اور Debug بلڈ لانچ کریں:

make run

Debug بلڈ کے لیے کسی سائننگ شناخت کی ضرورت نہیں ہے۔

ٹیسٹ چلائیں

فراہم کنندہ اڈاپٹرز اور دیگر رویے کی توثیق کے لیے پروجیکٹ کا ٹیسٹ ہدف استعمال کریں:

make test

فراہم کنندہ کے جوابی ڈھانچوں کو ٹیسٹس کے ذریعے متعین رکھا گیا ہے، کیونکہ بنیادی اندرونی اینڈ پوائنٹس، مقامی ڈیٹابیسز، اور RPC انٹرفیس بغیر اطلاع کے تبدیل ہو سکتے ہیں۔

ڈیمو ڈیٹا استعمال کریں

اگر آپ فعال فراہم کنندہ ڈیٹا پڑھے بغیر انٹرفیس کا جائزہ لینا چاہتے ہیں تو ایپ کو CODENOTCH_DEMO=1 کے ساتھ لانچ کریں:

CODENOTCH_DEMO=1 make run

ڈیمو موڈ مقررہ نمونہ ڈیٹا فراہم کرتا ہے اور انٹرفیس کی تیاری، لے آؤٹ کی جانچ، اور اسکرین شاٹس کے لیے مفید ہے۔

make release معمول کے مقامی سیٹ اپ کا حصہ نہیں ہے۔ اس کے لیے Developer ID سرٹیفکیٹ اور App Store Connect نوٹری پروفائل درکار ہوتا ہے، اور مینٹینر اسے آرکائیو بنانے، نوٹری تصدیق کرنے، اور دستخط شدہ خودکار اپ ڈیٹ فیڈ تیار کرنے کے لیے استعمال کرتا ہے۔

بنیادی استعمال

1. فراہم کنندہ کے اپنے ٹول کے ذریعے سائن اِن کریں

جس کوڈنگ ٹول کی نگرانی کرنا چاہتے ہیں اسے کھولیں اور وہیں سائن اِن کریں۔ Codenotch خود کبھی سائن اِن نہیں کرتی۔ مثال کے طور پر، معمول کے مطابق Claude Code یا Cursor کے ذریعے تصدیق کریں، پھر Codenotch لانچ کریں۔

2. فراہم کنندہ کے حلقے دیکھیں

دریافت ہونے والا ہر فراہم کنندہ نوچ میں ایک حلقے کے طور پر ظاہر ہوتا ہے۔ دستیاب حد کا کتنا حصہ استعمال ہو چکا ہے، یہ سمجھنے کے لیے حلقے کو دیکھیں۔ دستیاب حد کی مدتوں اور ان کے ری سیٹ کے اوقات کا جائزہ لینے کے لیے اس پر ہوور کریں۔

3. سیشن کی حالت دیکھیں

معاون سیشن کے کام کرنے کے دوران اس کے حلقے کے اندر باریک گھومتی ہوئی قوس تلاش کریں۔ دھڑکتا ہوا عنبری حلقہ بتاتا ہے کہ سیشن رکا ہوا ہے اور آپ کا منتظر ہے۔ سیشن کا نام، مقام، اور مطلوبہ کارروائی دیکھنے کے لیے ہوور کریں۔

4. نوچ کنفیگر کریں

نوچ کے نیچے موجود orb کے ذریعے Settings کھولیں۔ آرام کی حالت میں یہ قوس کی شکل میں ظاہر ہوتا ہے اور ہوور کرنے پر گیئر بن جاتا ہے۔ Settings میں یہ طے کیا جا سکتا ہے کہ نوچ ہوور کرنے پر پھیلے، مسلسل دکھائی دے، یا مکمل طور پر چھپی رہے۔

آپ یہ بھی منتخب کر سکتے ہیں کہ Codenotch Dock آئیکن، مینو بار آئیکن، یا دونوں میں سے کوئی بھی نہ دکھائے۔

5. اسکرین کا کنارہ منتخب کریں

نوچ کو چاروں میں سے کسی بھی کنارے پر رکھیں:

  • بائیں یا دائیں: فراہم کنندہ کی ریڈنگز عمودی کالم میں ظاہر ہوتی ہیں۔
  • اوپر یا نیچے: فراہم کنندہ کی ریڈنگز ساتھ ساتھ ظاہر ہوتی ہیں۔

Codenotch اسکرین کے قابل استعمال کنارے کے مطابق خود کو ڈھالتی ہے۔ نیچے کی جگہ Dock کے اوپر رہتی ہے اور Dock کے چھپنے یا منتقل ہونے پر ردِعمل دیتی ہے۔ ہارڈویئر نوچ والے Mac پر اوپر کی جگہ اس کی عین شکل استعمال کرتی ہے، تاکہ طبعی اور سافٹ ویئر نوچ ایک ہی عنصر دکھائی دیں۔

متعدد Claude Code اکاؤنٹس کی نگرانی کریں

Codenotch الگ الگ Claude Code کنفیگریشن ڈائریکٹریز کے لیے الگ الگ حلقے دکھا سکتا ہے۔ مثال کے طور پر ورک اکاؤنٹ اس طرح شروع کریں:

CLAUDE_CONFIG_DIR=~/.claude-work claude

Claude Code کے اس ڈائریکٹری کو استعمال کرنے کے بعد Codenotch اسے دریافت کر لیتا ہے اور ذاتی اکاؤنٹ کے ساتھ Claude (work) حلقہ دکھاتا ہے۔ ورک اکاؤنٹ کے اپنے limits، sessions اور Settings row ہوتے ہیں۔

شروع ہوتے وقت Codenotch ان ڈائریکٹریز کو تلاش کرتا ہے جو ~/.claude-<slug> سے مطابقت رکھتی ہوں اور Claude Code نے استعمال کی ہوں۔ ڈیفالٹ ~/.claude اکاؤنٹ ہمیشہ پہلے رکھا جاتا ہے، جبکہ اضافی کنفیگریشنز حروفِ تہجی کی ترتیب سے رکھی جاتی ہیں تاکہ ان کے حلقوں کی پوزیشن غیر متوقع طور پر تبدیل نہ ہو۔

Refresh behavior and rate limits

Codenotch غیر ضروری درخواستوں کو کم کرنے کے لیے polling کو ایڈجسٹ کرتا ہے۔ جب کوئی monitored session نہیں چل رہا ہوتا، تو polling ہر پانچ منٹ بعد ہوتی ہے۔ تازہ reading دستی طور پر حاصل کرنے کے لیے notch پر دایاں کلک کریں اور Refresh now منتخب کریں۔

Claude کا endpoint بہت زیادہ بار query کیے جانے پر HTTP 429 واپس کر سکتا ہے۔ Codenotch بڑھتا ہوا وقفہ نافذ کرتا ہے جو 60 seconds سے شروع ہوتا ہے، مسلسل rate-limit responses کے بعد دگنا ہو جاتا ہے، اور زیادہ سے زیادہ 15 minutes تک محدود رہتا ہے۔ یہ deadline launches کے درمیان برقرار رہتی ہے، جس سے restart کے فوراً بعد ایک اور کوشش ضائع ہونے سے بچتی ہے۔

Updates and security

Codenotch روزانہ updates چیک کرنے اور انہیں پسِ منظر میں install کرنے کے لیے Sparkle استعمال کرتا ہے۔ Automatic updates کو Settings میں بند کیا جا سکتا ہے۔ Official updates پر EdDSA signature ہوتی ہے، اس لیے app ایسی build install نہیں کرتا جو maintainer نے تیار اور sign نہ کی ہو۔

Keychain-backed providers کے لیے official app ایک مستحکم Developer ID identity استعمال کرتی ہے، تاکہ ایک بار دیا گیا Always Allow grant rebuilds کے بعد بھی برقرار رہے۔ Codenotch secret کو دوبارہ پڑھنے سے پہلے keychain item کی modification date چیک کرتا ہے، جس سے معمول کی polling کے دوران بار بار access prompts کم ہوتے ہیں۔

Advanced development notes

Provider architecture

ہر integration Sources/Providers/ کے تحت UsageProvider implement کرتا ہے۔ ایک provider Fidelity value بھی ظاہر کرتا ہے: .official، .derived، یا .manual۔ اس سے interface کسی inferred value کو اس طرح پیش نہیں کرتا جیسے وہ براہِ راست vendor نے published کی ہو۔

Sources/Model/ کے تحت موجود UsageStore timer پر providers کو poll کرتا ہے اور launches کے درمیان آخری کامیاب reading محفوظ رکھتا ہے۔ جب کوئی provider ناکام ہوتا ہے، تو store percentage گھڑنے کے بجائے stale، needsAuth، یا error جیسی نمایاں status فراہم کرتا ہے۔

Screen-edge layout

Notch layout ایک بُعدی stack space میں along اور across coordinates استعمال کرتا ہے۔ NotchPlacement ان values کو منتخب edge کے لیے حقیقی screen coordinates میں تبدیل کرتا ہے۔ NotchLayout ان measurements کو مرکزی جگہ پر رکھتا ہے جو implementation کا design frame کے ساتھ موازنہ کرنے کے لیے استعمال ہوتی ہیں۔

Inspect diagnostic logs

چونکہ Codenotch کی کوئی روایتی app window نہیں ہے، اس لیے diagnostic information macOS unified log میں لکھی جاتی ہے۔ Debug messages کو اس طرح stream کریں:

/usr/bin/log stream --predicate 'subsystem == "com.vinz.codenotch"' --level debug

جب کوئی provider authenticate نہ کر سکے، stale data واپس کرے، یا response format میں تبدیلی کا سامنا کرے، تو یہ troubleshooting کا بنیادی tool ہے۔

Understand the limitations

کوئی بھی supported vendor ایسی سادہ اور مستحکم API شائع نہیں کرتا جو coding session کے استعمال کو ہر صورت میں درست percentage کے طور پر ظاہر کرے۔ اسی لیے Codenotch owning applications کے زیرِ استعمال انہی internal یا local sources سے data پڑھتا ہے، جن میں endpoints، databases، language servers اور logs شامل ہیں۔

یہ interfaces بغیر اطلاع کے تبدیل ہو سکتے ہیں۔ Codenotch adapter tests اور واضح failure states کے ذریعے اس خطرے سے نمٹتا ہے، لیکن upstream application میں تبدیلی کے بعد provider integration عارضی طور پر کام کرنا بند کر سکتی ہے۔

Conclusion

Codenotch coding assistant usage، reset windows اور active-session state کو macOS کے screen-edge display میں یکجا کرتا ہے۔ make run سے شروع کریں، interface کو محفوظ طریقے سے دریافت کرنے کے لیے demo mode استعمال کریں، پھر app کو supported tools میں پہلے سے configured accounts دریافت کرنے دیں۔ Development اور contribution کی تفصیلات کے لیے CONTRIBUTING.md سے رجوع کریں۔ یہ project MIT License کے تحت دستیاب ہے۔