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

macOS اسپاٹ لائٹ اور سری سے Claude Code استعمال کریں

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

macOS اسپاٹ لائٹ اور سری سے Claude Code استعمال کریں

Claude for Siri کیا کرتا ہے

Claude for Siri ایک تجرباتی macOS منصوبہ ہے جو سائن اِن شدہ Claude Code اکاؤنٹ کو macOS Spotlight اور متعلقہ Siri انٹرفیسز میں فراہم کنندہ کے طور پر دستیاب بناتا ہے۔ اس کی مینو بار ایپلی کیشن ایک بلٹ اِن Swift برج چلاتی ہے، سینڈ باکس شدہ فراہم کنندہ ایکسٹینشن سے درخواستیں وصول کرتی ہے، مقامی Claude Code CLI کو چلاتی ہے، اور متنی جوابات کو Apple کے مقامی جوابی انٹرفیس میں اسٹریم کرتی ہے۔

سیکیورٹی انتباہ: اس منصوبے کے لیے macOS 27 درکار ہے، جس میں System Integrity Protection اور Apple Mobile File Integrity غیر فعال ہوں۔ اس سے macOS کے سیکیورٹی تحفظات میں نمایاں کمی آتی ہے۔ بنیادی یا پروڈکشن مشین کے بجائے ایک مخصوص ڈویلپمنٹ Mac استعمال کریں۔ ایپلی کیشن اور اس کے اسکرپٹس یہ تحفظات خود غیر فعال نہیں کرتے۔

یہ ایک آزاد تصوراتی ثبوت ہے، Apple یا Anthropic کا باضابطہ انضمام نہیں۔ یہ نجی، بیٹا کے لیے مخصوص APIs پر منحصر ہے اور macOS 27 build 26A428 اور Xcode 27 27A266a پر آزمایا گیا ہے۔

اہم خصوصیات اور حدود

فی الحال کیا کام کرتا ہے

  • Spotlight میں فراہم کنندہ کی دریافت، رضامندی اور درخواست بھیجنے کا عملی مظاہرہ کیا جا چکا ہے۔
  • Swift برج مستند Claude Code اکاؤنٹ کے ذریعے براہِ راست درخواستیں مکمل کر سکتا ہے۔
  • جوابات بتدریج Apple کے مقامی جوابی UI میں اسٹریم ہوتے ہیں۔
  • ہر درخواست ایک نئی گفتگو شروع کرتی ہے۔
  • منتخب متن کے لیے Writing Tools سپورٹ نافذ ہے، اگرچہ مقامی انٹرفیس میں اس کی تصدیق نہیں ہوئی۔
  • مینو بار ایپلی کیشن میں کنکشن کی جانچ، دریافت فعال کرنے اور معمول کی دریافت بحال کرنے کے کنٹرول شامل ہیں۔

اہم حدود

  • فراہم کنندہ صرف متن سنبھالتا ہے۔
  • یہ تصاویر نہیں بناتا اور منسلکات قبول نہیں کرتا۔
  • یہ ڈیوائس کے اقدامات انجام نہیں دے سکتا۔
  • یہ Siri کے میل، رابطوں، پیغامات یا معنوی اشاریے تک رسائی نہیں رکھتا۔
  • صوتی روٹنگ کی ابھی تصدیق نہیں ہوئی۔
  • اس ایکسٹینشن کو پورے سسٹم کے لیے بطور ڈیفالٹ Ask فراہم کنندہ بنانے کا کوئی تصدیق شدہ طریقہ موجود نہیں۔
  • Spotlight، Siri کا علیحدہ Ask مینو اور System Settings مختلف فراہم کنندگان کی فہرستیں دکھا سکتے ہیں۔

Apple کا عمومی آن بورڈنگ انٹرفیس تصویر بنانے کا ذکر کر سکتا ہے یا عارضی آئیکن دکھا سکتا ہے۔ یہ عناصر اس منصوبے کی فراہم کردہ صلاحیتوں کی نمائندگی نہیں کرتے۔ قابلِ اعتماد روٹنگ کا طریقہ یہ ہے کہ ہر Spotlight درخواست کے لیے واضح طور پر Ask… → Claude منتخب کیا جائے۔

ضروریات

منصوبہ انسٹال کرنے سے پہلے مطلوبہ سافٹ ویئر اور ترتیب کے ساتھ ایک ڈویلپمنٹ Mac تیار کریں:

  • macOS 27، جس میں SIP اور AMFI پہلے ہی غیر فعال ہوں۔
  • Xcode 27، جس کا لائسنس قبول کیا گیا ہو اور پہلی بار چلنے والے اجزا کی انسٹالیشن مکمل ہو چکی ہو۔
  • XcodeGen انسٹال کرنے کے لیے Homebrew۔
  • XcodeGen۔
  • Claude Code، انسٹال اور سائن اِن شدہ۔
  • Git اور ٹرمینل تک رسائی۔

