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

attini ایک کمانڈ لائن کوڈنگ ایجنٹ ہے جو آپ کے ورک اسپیس میں خودمختاری سے کام کرنے کے لیے ڈیزائن کیا گیا ہے جبکہ انسانی کنٹرول برقرار رکھتا ہے۔ یہ HTTP/1.1 + TLS کے ذریعے DeepSeek Chat Completions API کے ساتھ براہ راست تعامل کرتا ہے اور اسٹریمنگ کی سہولت رکھتا ہے۔ ایجنٹ فائلوں کی فہرست بنا اور پڑھ سکتا ہے، کوڈ بیس میں تلاش کر سکتا ہے، پیچ لگا سکتا ہے اور کمانڈز چلا سکتا ہے۔ git سے ٹریک شدہ فائلوں میں reversible تبدیلیاں بغیر پوچھے لاگو ہو جاتی ہیں، جبکہ اہم اقدامات—جیسے نئی فائلیں بنانا، غیر ٹریک شدہ فائلوں میں تبدیلی، یا غیر اجازت یافتہ کمانڈز چلانا—پیش نظارے کے طور پر دکھائے جاتے ہیں اور واضح منظوری کے منتظر رہتے ہیں۔ یہ پروجیکٹ Sans I/O ڈیزائن پر بنایا گیا ہے: بنیادی پارسرز، ڈیٹا ٹائپس اور اسٹیٹ مشینیں کوئی I/O نہیں کرتیں، جبکہ async ٹرانسپورٹ، TUI اور فائل سسٹم انٹیگریشن ارد گرد کے ماڈیولز میں رہتے ہیں۔ یہ علیحدگی ٹیسٹ ایبلٹی اور برقرار رکھنے کی صلاحیت کو بڑھاتی ہے۔ اہم خصوصیات میں شامل ہیں: - **صرف پڑھنے والے ٹولز**: ورک اسپیس کی کھوج کے لیے `list`، `read`، `search`۔ - **پیچ ٹول**: add/update ایڈٹس لگاتا ہے؛ ٹریک شدہ فائلوں میں reversible تبدیلیاں خودکار لگاتا ہے، مگر نئی فائلوں، غیر ٹریک شدہ تبدیلیوں، یا ورک اسپیس سے باہر لکھنے کے لیے منظوری درکار ہوتی ہے۔ - **کمانڈ ٹول**: اجازت کے کنٹرول میں شیل کمانڈز چلاتا ہے، قابل ترتیب ٹائم آؤٹس کے ساتھ۔ - **منظوری کا نظام**: رکی ہوئی سیشنز دوبارہ شروع کرنے، زیر التواء ٹول کالز کی منظوری، اور `--grant` کے ذریعے اختیاری مستقل اجازتیں دینے کے لیے `attini approve` استعمال کرتا ہے۔ - **اجازتیں**: ورک اسپیس اور سیشن سطح کے قواعد کے لیے سادہ JSONL فائلیں (`permissions.jsonl`)، جو ہاتھ سے قابل ترمیم ہیں۔ - **سیشن مینجمنٹ**: سیشنز `.attini/<NAME>/` کے تحت ڈائریکٹریز کے طور پر محفوظ ہوتے ہیں جن میں append-only JSONL گفتگو لاگز، اسکریچ پیڈ اور لاک فائلیں ہوتی ہیں۔ `attini status` اور `attini ask` سے معائنہ کریں۔ - **ماحول کے متغیرات**: API key، base URL، سیشن نام، ماڈل، درجہ حرارت، ٹائم آؤٹس اور مزید ترتیب دیں۔ ڈیزائن کا فلسفہ خودمختاری کے بجائے قابل کنٹرول اور قابل فہم ہونے پر زور دیتا ہے۔ سیاق و سباق صرف واضح طور پر درخواست کیے جانے پر شامل ہوتا ہے (پرامپٹ یا `--stdin` کے ذریعے)، کوئی مضمر ہنر یا ہدایات فائل کی دریافت نہیں، اور کوئی ذیلی ایجنٹس یا پلان موڈ نہیں۔ ایجنٹ خطرناک کارروائیوں سے انکار کرتا ہے بجائے اندازہ لگانے کے۔ جان بوجھ کر غیر معاون خصوصیات میں میموری کی برقراری، ذیلی ایجنٹ تفویض، `AGENTS.md` اسکیننگ، خودکار ہنر لوڈنگ، پلان موڈ، اور موجودہ صلاحیتوں کی نقل کرنے والے سہولت ٹولز شامل ہیں۔ یہ ایجنٹ کو واضح اور محفوظ رکھنے کی دانستہ پالیسی ہے۔ تقاضے: Rust 1.93+، `DEEPSEEK_API_KEY` ماحول متغیر، OpenAI-compatible endpoints کے لیے اختیاری `DEEPSEEK_BASE_URL`۔