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

agent-purge ٹیوٹوریل: Coding Agent کے سسٹم پرامپٹس اور Persona کا مرکزی انتظام

یہ ٹیوٹوریل agent-purge کو انسٹال اور استعمال کرنے کا طریقہ بیان کرتا ہے۔ اس کے ذریعے replace، append اور off کے تین طریقوں سے متعدد Coding Agent کے سسٹم پرامپٹس کا انتظام کیا جا سکتا ہے، نیز Persona، Web کنسول، انجیکشن چینلز، اسٹیٹس کی جانچ اور محفوظ واپسی کے طریقوں کی وضاحت کی گئی ہے۔

agent-purge ٹیوٹوریل: Coding Agent کے سسٹم پرامپٹس اور Persona کا مرکزی انتظام

agent-purge کیا ہے

agent-purge متعدد Coding Agent کے لیے سسٹم پرامپٹ مینجمنٹ کا ایک ٹول ہے۔ مختلف Agent پرامپٹس کو اسٹارٹ اپ پیرامیٹرز، کنفیگریشن فائلز، Hooks یا پلگ اِنز کے ذریعے پڑھ سکتے ہیں، جبکہ agent-purge ان اختلافات کو سمیٹ کر صارف کو ایک ہی Persona مواد کے ذریعے انجیکشن، تبدیلی اور واپسی مکمل کرنے دیتا ہے۔

پروجیکٹ تین موڈز کو سپورٹ کرتا ہے:

  • replace:Persona کے متن سے ہدف سسٹم پرامپٹ کو تبدیل کرنا۔
  • append:Persona کے متن کو موجودہ پرامپٹ کے آخر میں شامل کرنا۔
  • off:انجیکشن بند کرنا اور کی گئی تبدیلیاں واپس لینا۔

موڈ کو فوراً تبدیل کیا جا سکتا ہے۔ Web کا مرکزی سوئچ بند کرنے یا --mode off استعمال کرنے کے بعد، ٹول متعلقہ تبدیلیوں کو اصل حالت میں بحال کر دیتا ہے اور زیرِ انتظام انجیکشن کے آثار باقی نہیں چھوڑتا۔

بنیادی طریقۂ کار اور خصوصیات

تین یکساں چینلز

agent-purge مختلف Harness کے مطابق ڈھلنے کے لیے تین چینلز استعمال کرتا ہے۔ تینوں چینلز آخرکار موجودہ personas/<id>.md فائل کے متن کو ہی استعمال کرتے ہیں۔

  • install:ہدف Harness میں زیرِ انتظام کنفیگریشن بلاک لکھتا ہے، جو Markdown، Hooks یا پلگ اِن میکانزم استعمال کر سکتا ہے۔ یہ مستقل کنفیگریشن ہے، اس لیے دوسرے لوگ متعلقہ Harness کو براہِ راست شروع کریں تو بھی یہ مؤثر رہے گی۔
  • shim:PATH کے شروع میں اسی نام کا کمانڈ شیل رکھتا ہے، پھر کال کو agent-purge <h> کی طرف بھیج دیتا ہے، یوں براہِ راست درج کیے گئے اصل کمانڈ کو سنبھال لیتا ہے۔
  • slash:سیشن کے اندر /purge on، /purge off یا /purge status کے ذریعے فوری تبدیلی کی اجازت دیتا ہے، اور ڈسک پر موجود کنفیگریشن میں ترمیم نہیں کرتا۔

مقامی ہونا اور واپسی کی صلاحیت

پروجیکٹ صرف پرامپٹ سے متعلق مقامات میں ترمیم کرتا ہے، بائنری فائلوں میں تبدیلی نہیں کرتا اور اجازت کو توڑتا یا نظرانداز نہیں کرتا۔ حالت مقامی کمپیوٹر کے state.json میں محفوظ رہتی ہے اور اپ لوڈ نہیں ہوتی۔ ان انسٹال، کنٹرول ختم کرنے یا موڈ بند کرنے کے ذریعے اصل حالت بحال کی جا سکتی ہے۔

agent-purge uninstall <h>
agent-purge disarm
agent-purge <h> --mode off

کسی مخصوص Harness کے لیے کون سے چینلز معاون ہیں، اس کا فیصلہ مقامی رَن ٹائم کی تشخیص کے نتائج کی بنیاد پر ہونا چاہیے۔

تنصیب کی ضروریات

agent-purge چلانے کے لیے Node.js 20 یا اس سے زیادہ درکار ہے۔ پروجیکٹ خود کسی انحصار کے بغیر ہے۔ اسے npm کے ذریعے عالمی طور پر انسٹال کیا جا سکتا ہے، یا Web کنسول براہِ راست کھولنے کے لیے npx استعمال کیا جا سکتا ہے۔