Homebrew کے ذریعے XcodeGen انسٹال کریں:

brew install xcodegen

Claude Code کی توثیق کریں:

claude auth login

آگے بڑھنے سے پہلے اکاؤنٹ کی حالت کی تصدیق کر سکتے ہیں:

claude auth status

Claude for Siri انسٹال کریں

1. ریپوزٹری کلون کریں

git clone https://github.com/mpociot/claude-siri-ai.git
cd claude-siri-ai

2. ایپلی کیشن بنائیں اور انسٹال کریں

./scripts/install.sh

انسٹالر ایپلی کیشن بناتا ہے، اسے ~/Applications/Claude.app میں رکھتا ہے اور کھول دیتا ہے۔ اگر کوئی دوسری ایپلی کیشن پہلے سے اسی عین راستے پر موجود ہو تو انسٹالیشن رک جاتی ہے۔ /Applications/Claude.app میں موجود Anthropic کی ایپلی کیشن الگ ہے اور صارف کی مقامی انسٹالیشن کے راستے سے متصادم نہیں ہوتی۔

یہ build، xcode-select کے ذریعے منتخب کردہ Xcode استعمال کرتا ہے۔ اگر غلط ڈویلپر ڈائریکٹری فعال ہو تو Xcode واضح طور پر متعین کریں:

DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer ./scripts/install.sh

3. Claude Code کنکشن کی جانچ کریں

انسٹال شدہ Claude ایپلی کیشن کھولیں اور Test Connection پر کلک کریں۔ ایپلی کیشن Claude CLI کے لیے عام مقامات تلاش کرتی ہے۔ اگر اسے درست executable نہ ملے تو Choose Claude CLI… استعمال کریں اور اسے دستی طور پر منتخب کریں۔

4. فراہم کنندہ کی دریافت فعال کریں

Enable in Spotlight… پر کلک کریں اور macOS کے ایڈمنسٹریٹر ڈائیلاگ میں توثیق کریں۔ ایپلی کیشن عارضی طور پر Siri اور Spotlight کو وسیع فراہم کنندہ دریافت کے ساتھ دوبارہ شروع کرتی ہے تاکہ macOS حسب ضرورت ایکسٹینشن تلاش کر سکے۔

یہ طریقۂ کار عارضی ہے۔ Mac دوبارہ شروع کرنے یا Siri سروسز کو دوبارہ شروع کرنے کے بعد، ممکن ہے آپ کو دوبارہ Enable in Spotlight… پر کلک کرنا پڑے۔ عارضی پروسیس اووررائیڈ ختم کرنے کے لیے Restore Normal Discovery استعمال کریں۔

اپنا پہلا پرامپٹ بھیجیں

  1. Claude کی مینو بار ایپلی کیشن چلتی رہنے دیں۔
  2. Spotlight کھولنے کے لیے ⌘Space دبائیں۔
  3. Spotlight کے ان پٹ فیلڈ پر دایاں کلک کریں۔
  4. Ask… → Claude منتخب کریں۔
  5. متنی پرامپٹ درج کریں اور جمع کرائیں۔
  6. اگر macOS کا رضامندی کا انٹرفیس دکھائی دے تو Turn On کا عمل مکمل کریں۔

مثال کے طور پر، آپ پوچھ سکتے ہیں:

Explain the difference between async and parallel programming in three short paragraphs.

جواب Apple کے مقامی انٹرفیس میں اسٹریم ہونا چاہیے۔ چونکہ ہر درخواست ایک نئی گفتگو شروع کرتی ہے، اس لیے یہ فرض نہ کریں کہ Claude کو Spotlight کے ذریعے بھیجے گئے پچھلے پرامپٹس یاد ہیں۔

ایپلی کیشن کی سیٹنگز ونڈو بند کرنے سے برج بند نہیں ہوتا؛ یہ مینو بار کے ذریعے دستیاب رہتا ہے۔ اگر آپ چاہتے ہیں کہ ایپلی کیشن خودکار طور پر شروع ہو تو Open at login فعال کریں، تاہم یہ اختیار ضروری نہیں ہے۔

انضمام کیسے کام کرتا ہے

Spotlight / Siri
  → سینڈ باکس میں محدود ClaudeProvider.appex
  → 127.0.0.1:17839 پر تصدیق شدہ HTTP/NDJSON
  → Claude.app کے اندر Swift برج
  → سائن اِن شدہ Claude Code CLI
  → اسٹریم کیا گیا متن
  → مقامی Siri جواب

