ہینڈ آف
اپنے پروجیکٹ کو اپنی ہی کسی مشین پر بھیجیں تاکہ لیپ ٹاپ بند ہونے کے باوجود ایجنٹ کام جاری رکھے، فون سے رن کی نگرانی کریں، اور Take back کے ذریعے کام واپس گھر لائیں۔
ہینڈ آف (handoff) ایک پروجیکٹ کو آپ کی کسی مشین پر منتقل کر دیتا ہے اور لیپ ٹاپ بند ہونے کے باوجود ایجنٹ وہیں کام کرتا رہتا ہے۔ جب آپ واپس آئیں تو Take back پروجیکٹ کو اسی حالت میں گھر لے آتا ہے جیسا ایجنٹ نے چھوڑا تھا۔
یہ Remote Control سے مختلف ہے، جہاں آپ کا فون اسی ڈیسک ٹاپ کی ایک کھڑکی ہوتا ہے۔ ہینڈ آف دوسری مشین پر چلتا ہے، اور آپ کے ڈیسک ٹاپ کا جاگتے رہنا ضروری نہیں۔
پہلے ہینڈ آف سے پہلے
Settings → Machines کھولیں، کوئی مشین چنیں اور Handoff منتخب کریں۔ شیٹ مشین کی جانچ کرتی ہے اور جو کچھ ابھی موجود نہیں اس کی فہرست دکھاتی ہے، ہر آئٹم کے ساتھ اس کا حل بھی۔
| ضرورت | وجہ |
|---|---|
git | آپ کی ہسٹری اور غیر کمیٹ شدہ کام ساتھ لے جاتا ہے۔ |
rsync | پروجیکٹ کو وہاں اور واپس کاپی کرتا ہے، اور صرف بدلی ہوئی چیزیں بھیجتا ہے۔ |
node 18 or newer | ایجنٹ کے کمانڈ لائن ٹولز چلاتا ہے۔ |
| systemd user services | آپ کا SSH سیشن ختم ہونے کے بعد بھی رن جاری رہتا ہے۔ |
| Stay running after logout | اس کے بغیر آخری سیشن ختم ہوتے ہی سب کچھ رک جاتا ہے اور کوئی دوبارہ شروع نہیں کرتا۔ |
tmux (اختیاری) | سادہ شیل ٹیبز کو زندہ رکھتا ہے۔ ایجنٹ اسے استعمال نہیں کرتے۔ |
Install all missing سب کچھ خود کر دیتا ہے، یا آپ ایک ایک کر کے انسٹال کر سکتے ہیں۔ ہر کمانڈ چلنے سے پہلے مکمل دکھائی جاتی ہے، اور اگر آپ اسے اپنے ٹرمینل میں پیسٹ کرنا چاہیں تو Copy بٹن موجود ہے۔