تنصیب اور پہلی بار چلانا

طریقہ اول: عالمی تنصیب

npm i -g agent-purge

تنصیب مکمل ہونے کے بعد براہِ راست یہ کمانڈ چلائیں:

agent-purge web

مقامی کنسول کا ڈیفالٹ پتہ http://127.0.0.1:7788 ہے۔ براؤزر میں یہ پتہ کھول کر Persona، Harness کی حالت اور مرکزی سوئچ دیکھے اور منظم کیے جا سکتے ہیں۔

طریقہ دوم: npx کے ذریعے شروع کرنا

اگر پہلے عالمی تنصیب نہیں کرنا چاہتے تو براہِ راست یہ کمانڈ چلائیں:

npx agent-purge web

ڈیٹا ڈائریکٹری

کنفیگریشن اور Persona، npm پیکیج کی ڈائریکٹری میں محفوظ نہیں ہوتے، اس لیے سافٹ ویئر پیکیج کو اپ گریڈ کرنے سے صارف کا ڈیٹا اوور رائٹ نہیں ہوتا۔ ڈیفالٹ مقامات یہ ہیں:

  • Linux اور macOS: ~/.agent-purge/
  • Windows: C:\Users\<آپ>\.agent-purge\

ڈائریکٹری میں بنیادی طور پر state.json اور personas/ شامل ہوتے ہیں۔ پہلی بار چلنے پر ٹول Persona ڈائریکٹری میں neutral.md کا ابتدائی ٹیمپلیٹ تیار کرتا ہے۔

اگر آپ نے کبھی 0.1.x ورژن استعمال کیا ہو تو نئے ورژن کو پہلی بار چلانے پر پیکیج ڈائریکٹری میں موجود سابقہ ڈیٹا خودکار طور پر منتقل ہو جائے گا، جبکہ اصل فائلیں برقرار رہیں گی۔

حسبِ ضرورت ڈیٹا اسٹوریج کا مقام

AGENT_PURGE_HOME ماحولیاتی متغیر کے ذریعے الگ ڈیٹا ڈائریکٹری متعین کی جا سکتی ہے۔ یہ Persona کا بیک اپ رکھنے، کام کے ماحول الگ کرنے یا کنفیگریشن کو کسی دوسری ڈسک پر رکھنے کے لیے موزوں ہے۔

Linux یا macOS

export AGENT_PURGE_HOME=/path/to/your/data

Windows

setx AGENT_PURGE_HOME D:\ap-data

اسے ترتیب دینے کے بعد agent-purge کو نئے ٹرمینل سیشن میں چلائیں تاکہ ماحولیاتی متغیر یقینی طور پر مؤثر ہو جائے۔

Persona کو سمجھنا اور منظم کرنا

ہر Persona ایک personas/<id>.md فائل سے متعلق ہوتا ہے۔ فائل Frontmatter اور متن پر مشتمل ہوتی ہے، جس میں متن وہ اصل مواد ہے جو سسٹم پرامپٹ میں لکھا جاتا ہے۔

Frontmatter درج ذیل فیلڈز کو سپورٹ کرتا ہے:

  • description:Persona کی وضاحت، جو Web فہرست اور agent-purge ls کے آؤٹ پٹ میں دکھائی جاتی ہے۔
  • desc:پرانا وضاحتی فیلڈ، اب بھی معاون ہے۔
  • order:اختیاری ترتیب کی معلومات۔
  • harness:اختیاری Harness مطابقت کی معلومات۔
  • model:اختیاری ماڈل مطابقت کی معلومات۔

Web کنسول میں صرف نام اور وضاحت تبدیل کرنے پر Frontmatter کی دیگر کلیدیں برقرار رہتی ہیں اور پورا حصہ اوور رائٹ نہیں ہوتا۔

Persona کی فہرست بنانا

agent-purge ls

یہ کمانڈ تمام Persona دکھاتی ہے اور موجودہ مماثل آئٹم کو نشان زد کرتی ہے۔ اس کے علاوہ یہ رَن ٹائم میں دریافت ہونے والی Harness تنصیب کی حالت، ورژن، انجیکشن لیئر اور ہر چینل کی دستیابی بھی دکھاتی ہے۔

موجودہ Persona تبدیل کرنا

agent-purge use <id>

یہاں <id> سے مراد personas/ ڈائریکٹری میں موجود Persona فائل کا نامی شناختی نشان ہے۔ تبدیلی کے بعد آئندہ زیرِ انتظام کالز اسی Persona کو استعمال کریں گی۔