پرووائیڈر ایکسٹینشن سینڈ باکس میں محدود ہے اور میزبان ایپلیکیشن سے IPv4 لوپ بیک کے ذریعے رابطہ کرتی ہے۔ میزبان سینڈ باکس سے باہر رہتا ہے تاکہ Claude Code CLI شروع کر سکے۔

ہر درخواست کے لیے CLI ایک نجی عارضی ڈائریکٹری میں چلتا ہے، جس میں ٹولز غیر فعال، MCP سرورز کے بغیر، سیف موڈ فعال، Chrome انضمام کے بغیر، اور مستقل گفتگو کے بغیر ہوتا ہے۔ عارضی پرامپٹ اِن پٹ عمل درآمد کے بعد حذف کر دیا جاتا ہے۔ پروجیکٹ کی دستاویزات کے مطابق، برج پرامپٹس، جوابات یا اسناد کا لاگ نہیں رکھتا۔

مقامی سرور ہر درخواست کی تصدیق کرتا ہے اور براؤزر کے Origin ہیڈرز اور غیر واضح HTTP فریمنگ کو مسترد کرتا ہے۔ یہ درخواست کے باڈی کے حجم، کھلے رابطوں، بیک وقت Claude عملوں اور عمل درآمد کے وقت کو بھی محدود کرتا ہے۔

مقامی ٹوکن کو سمجھنا

بلڈ ایک بے ترتیب bearer ٹوکن ایک بار .local/bridge.json میں بناتا ہے اور اسے میزبان اور ایکسٹینشن ٹارگٹس میں شامل کرتا ہے۔ دوبارہ بلڈ کرنے سے ٹوکن برقرار رہتا ہے۔ اپنے مقامی ٹوکن پر مشتمل compiled application bundle تقسیم نہ کریں۔

یہ ٹوکن حادثاتی یا براؤزر پر مبنی رسائی کو روکنے میں مدد دیتا ہے، لیکن ایسے دوسرے مقامی عمل کے خلاف سیکیورٹی کی حد نہیں ہے جو application bundle پڑھ سکتا ہو۔

دریافت کو سمجھنا

پرووائیڈر کی دریافت Apple کے موجودہ Siri اور پرووائیڈر عملوں میں ایک عارضی، محدود دائرہ کار والے runtime shim کے ذریعے ہوتی ہے۔ یہ Apple کی بائنریز، launch plists، boot arguments، entitlement checks یا پرووائیڈر کی رضامندی میں ترمیم نہیں کرتا۔ آپ کو پھر بھی Apple کے مقامی رضامندی کے عمل کے ذریعے پرووائیڈر کی منظوری دینی ہوگی۔

بلڈ اور ڈیولپمنٹ کمانڈز

انسٹال کیے بغیر بلڈ کریں

./scripts/build.sh

موجودہ بلڈ انسٹال کریں

./scripts/install.sh --skip-build

XcodeGen پروجیکٹ تیار کرتا ہے۔ میزبان اور ایکسٹینشن دونوں نجی com.apple.developer.model-delegation entitlement استعمال کرتے ہیں اور ad-hoc دستخط شدہ ہیں۔ یہ سیٹ اپ تقسیم کیے جا سکنے والے Apple entitlement کی اجازت نہیں دیتا۔

انسٹالیشن کے بعد، ایپلیکیشن برج، دریافت اسکرپٹ اور compiled discovery shim شامل کر لیتی ہے۔ اس لیے انسٹال شدہ ایپلیکیشن کو runtime پر repository checkout، Xcode یا Python کی ضرورت نہیں ہوتی۔ Claude Code کا انسٹال اور authenticated رہنا ضروری ہے۔ دریافت کے سیشنز کے دوران انسٹال شدہ ایپلیکیشن کو اس کے موجودہ path سے منتقل نہ کریں۔

کمانڈ لائن سے دریافت کو کنٹرول کریں

./scripts/discovery-session.sh start
./scripts/discovery-session.sh stop

پہلی کمانڈ عارضی دریافت سیشن شروع کرتی ہے۔ دوسری معمول کے دریافت رویے کو بحال کرتی ہے۔

پروجیکٹ کی جانچ

Swift ٹیسٹ سوٹ چلائیں

swift test --scratch-path .local/swift-build

مقامی Swift ٹیسٹس کے لیے Claude اکاؤنٹ درکار نہیں۔ دس ٹیسٹس HTTP تصدیق اور درخواست کی توثیق، بتدریج متن کی ترسیل، تکمیل اور خرابی سے نمٹنے، عمل کے timeout اور منسوخی، اور جعلی CLI کے ذریعے ایک حقیقی localhost round trip کا احاطہ کرتے ہیں۔

لائیو برج درخواست چلائیں

./scripts/smoke.sh

یہ کمانڈ چلتی ہوئی ایپلیکیشن اور آپ کے authenticated Claude اکاؤنٹ کے ذریعے ایک لائیو درخواست بھیجتی ہے۔ دستاویزی کامیاب جواب Claude bridge works ہے۔

