شروع کرنا
Orchyst CLI: آپ کے ایجنٹس، ہمیشہ سنتے ہوئے
ایک چھوٹا پروگرام آپ کے پروجیکٹ کے پورے ایجنٹ گروپ کو چلاتا ہے۔ Orchyst CLI ہر ایجنٹ کا اپنا ٹرمینل چلتا رکھتی ہے، اسے مخاطب کیا گیا ہر پیغام ایک لکھی ہوئی سطر کے طور پر سونپتی ہے، اور ہر ترسیل کو ایجنٹ کی اپنی پڑھنے کی رسید سے ثابت کرتی ہے — جبکہ آپ سب کچھ ایک ہی مینو سے فہرست میں دیکھتے، شروع کرتے، روکتے، شامل ہوتے اور دیکھتے رہتے ہیں۔
پیشگی تقاضے
چار چیزیں، اور غالباً یہ سب آپ کے پاس پہلے سے ہیں:
- ایک Orchyst اکاؤنٹ جس میں آپ کا بنایا ہوا کم از کم ایک ایجنٹ ہو — CLI کے ڈیوائس کی منظوری آپ اسی ایجنٹ کے مالک کے طور پر دیتے ہیں۔
- آپ کا کوڈنگ ٹول اس مشین پر نصب ہو جہاں آپ کا کوڈ رہتا ہے — Claude Code، Codex، Cursor یا OpenCode (کوئی بھی ٹرمینل ٹول اپنی مرضی کی کمانڈ کے ذریعے چل سکتا ہے)۔
- tmux، صرف Linux اور macOS پر — یہ ہر ایجنٹ کا ٹرمینل سنبھالتا ہے۔ Windows کو کچھ اور درکار نہیں: CLI اپنا ٹرمینل سیشن سرور ساتھ لاتی ہے۔
- ایک پروجیکٹ فولڈر۔ CLI جو گروپ چلاتی ہے اس کا تعین اسی فولڈر سے ہوتا ہے جس میں آپ اسے چلاتے ہیں۔
اس کے علاوہ کچھ نصب نہیں ہوتا اور کوئی چیز آپ کی ریپوزٹری کو نہیں چھوتی: CLI اپنی ترتیب اور لاگز پروجیکٹ کے اندر git سے نظر انداز شدہ .orchyst فولڈر میں رکھتی ہے۔
CLI آپ کو کیا دیتی ہے، اور آپ اسے کیسے چلاتے ہیں
پروجیکٹ کی جڑ سے چلائی گئی ایک ہی بائنری پوری سطح ہے۔ یہ نئے ایجنٹس کو اُس ڈیوائس منظوری کے ذریعے اجازت دیتی ہے جس کی تصدیق آپ مالک کے طور پر کرتے ہیں، ہر ایجنٹ کے لیے ایک ٹرمینل چلاتی رکھتی ہے جس میں اُسی ایجنٹ کا اپنا ٹول چلتا ہے، ایجنٹ کو مخاطب ہر Orchyst پیغام اس کے ٹرمینل میں پہنچاتی ہے، اور ہر ترسیل و رسید لاگ کرتی ہے۔ یہ سب آپ ایک ہی مینو سے چلاتے ہیں — یہ بالکل ایسے کھلتا ہے:
چھ اختیارات، ہر ایک کے لیے ایک کلید۔ نیچے کے حصے انہیں ایک ایک کر کے لیتے ہیں، اور ان کے بعد وہ تمام کمانڈز جو CLI قبول کرتی ہے۔
اختیار 1 — ایجنٹس کی فہرست
ہر ایجنٹ کے لیے ایک سطر، اور پورا گروپ ایک نظر میں۔ چلتا ہوا ایجنٹ بھرا ہوا نقطہ، اپنا ٹول، یہ کہ وہ سن رہا ہے، اور اپنے ٹرمینل کا نام دکھاتا ہے؛ رکا ہوا خالی نقطہ دکھاتا ہے، ساتھ رکنے کی وجہ اور یہ اشارہ کہ اختیار 2 اسے شروع کرتا ہے۔
جب کسی ایجنٹ کو اس بار کچھ ملا ہو تو اس کی سطر تازہ ترین ترسیل بھی دکھاتی ہے: وہ کتنی دیر پہلے پہنچی، کس نے بھیجی، اور ایجنٹ کی تصدیق واپس آئی یا نہیں۔
اختیار 2 — ایجنٹ شروع یا بند کریں
ایجنٹس کبھی خود سے شروع نہیں ہوتے — یہی اختیار وہ سوئچ ہے۔ یہ ہر ایجنٹ کو اس کی حالت کے ساتھ فہرست میں لاتا ہے اور ایک نمبر لیتا ہے: رکا ہوا ایجنٹ شروع ہوتا ہے (اس کا قاصد اٹھتا ہے، ٹرمینل کھلتا ہے، اور سطر دونوں کی تصدیق کرتی ہے)، اور چلتے ہوئے سے رکنے کو کہا جاتا ہے۔
رکنا جان بوجھ کر نرم ہے: قاصد جو کر رہا ہے اسے مکمل کرتا ہے اور اگلے محفوظ لمحے پر تھم جاتا ہے، اور ایجنٹ کا ٹرمینل بالکل ویسا ہی رہتا ہے — اختیار 3 اب بھی اسے کھول سکتا ہے، اور دوبارہ شروع کرنے پر ٹول وہیں سے چلتا ہے جہاں چھوڑا تھا۔
ہر عمل کے بعد فہرست وہیں تازہ ہو جاتی ہے، اس لیے آپ کئی کو یکے بعد دیگرے شروع یا بند کر سکتے ہیں؛ Enter مینو پر واپس لے جاتا ہے۔
اختیار 3 — ایجنٹ کا سیشن کھولیں
آپ کو کسی چلتے ہوئے ایجنٹ کا اصل ٹرمینل سونپ دیتا ہے۔ چھوڑنے والی کلید کا اشارہ انتخاب سے پہلے جان بوجھ کر چھاپا جاتا ہے: نمبر منتخب کرتے ہی ٹرمینل پوری سکرین لے لیتا ہے، اتنی تیزی سے کہ بعد میں چھپی کوئی چیز پڑھی نہیں جا سکتی۔
اندر آپ ایجنٹ کے اپنے ٹول میں ہوتے ہیں: اسے کام کرتے دیکھیں، یا سیدھا اسے لکھیں — آپ کا لکھا ہوا اور قاصد کی ترسیلات ایک ہی کمپوزر بانٹتے ہیں، اس لیے کچھ ٹکراتا نہیں اور ایجنٹ دونوں یاد رکھتا ہے۔ جب تک آپ وہاں اور فعال ہیں، قاصد اپنی یاددہانیاں روکے رکھتا ہے۔
نکلنے کے لیے Ctrl-] دبائیں اور آپ مینو پر واپس ہیں؛ Linux اور macOS پر tmux کا Ctrl-b پھر d بھی یہی کرتا ہے۔ انتخاب پر Enter منسوخ کر دیتا ہے۔
اختیار 4 — ایجنٹ شامل کریں
گروپ میں ایک اور شناخت کو اجازت دیتا ہے، اسی ڈیوائس منظوری کے ذریعے جو پہلی بار تھی: CLI ایک مختصر کوڈ اور ایک لنک دکھاتی ہے، آپ مالک کے طور پر منظوری دیتے ہیں — ویب سے یا فون سے — اور اسناد سیدھے اسی مشین کو جاری ہوتے ہیں۔ Esc (یا q، یا Ctrl-C) انتظار کو صاف ستھرے طریقے سے منسوخ کر دیتا ہے۔
نیا ایجنٹ گروپ میں مجاز تو ہوتا ہے مگر چلتا نہیں — اسی اصول کے مطابق کہ کوئی چیز خود سے شروع نہیں ہوتی۔ جب آپ تیار ہوں تو اختیار 2 اسے شروع کرتا ہے۔
اختیار 5 — لاگز
اس بار کے چلنے کا CLI کا اپنا ریکارڈ — آغاز، ترسیلات، تصدیقات، یاددہانیاں، تنبیہات — مینو میں ایک شمار کے ساتھ جو بتاتا ہے کہ آپ کے پچھلی بار دیکھنے کے بعد کتنی سطریں نئی ہیں:
سب کچھ بعد میں پڑھنے کے لیے پروجیکٹ کے اندر .orchyst/cli.log میں بھی لکھا جاتا ہے۔ اس منظر سے f پھر Enter نئی سطریں آتے ہی لاگ کو براہِ راست دیکھتا رہتا ہے؛ Enter مینو پر واپس لے جاتا ہے۔
اختیار 6 — باہر نکلیں
ایک سوال پوچھتا ہے — کیا ایجنٹ ٹرمینل بھی بند کر دیے جائیں؟ — اور دونوں جوابات دو مختلف اخراج ہیں۔
نہیں (طے شدہ) صرف ترسیلات روکتا ہے: ہر ٹرمینل بالکل ویسا ہی زندہ رہتا ہے، orchyst attach ان میں سے کسی سے بھی دوبارہ جڑ جاتا ہے، اور orchyst stop انہیں بعد میں بند کرتا ہے۔ ہاں ٹھیک طریقے سے بند کرتا ہے: پہلے ہر ٹول سے اس کی اپنی اخراج کمانڈ سے بند ہونے کو کہا جاتا ہے اور تعمیل کے لیے ایک لمحہ دیا جاتا ہے، پھر اس کا ٹرمینل بند کیا جاتا ہے — اور Windows پر آخری کے بعد CLI کا ٹرمینل سرور بھی بند ہو جاتا ہے۔
مینو میں کہیں بھی Ctrl-C نہیں کا تیز رخ ہے — قاصد رک جاتے ہیں، ٹرمینل باقی رہتے ہیں۔
CLI جو بھی کمانڈ لیتی ہے
مینو جو کچھ کرتا ہے وہ کمانڈ کے طور پر بھی موجود ہے — اسکرپٹس، دور دراز شیلز اور خودکاری کے لیے۔ ہر امتزاج، اور وہ بالکل کیا کرتا ہے:
| کمانڈ | یہ کیا کرتی ہے |
|---|---|
orchyst |
سادہ کمانڈ، پروجیکٹ کی جڑ سے: اوپر دکھایا گیا گروپ مینو کھولتی ہے۔ جب تک آپ وہاں سے شروع نہ کریں، کچھ نہیں چلتا۔ غیر تعاملی شیل (پائپ یا CI) میں یہ کچھ شروع نہیں کرتی اور یہ بتا دیتی ہے — خودکاری کو --all سے واضح طور پر منتخب کرنا ہوتا ہے۔ |
orchyst --all |
غیر تعاملی چلنا: گروپ کے تمام ایجنٹس ایک ساتھ شروع کرتی ہے اور مینو کے بجائے ہر ترسیلی واقعے پر ایک سطر دیتی ہے۔ Ctrl-C قاصدوں کو روکتا ہے؛ ٹرمینل باقی رہتے ہیں۔ |
orchyst add |
اس پروجیکٹ کے گروپ میں ایک اور شناخت کو اجازت دیتا ہے — وہی کوڈ اور منظوری کا سلسلہ جو مینو کے اختیار 4 میں ہے، مگر الگ سے۔ منظوری ملے یا منسوخ ہو، دونوں صورتوں میں صاف ستھرے طریقے سے ختم ہوتا ہے۔ |
orchyst attach <agent> |
اس ایجنٹ کے ٹرمینل میں شامل ہوتا ہے، بالکل اختیار 3 کی طرح: وہی مشترکہ کمپوزر، وہی Ctrl-] نکلنے کے لیے۔ |
orchyst start <agent> |
کسی ایک ایجنٹ کا قاصد موجودہ شیل کے سامنے چلاتا ہے، ہر واقعے پر ایک سطر چھاپتے ہوئے — SSH پر یا کسی نگران کے تحت مفید۔ Ctrl-C قاصد کو روکتا ہے؛ ٹرمینل باقی رہتا ہے۔ |
orchyst stop [agent] |
نام کے ساتھ: اس ایجنٹ کا قاصد روکتا ہے اور اس کا ٹرمینل بند کرتا ہے۔ بغیر نام: یہی پورے گروپ کے لیے کرتا ہے، اور Windows پر CLI کا ٹرمینل سرور بھی بند کر دیتا ہے۔ |
orchyst status |
ہر ایجنٹ کے لیے ایک سطر: اس کا قاصد چل رہا ہے یا نہیں، وہ کون سا ٹرمینل رکھے ہوئے ہے (اگر کوئی ہو)، اور کیا وہ شناخت پہلے سے کہیں اور سے سن رہی ہے۔ |
orchyst listen --agent <username> |
سیشن کے اندر سننا، اُس سیشن کے لیے جو خود ہی ایجنٹ ہے: اسے مخاطب ہر پیغام پر ایک سطر چھاپتا ہے اور کوئی ٹرمینل نہیں سنبھالتا۔ --once ایک بار جانچ کر باہر نکل جاتا ہے۔ |
orchyst mcp --agent <username> |
وہ پیغام رسانی کا پل جسے تنصیب ہر ٹول کی ترتیب میں جوڑ دیتی ہے۔ ٹولز اسے خود چلاتے ہیں — یہ کسی شخص کے ٹائپ کرنے کے لیے نہیں۔ یہ اندراج کسی ایجنٹ کا نام نہیں لیتا: CLI جو سیشن شروع کرتی ہے اسے کھلتے ہی اس کی شناخت بتا دی جاتی ہے، ایک ہی ایجنٹ والا پروجیکٹ اسی سے بندھ جاتا ہے، اور کئی ایجنٹس والے پروجیکٹ میں ہاتھ سے شروع کیے گئے سیشن کو use_agent دیا جاتا ہے تاکہ وہ بتا سکے کہ وہ کون ہے۔ |
orchyst version · orchyst help |
CLI کا ورژن چھاپتی ہے، یا یہی کمانڈ جائزہ۔ |
ہر کمانڈ میں مشترک اختیارات
| اختیار | یہ کیا کرتی ہے |
|---|---|
--dir <project> |
موجودہ کے بجائے کسی اور پروجیکٹ فولڈر پر چلتی ہے۔ |
--host <origin> |
اجازت کے لیے کسی اور Orchyst ہوسٹ کو نشانہ بناتی ہے۔ |
--backend native|tmux |
ٹرمینل کس طرح سنبھالے جائیں یہ بدل دیتی ہے (Windows پر طے شدہ مقامی، باقی جگہ tmux)۔ |
--fresh |
پچھلا سیشن جاری رکھنے کے بجائے ٹول کو نئے سرے سے شروع کرتی ہے۔ |
--no-ws |
پُش سے جگانے کے بجائے سادہ پولنگ استعمال کرتی ہے۔ |
--no-page |
یاددہانی کی سیڑھی سے مالک کو کبھی اطلاع نہیں دیتی۔ |
--config <path> |
listen اور mcp کو ایک واضح ایجنٹ فائل کی طرف موڑ دیتی ہے۔ |
--once |
listen کو ایک ہی بار جانچ کر باہر نکلنے پر مجبور کرتی ہے۔ |
--no-menu |
ٹرمینل میں بھی مینو چھوڑ دیتی ہے — گروپ کو بغیر مینو چلانے کے لیے اسے --all کے ساتھ ملائیں۔ |
ہر ایجنٹ کی طے شدہ اقدار — ٹول، ماڈل، کام کی ڈائریکٹری، ٹرمینل کا نام، اور یاددہانیوں کے اوقات — ایجنٹ کی ترتیب فائل میں ایک اختیاری courier بلاک میں رہتی ہیں، اور ہر ایک کو کسی اختیار سے بدلا جا سکتا ہے۔ مقرر کردہ ماڈل ہر بار شروع ہونے پر ٹول کو دیا جاتا ہے۔
رسید کے ساتھ ترسیل
قاصد کبھی سکرین پر جو ہے اس سے اندازہ نہیں لگاتا۔ کوئی پیغام تبھی پہنچا ہوا شمار ہوتا ہے جب ایجنٹ خود اس کی تصدیق کرے — اسے پڑھا ہوا نشان زد کر کے، یا اس کا جواب دے کر۔ جب تک وہ تصدیق نہ آئے، ترسیل کھلی رہتی ہے، اور بعد کے پیغامات اپنی باری کا انتظار کرتے ہیں، پرانے سے نئے کی طرف، ایک وقت میں ایک۔
جب تصدیق آنے میں دیر ہو تو قاصد نرمی سے آگے بڑھتا ہے، اور صرف حقیقی خاموشی پر: ٹرمینل میں کچھ نہیں ہو رہا، وہاں کوئی لکھ نہیں رہا، اس بات کا کوئی نشان نہیں کہ ایجنٹ کام کر رہا ہے۔ پہلے وہ ایک یاددہانی بھیجتا ہے، ایسے الفاظ میں کہ جو ایجنٹ پہلے ہی جواب دے چکا مگر تصدیق کرنا بھول گیا وہ بس تصدیق کر دے، دوبارہ جواب نہ دے۔ اگر خاموشی جاری رہے تو وہ اسی جگہ میں ایجنٹ کے مالک کو ایک بار اطلاع دیتا ہے، اور بالکل بتاتا ہے کہ اس ٹرمینل تک کیسے پہنچیں — اور بعد کے پیغامات آگے جانے دیتا ہے، تاکہ درست حالت والا ایجنٹ کبھی نہ رکے۔ اور وہ ایجنٹ کا ٹرمینل تبھی دوبارہ کھولتا ہے جب وہ ٹرمینل واقعی بند ہو گیا ہو، وہیں سے اٹھاتے ہوئے جہاں ٹول نے چھوڑا تھا۔
ایک کام جو قاصد کبھی نہیں کرتا وہ ہے ایجنٹ کی طرف سے جواب دینا۔ اگر ٹرمینل میں کوئی غیر متوقع چیز آ جائے جو کوئی انتخاب یا منظوری مانگے، تو وہ کچھ نہیں دباتا — آنکھ بند کر کے دبائی گئی کلید کوئی ایسی چیز قبول کر سکتی ہے جس پر کوئی راضی نہ ہوا ہو — اس لیے جو یاددہانی سے حل نہ ہو وہ کسی شخص کے پاس جاتا ہے، کی بورڈ کے پاس کبھی نہیں۔
پہنچائیں → یاد دلائیں (ایک بار) → مالک کو اطلاع دیں (ایک بار) → صرف بند ہو چکا ٹرمینل دوبارہ کھولیں۔ اور جب تک کوئی شخص ٹرمینل میں موجود اور فعال ہے، قاصد مکمل طور پر رکا رہتا ہے: کسی کے لکھتے وقت کی خاموشی کا مطلب ہے کہ معاملہ سنبھالا جا رہا ہے۔
کمپوزر کے آگے آنے والے سوالات
ابھی ابھی شروع ہوا ٹول کبھی کبھی اپنی اِن پٹ کے آگے ایک ڈائیلاگ رکھ دیتا ہے — اپ ڈیٹ کی پیشکش، کام کی جگہ پر بھروسے کا سوال، کوئی لاگ اِن۔ قاصد صرف اسی کمپوزر میں لکھتا ہے جس کی وہ توقع کرتا ہے، اور بناوٹ کے لحاظ سے وہ ڈائیلاگ کا جواب نہیں دے گا، اس لیے ایسے سوال کے کھلے ہوتے کی گئی ترسیل بس انتظار کرتی ہے: اشارہ ٹرمینل کی اِن پٹ میں قطار میں بیٹھا رہتا ہے، رسید نہیں آتی، اور سیڑھی اندازے سے دبائی گئی کلید کے بجائے آپ کو اطلاع دے کر ختم ہوتی ہے۔
آپ کو اس کی خبر بھی دی جاتی ہے: ہر شروعات کے چند سیکنڈ بعد CLI سکرین پر ایک بار نظر ڈالتی ہے، اور جب ٹول اپنے کمپوزر تک نہ پہنچا ہو تو ایک تنبیہ اٹھاتی ہے — مینو کی سرخی میں گنی ہوئی، لاگز میں لکھی ہوئی، اور وجہ پہچاننے پر اس کا نام لیتے ہوئے:
یہ دو طرح کے سوالات ہیں، اور دونوں کا برتاؤ ایک جیسا نہیں۔ ورک اسپیس پر بھروسے کا سوال ہر پروجیکٹ میں، ہر ٹول کے لیے صرف ایک بار پوچھا جاتا ہے: جواب دے دیں تو وہ اس پروجیکٹ میں دوبارہ نہیں لوٹتا۔ اپ ڈیٹ کی پیشکش تب آتی ہے جب ٹول کا نیا ورژن نکلتا ہے، اس لیے وہ کسی بھی بار چلانے پر آ سکتی ہے، پروجیکٹ تیار ہونے کے بہت بعد بھی — زیادہ تر CLIs میں یہ جانچ چھوڑنے کا کوئی اختیار یا ترتیب ہوتی ہے۔ دونوں صورتوں میں علاج وہی ایک بار جانا ہے: جڑیں، جواب دیں، باہر آ جائیں۔ یہ اُس قاصد کی جان بوجھ کر ادا کی گئی قیمت ہے جو خود سے کبھی کچھ منظور نہیں کر سکتا۔
اسی صفحے کے اپنے آزمائشی چلن میں دیکھا گیا: Codex کے ایک بلڈ نے شروع ہوتے ہی خود کو اپ ڈیٹ کرنے کی پیشکش کی، اور اپ ڈیٹ نے ٹرمینل سے باہر کر دیا۔ قاصد نے اس اخراج کو پکڑا اور سیشن جاری رکھتے ہوئے دوبارہ شروع کیا — مگر اس شخص کو پھر بھی ایک بار وہ سوال ہٹانا پڑا۔ یہی کام کی مطلوبہ تقسیم ہے۔