صرف ایک کال کے لیے Persona متعین کرنا

اگر موجودہ عالمی انتخاب تبدیل نہیں کرنا چاہتے تو صرف موجودہ کال میں کسی دوسرے Persona کی نشاندہی کی جا سکتی ہے:

agent-purge pi --persona <id>

یہ طریقہ مختلف پرامپٹ کے اثرات عارضی طور پر جانچنے کے لیے موزوں ہے۔ کال ختم ہونے کے بعد یہ Persona آئندہ کالز کے لیے ڈیفالٹ انتخاب نہیں بنتا۔

بنیادی استعمال کی مثالیں

Web کنسول شروع کرنا

agent-purge web

اس کے بعد http://127.0.0.1:7788 کھولیں۔ کنسول رَن ٹائم کی حالت دیکھنے اور مرکزی سوئچ چلانے کے لیے استعمال کیا جا سکتا ہے۔ مرکزی سوئچ بند کرنے پر انجیکشن واپس لے لیا جائے گا۔

موجودہ Persona کے ساتھ Codex شروع کرنا

agent-purge codex

agent-purge متعلقہ Backend اور مقامی رَن ٹائم ماحول کے مطابق آغاز کو سنبھالتا ہے، اور اس Harness کے لیے حقیقتاً دستیاب میکانزم کے ذریعے موجودہ Persona لاگو کرنے کی کوشش کرتا ہے۔

pi سے ایک بار سوال کرنا

agent-purge pi --ask "اس پروجیکٹ کی خرابیوں سے نمٹنے کی منطق چیک کریں"

یہ کمانڈ موجودہ Persona کے ساتھ ایک کال شروع کرتی ہے اور --ask کے بعد موجود متن کو اس دور کا سوال سمجھتی ہے۔

سیشن کے اندر فوری تبدیلی

Slash چینل کو سپورٹ کرنے والے Harness میں سیشن کے اندر یہ کمانڈز استعمال کیے جا سکتے ہیں:

/purge on
/purge status
/purge off
  • /purge on:Persona انجیکشن فعال کریں۔
  • /purge status:موجودہ حالت دیکھیں۔
  • /purge off:انجیکشن بند کریں، جبکہ ڈسک پر موجود کنفیگریشن میں ترمیم نہ کریں۔

یہ کیسے یقینی بنائیں کہ انجیکشن واقعی مؤثر ہے

matrix.json میں جامد صلاحیتوں کا میٹرکس محفوظ ہوتا ہے، لیکن جامد اعلان لازماً موجودہ مشین کی حقیقی حالت کے برابر نہیں ہوتا۔ ورژن کے اختلاف، تنصیب کے طریقے اور Harness میں ہونے والی تبدیلیاں چینل کی دستیابی کو متاثر کر سکتی ہیں۔

اس لیے پہلے agent-purge ls یا Web کنسول کی فراہم کردہ رَن ٹائم معلومات دیکھیں۔ یہ درج ذیل چیزوں کی عکاسی کرتی ہیں:

  • آیا Harness پہلے سے انسٹال ہے۔
  • دریافت کیا گیا Harness ورژن۔
  • آیا پرامپٹ SYS یا USER انجیکشن لیئر میں ہے۔
  • آیا install، shim اور slash تینوں چینلز دستیاب ہیں۔

جب جامد صلاحیتوں کی جدول اور رَن ٹائم تشخیص کے نتائج میں اختلاف ہو تو رَن ٹائم نتیجے کو ترجیح دیں۔

اعلیٰ درجے کے استعمال کی تجاویز

مختلف کاموں کے لیے متعدد Persona تیار کرنا

personas/ کے اندر متعدد Markdown فائلیں رکھی جا سکتی ہیں، مثلاً کوڈ ریویو، ریفیکٹرنگ کی تجاویز یا روزمرہ ڈویلپمنٹ تعاون کے لیے الگ الگ۔ استعمال واضح کرنے کے لیے description لکھیں اور دکھانے کی ترتیب تبدیل کرنے کے لیے order استعمال کریں؛ مماثلت کا دائرہ محدود کرنا ہو تو harness یا model فیلڈ استعمال کریں۔

تبدیلی سے پہلے یہ کمانڈ چلائیں:

agent-purge ls

ہدف Persona کی تصدیق کے بعد یہ کمانڈ چلائیں:

agent-purge use <id>

مستقل کنفیگریشن اور عارضی تجربے کو الگ رکھنا

  • مستقل طور پر مؤثر رکھنے کے لیے ہدف Harness کے معاون install چینل کا استعمال کریں۔
  • اگر براہِ راست درج کیا گیا اصل کمانڈ بھی agent-purge کے ذریعے سنبھالنا چاہتے ہیں تو shim چینل استعمال کریں۔
  • صرف موجودہ سیشن میں جانچ کرنا ہو تو ترجیحاً slash چینل یا ایک بار کے --persona پیرامیٹر کا استعمال کریں۔