ایکسٹینشن اور ایپلیکیشن کے دستخط کا معائنہ کریں

pluginkit -m -A -D -v -i dev.goldengate.Claude.Provider
codesign --verify --deep --strict "$HOME/Applications/Claude.app"

پہلی کمانڈ جانچتی ہے کہ آیا macOS نے پرووائیڈر ایکسٹینشن رجسٹر کی ہے۔ دوسری انسٹال شدہ ایپلیکیشن کے code signature کی تصدیق کرتی ہے۔

مسائل کا حل

برج شروع نہیں ہوتا

Claude for Siri کی اضافی نقول بند کریں اور جانچیں کہ آیا کوئی دوسرا عمل TCP پورٹ 17839 استعمال کر رہا ہے۔ اس پورٹ پر صرف مطلوبہ برج کو سننا چاہیے۔

Claude Ask مینو میں ظاہر نہیں ہوتا

ایپلیکیشن کھولیں اور دوبارہ Enable in Spotlight… چلائیں۔ ظاہر ہونے والے macOS رضامندی کے کسی بھی پرامپٹ کو مکمل کریں۔ reboot یا Siri سروس restart کے بعد دریافت دوبارہ کرنی پڑ سکتی ہے۔

Claude CLI کا پتا نہیں چلتا

تصدیق کریں کہ Claude Code انسٹال اور claude auth status کے ذریعے authenticated ہے۔ پھر executable کو دستی طور پر منتخب کرنے کے لیے ایپلیکیشن میں Choose Claude CLI… استعمال کریں۔

Spotlight اور System Settings میں اختلاف ہے

یہ experimental provider-discovery path کا معروف نتیجہ ہے۔ Spotlight، Siri کا الگ Ask مینو اور System Settings مختلف پرووائیڈر فہرستیں دکھا سکتے ہیں۔ کسی پرووائیڈر کا ایک انٹرفیس میں ظاہر ہونا اس بات کی ضمانت نہیں دیتا کہ وہ سب میں ظاہر ہوگا۔

Claude خودکار طور پر استعمال نہیں ہوتا

یہ پروجیکٹ verified default-provider setting فراہم نہیں کرتا۔ اگرچہ Claude کو کسی سابقہ گفتگو میں منتخب کیا گیا ہو، ہر نئی Spotlight درخواست کو Ask… → Claude کے ذریعے کھولیں۔ ایپلیکیشن جان بوجھ کر غیر مصدقہ Make default کنٹرول ظاہر نہیں کرتی۔

اعلی درجے کا استعمال اور حفاظتی نکات

  • الگ ڈیولپمنٹ مشین استعمال کریں، کیونکہ SIP اور AMFI کو غیر فعال کرنے سے آپریٹنگ سسٹم کے بنیادی تحفظات کمزور ہو جاتے ہیں۔
  • دریافت کا سیشن فعال رہنے کے دوران انسٹال شدہ ایپلیکیشن کو ~/Applications/Claude.app پر برقرار رکھیں۔
  • جب تجرباتی دریافت کی مزید ضرورت نہ ہو تو Restore Normal Discovery یا ./scripts/discovery-session.sh stop استعمال کریں۔
  • مقامی طور پر بنائے گئے بنڈلز تقسیم نہ کریں، کیونکہ ان میں آپ کے سیٹ اپ کے لیے تیار کیا گیا bearer token شامل ہوتا ہے۔
  • برج کی توثیق، اسٹریمنگ، ٹائم آؤٹ یا منسوخی کے رویے میں تبدیلی سے پہلے Swift ٹیسٹس چلائیں۔
  • برج یا اکاؤنٹ کے مسائل کو Spotlight کی دریافت کے مسائل سے الگ کرنے کے لیے smoke test استعمال کریں۔
  • مستقل گفتگو کے بجائے الگ الگ درخواستوں کی توقع رکھیں۔
  • الگ native ٹیسٹس کیے بغیر Writing Tools، وائس روٹنگ یا ڈیفالٹ فراہم کنندہ کے رویے پر انحصار نہ کریں۔

نتیجہ

Claude for Siri یہ دکھاتا ہے کہ sandbox شدہ macOS provider extension، مقامی authenticated Swift bridge اور Claude Code کس طرح متنی جوابات کو Spotlight کے native Ask interface میں اسٹریم کر سکتے ہیں۔ یہ پروجیکٹ تجربات اور ڈیولپمنٹ کے لیے مفید ہے، لیکن اس کے نجی APIs، کم کیے گئے نظامی تحفظات، عارضی discovery mechanism اور غیرمصدقہ Siri رویے اسے عام production استعمال کے لیے ناموزوں بناتے ہیں۔