شیٹ مشین پر گنجائش بھی ناپتی ہے — خالی میموری، خالی ڈسک، کورز اور لوڈ — اور اگر گنجائش کم ہو تو صاف بتا دیتی ہے، تاکہ بعد میں آپ کو یہ سوچنا نہ پڑے کہ بلڈ اتنا سست کیوں چلا۔
ایجنٹ میں سائن اِن جان بوجھ کر دستی ہے
آپ Claude یا Codex میں مشین پر ہی، ایک حقیقی ٹرمینل میں لاگ اِن کرتے ہیں۔ 1DevTool اس کمپیوٹر سے کوئی کریڈینشل کاپی نہیں کرتا، اور شیٹ بھی یہی کہتی ہے: signed in on the machine, never copied from here۔ آپ کا ایجنٹ کنفیگ منتقل ہوتا ہے، اور اس میں موجود صرف لوکل پاتھ اور MCP کمانڈز کو اس مشین کے مطابق دوبارہ لکھ دیا جاتا ہے۔
پروجیکٹ ہینڈ آف کرنا
پروجیکٹ کے سائیڈبار مینو سے Hand off to a machine… چنیں۔ یہ Settings → Machines میں مشین کی قطار پر اور ہینڈ آف ٹاسک ویو میں بھی موجود ہے۔
شیٹ آپ سے چار چیزیں پوچھتی ہے:
- مشین اور ایجنٹ جو اسے چلائے۔
- ایک گفتگو — موجودہ گفتگو جاری رکھیں، یا نئی شروع کریں۔ ایجنٹ بغیر اسکرین کے چلتا ہے؛ آپ اس کا لاگ پڑھتے ہیں۔
- اسے آگے کیا کرنا ہے، آپ کے اپنے الفاظ میں — "Finish the migration, run the tests, and fix what fails."
- اس بات کی تصدیق کہ یہاں اس پروجیکٹ پر کچھ نہیں چل رہا، تاکہ کاپی ایڈیٹنگ کے بیچ میں نہ لی جائے۔ پروجیکٹ کے دور ہونے کے دوران یہاں ایڈیٹنگ رک جاتی ہے۔
اگر پرامپٹ منظور کرنے کے لیے کوئی موجود نہیں تو Run without asking پر نشان لگائیں؛ اس کے بغیر ایجنٹ پہلے پرامپٹ پر رک جاتا ہے۔ اس کا اثر صرف اس مشین پر ہوتا ہے، اس کمپیوٹر پر کبھی نہیں۔
ہینڈ آف کے راستے میں جو کچھ بھی رکاوٹ ہو وہ ایک چپ کی صورت میں درج ہوتا ہے جس پر کلک کر کے آپ سیدھے متعلقہ فیلڈ پر پہنچ سکتے ہیں۔
کیا کاپی ہوتا ہے
پورا پروجیکٹ، اس کی git ہسٹری اور گفتگو، جو rsync کے ذریعے منتقل ہوتے ہیں:
- ٹریک شدہ اور غیر ٹریک شدہ فائلیں
- اسٹیج شدہ اور غیر اسٹیج شدہ تبدیلیاں
- ڈیلیٹ کی گئی فائلیں، ایگزیکیوٹیبل بٹس اور سم لنکس
- خود
.git
یعنی "پہلے GitHub پر پش کریں" جیسا کوئی مرحلہ نہیں — مشین بالکل اسی حالت سے شروع کرتی ہے جو آپ کی ڈسک پر ہے، ادھوری ایڈیٹس سمیت۔
Left out وہ پیٹرنز چپس کی صورت میں دکھاتا ہے جو چھوڑ دیے جائیں گے اور آپ ان کا نشان ہٹا سکتے ہیں، جبکہ Also leave out میں اضافی پیٹرنز لکھے جا سکتے ہیں۔ build، dist یا target نام کے فولڈر جان بوجھ کر رکھے جاتے ہیں: ان میں اکثر اصل سورس ہوتا ہے۔
آپ کی .env بھی ساتھ جاتی ہے — stdin کے ذریعے لکھی جاتی ہے، chmod 600 کے ساتھ، اور ایٹمک طور پر تبدیل کی جاتی ہے۔ فائل اور ویری ایبلز کے نام آپ کو دکھائے جاتے ہیں؛ ان کی ویلیوز کبھی لاگ نہیں ہوتیں۔
جب یہ سب پہنچ جائے تو ایجنٹ systemd --user یونٹ کے طور پر چلتا ہے۔ اسی کی بدولت لیپ ٹاپ بند ہو سکتا ہے۔
فالو اپس مشین پر قطار میں لگتے ہیں
اگلی ہدایت کسی بھی وقت لکھیں، چاہے رن جاری ہی کیوں نہ ہو۔ مشین اسے روک کر رکھتی ہے اور موجودہ رن ختم ہوتے ہی اسے شروع کر دیتی ہے — چاہے آپ کا لیپ ٹاپ بند ہو یا ایپ بند ہو۔ قطار مشین پر رہتی ہے، آپ کی ایپ میں نہیں۔
ٹاسک ویو مشین کا لاگ واپس اسٹریم کرتا ہے: اسسٹنٹ کا متن، ٹول کالز، نتائج اور ایگزٹ اسٹیٹس، اور ہر رن کو نمبر دیا جاتا ہے۔
فون پر کھولیں
Open on phone ہینڈ آف کامیابی کی اسکرین، ٹاسک ویو اور مشین کی قطار پر موجود ہے۔ اپنے فون کے کیمرے سے QR کوڈ اسکین کریں اور صفحہ Safari یا Chrome میں کھل جائے گا — کوئی ایپ انسٹال نہیں کرنی پڑتی، اور صفحہ مشین خود Cloudflare quick tunnel کے ذریعے فراہم کرتی ہے، اس لیے آپ کا لیپ ٹاپ بند ہونے پر بھی یہ چلتا رہتا ہے۔
فون سے آپ یہ کر سکتے ہیں:
- لائیو لاگ دیکھیں — وہی اندراجات جو ڈیسک ٹاپ ٹاسک ویو میں نظر آتے ہیں۔
- اگلی ہدایت بھیجیں — اگر رن جاری ہو تو قطار میں لگتی ہے، ورنہ فوراً شروع ہو جاتی ہے۔
- موجودہ رن کو روکیں (Stop)۔
- شیل کھولیں۔ 6 ہندسوں کا Admin PIN فون کے براؤزر میں مشین پر ایک
tmuxشیل کھول دیتا ہے۔ ٹیب بند کرنے کے بعد بھی یہ برقرار رہتا ہے اور اسکرین کے مطابق سائز بدل لیتا ہے۔ - رن ختم ہونے پر پش نوٹیفکیشن حاصل کریں — ہر ختم ہونے والے رن پر ایک، اور جب قطار آگے بڑھے تب بھی۔ Android Chrome پر یہ آج کام کرتا ہے؛ iPhone پر پہلے صفحے کو Home Screen میں شامل کریں۔
اسکین اسکرین ہر کھلے فون سیشن کی فہرست دکھاتی ہے اور ساتھ Sign out all دیتی ہے، جبکہ Turn off لنک کو مکمل طور پر بند کر دیتا ہے۔ New code موجودہ فونز کو سائن آؤٹ کیے بغیر نیا QR کوڈ اور PIN جاری کرتا ہے۔ کسی مشین پر آخری ہینڈ آف واپس لینے سے فون تک رسائی خود بخود بند ہو جاتی ہے۔
مشین پر موجود cloudflared کو چلانے سے پہلے اس کے GitHub ریلیز ڈائجسٹ سے جانچا جاتا ہے۔
Take back
Take back کام کو ایسی ترتیب سے واپس لاتا ہے جس میں کچھ بھی ضائع نہیں ہو سکتا:
- مشین کی قطار روک دی جاتی ہے، تاکہ آپ کے نیچے کوئی نیا رن شروع نہ ہو۔
- موجودہ رن روک دیا جاتا ہے۔
- ایجنٹ کی تبدیلیوں سمیت پروجیکٹ کو rsync کے ذریعے واپس گھر لایا جاتا ہے۔
- مشین پر بنائے گئے یونٹس صاف کر دیے جاتے ہیں۔
جانے کے وقت جو پیٹرنز خارج کیے گئے تھے وہی واپسی پر بھی استعمال ہوتے ہیں، اس لیے take-back کبھی ایسی چیز ڈیلیٹ نہیں کرتا جو بھیجی ہی نہیں گئی تھی۔
متعلقہ
- Machines — وہ فہرست جس سے ہینڈ آف مشین چنتا ہے، اور جہاں ایجنٹ چلتا ہے
- اپنے فون سے 1DevTool کنٹرول کریں — فون کی دوسری سہولت، جو اسی ڈیسک ٹاپ کی طرف اشارہ کرتی ہے
- SSH Keys