منصوبے کے بارے میں

Clicky ایک AI سے چلنے والا تدریسی معاون ہے جو macOS پر آپ کے کرسر کے قریب ایک ساتھی کے طور پر رہتا ہے۔ یہ آپ کی اسکرین کا مشاہدہ کر سکتا ہے، گفتگو میں مشغول ہو سکتا ہے، اور مخصوص انٹرفیس عناصر کی طرف بصری طور پر اشارہ کر سکتا ہے۔ اس ریپوزٹری میں Clicky کا اوپن سورس ورژن شامل ہے، جو MIT لائسنس کے تحت جاری کیا گیا ہے، جس سے ڈویلپرز اسے تبدیل، حسب ضرورت، یا اس پر تعمیر کر سکتے ہیں۔ ## خصوصیات - **اسکرین آگاہی**: اسکرین کے مواد کو کیپچر اور تجزیہ کرنے کے لیے ScreenCaptureKit استعمال کرتا ہے۔ - **آواز کا تعامل**: AssemblyAI کے ذریعے حقیقی وقت میں نقل کے ساتھ پش-ٹو-ٹاک آواز کیپچر۔ - **مکالماتی AI**: سیاق و سباق سے آگاہ جوابات کے لیے ٹرانسکرپٹس اور اسکرین شاٹس کو Claude کو سٹریم کرتا ہے۔ - **ٹیکسٹ ٹو اسپیچ**: ElevenLabs TTS کے ذریعے جوابات چلاتا ہے۔ - **کرسر پوائنٹنگ**: Claude متعدد مانیٹرز پر مخصوص UI عناصر کی طرف کرسر منتقل کرنے کے لیے خصوصی ٹیگز ایمبیڈ کر سکتا ہے۔ - **مینو بار ایپ**: کنٹرول پینل اور فل اسکرین اوورلے ونڈو کے ساتھ ہلکی پھلکی مینو بار ایپلیکیشن کے طور پر چلتا ہے۔ ## آرکیٹیکچر - **Swift ایپ** (`leanring-buddy/`): مرکزی ایپلیکیشن منطق پر مشتمل ہے، بشمول مرکزی اسٹیٹ مشین، پینل UI، Claude سٹریمنگ کلائنٹ، ElevenLabs TTS کلائنٹ، اوورلے ونڈو، اور AssemblyAI ٹرانسکرپشن فراہم کرنے والے۔ - **Cloudflare Worker** (`worker/`): ایک چھوٹا پراکسی جو API کلیدوں کو محفوظ طریقے سے رکھتا ہے اور `/chat`، `/tts`، اور `/transcribe-token` اینڈ پوائنٹس پر درخواستیں روٹ کرتا ہے۔ - **CLAUDE.md**: ایک جامع آرکیٹیکچر دستاویز جو AI ایجنٹوں کے لیے کوڈبیس کو سمجھنے کے لیے بنائی گئی ہے۔ ## سیٹ اپ ### شرائط - macOS 14.2+ (ScreenCaptureKit کے لیے) - Xcode 15+ - Node.js 18+ (Cloudflare Worker کے لیے) - Cloudflare اکاؤنٹ (مفت ٹائر کام کرتا ہے) - Anthropic، AssemblyAI، اور ElevenLabs کے لیے API کلیدیں ### Claude Code کے ساتھ فوری آغاز 1. Claude Code انسٹال اور چلائیں۔ 2. فراہم کردہ پرامپٹ کو پیسٹ کریں تاکہ ریپو کلون ہو، `CLAUDE.md` پڑھا جائے، اور سیٹ اپ میں رہنمائی حاصل کی جائے۔ ### دستی سیٹ اپ 1. **Cloudflare Worker ترتیب دیں**: `worker/` پر جائیں، `npm install` چلائیں، پھر `npx wrangler secret put` کا استعمال کرتے ہوئے اپنی API کلیدیں سیکرٹ کے طور پر شامل کریں۔ `wrangler.toml` میں ElevenLabs وائس ID سیٹ کریں۔ `npx wrangler deploy` کے ساتھ ڈپلائے کریں۔ 2. **Worker کو مقامی طور پر چلائیں** (اختیاری): `npx wrangler dev` استعمال کریں اور اپنی کلیدوں کے ساتھ `.dev.vars` فائل بنائیں۔ Swift کوڈ میں پراکسی URLs کو `http://localhost:8787` کی طرف اشارہ کرنے کے لیے اپ ڈیٹ کریں۔ 3. **پراکسی URLs اپ ڈیٹ کریں**: Swift کوڈ میں `clicky-proxy` تلاش کریں اور اپنے Worker URL سے تبدیل کریں۔ 4. **Xcode میں کھولیں**: `leanring-buddy.xcodeproj` کھولیں، اسکیم منتخب کریں، اپنی سائننگ ٹیم سیٹ کریں، اور Cmd+R کے ساتھ چلائیں۔ ### مطلوبہ اجازتیں - مائیکروفون (پش-ٹو-ٹاک کے لیے) - رسائی (عالمی کی بورڈ شارٹ کٹ کے لیے) - اسکرین ریکارڈنگ (اسکرین شاٹس کے لیے) - اسکرین مواد (ScreenCaptureKit کے لیے) ## پروجیکٹ کا ڈھانچہ ``` leanring-buddy/ # Swift سورس CompanionManager.swift # مرکزی اسٹیٹ مشین CompanionPanelView.swift # مینو بار پینل UI ClaudeAPI.swift # Claude سٹریمنگ کلائنٹ ElevenLabsTTSClient.swift # ٹیکسٹ ٹو اسپیچ پلے بیک OverlayWindow.swift # نیلا کرسر اوورلے AssemblyAI*.swift # حقیقی وقت کی نقل BuddyDictation*.swift # پش-ٹو-ٹاک پائپ لائن worker/ # Cloudflare Worker پراکسی src/index.ts # تین راستے: /chat، /tts، /transcribe-token CLAUDE.md # مکمل آرکیٹیکچر دستاویز ``` ## تعاون PRs خوش آمدید ہیں۔ اگر Claude Code استعمال کر رہے ہیں، تو یہ کوڈبیس کو سمجھنے اور فیچر ڈیولپمنٹ یا بگ فکسز میں مدد کرنے کے لیے `CLAUDE.md` پڑھ سکتا ہے۔ رائے مصنف کو X (@farzatv) پر بھیجی جا سکتی ہے۔