کسی مخصوص چینل کا استعمال ممکن ہے یا نہیں، اس کا فیصلہ پھر بھی رَن ٹائم تشخیص کے نتائج کی بنیاد پر ہونا چاہیے۔

ترمیم سے پہلے واپسی کا راستہ برقرار رکھنا

اگرچہ پروجیکٹ حالت محفوظ کرتا ہے اور واپس کیے جا سکنے والے آپریشن فراہم کرتا ہے، پھر بھی عملی استعمال میں پہلے موجودہ Persona، ہدف Harness اور فعال موڈ کی تصدیق کرنا بہتر ہے۔ جانچ مکمل ہونے کے بعد درج ذیل طریقوں سے تبدیلی واپس لی جا سکتی ہے:

agent-purge uninstall <h>
agent-purge disarm

آپ --mode off پر بھی تبدیل کر سکتے ہیں، یا Web کنسول میں مرکزی سوئچ بند کر سکتے ہیں۔

اصل حالت میں شروع ہونے کو کامیاب انجیکشن نہ سمجھیں

ایسے بند سورس ڈیسک ٹاپ کلائنٹس میں جن کے سسٹم پرامپٹ سرور یا بند بائنری میں موجود ہوں، agent-purge صرف اصل حالت میں شروع کرتا ہے اور پرامپٹ انجیکشن نہیں کرتا۔ agent-purge <h> چلانے پر ٹول انجیکشن نہ ہونے کی وجہ واضح طور پر دکھاتا ہے، اور کامیابی کا جھوٹا تاثر نہیں دیتا۔

پروجیکٹ کی ساخت کا مختصر جائزہ

  • bin/:CLI کا داخلی مقام۔
  • lib/:حالت، Persona، انجیکشن، چینل اور تشخیصی منطق۔
  • backends/:ہر Harness کے آغاز کے پیرامیٹرز اور شناختی جملے کا انتظام۔
  • web/:مقامی کنسول، جس میں server.mjs اور ui.html شامل ہیں۔
  • bench/:انجیکشن کی کامیابی کی عملی پیمائش اور جج اسکرپٹس، صرف ڈویلپمنٹ کے لیے؛ معمول کے رَن ٹائم میں شامل نہیں۔
  • matrix.json:جامد صلاحیتوں کا میٹرکس۔

سکیورٹی، رازداری اور تعمیلی حدود

agent-purge ان مقامی آفیشل Harness کے لیے بنایا گیا ہے جنہیں صارف کو منظم کرنے کا اختیار حاصل ہو، اور اسے پرامپٹ انجینئرنگ اور مضبوطی کی جانچ کے لیے استعمال کیا جاتا ہے۔ یہ بائنری فائلوں میں ترمیم نہیں کرتا، اجازت کی پابندیوں کو نظرانداز نہیں کرتا، مقامی حالت کو باہر اپ لوڈ نہیں کرتا، اور اسے غیر مجاز نظاموں پر استعمال نہیں کیا جانا چاہیے۔

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

README میں مخصوص علاقوں کے سرورز اور ویب سائٹس تک رسائی پر بھی سخت پابندیاں عائد کی گئی ہیں۔ عملی استعمال سے پہلے، ریپوزٹری میں موجود دستبرداری اور تعمیری تقاضوں سے متعلق بیان مکمل طور پر پڑھیں اور یقینی بنائیں کہ آپ کے اقدامات کا دائرہ کار ان تقاضوں کے مطابق ہے۔

خلاصہ

agent-purge متعدد Coding Agent کے غیر یکساں پرامپٹ انٹری پوائنٹس کو Persona، install، shim اور slash جیسے تصورات کے تحت یکجا کرتا ہے، اور Web کنسول، رن ٹائم جانچ اور واپس لینے کی صلاحیت فراہم کرتا ہے۔ آغاز کے لیے پہلے ٹول انسٹال کریں، Web کنسول کھولیں، agent-purge ls چلا کر معاونت کی جانچ کریں، پھر ہدف Harness شروع کرنے کے لیے Persona منتخب کریں۔ عارضی تجربات کے لیے ایک بار استعمال ہونے والی Persona یا سیشن کے دوران فوری تبدیلی کو ترجیح دیں؛ طویل مدتی ترتیب کے لیے، مستقل چینل فعال کرنے سے پہلے رن ٹائم صلاحیت اور تعمیری حدود کی تصدیق کریں۔