প্রকল্প সম্পর্কে

pi_agent_rust হলো Rust-এ লেখা একটি উচ্চ-ক্ষমতাসম্পন্ন, শূন্য-অনিরাপদ-কোড AI কোডিং এজেন্ট CLI। এটি Mario Zechner-এর Pi Agent-এর একটি নেটিভ পোর্ট, যা Electron বা Node.js-এর মতো ম্যানেজড রানটাইমে তৈরি ধীরগতির, বেশি রিসোর্স-নির্ভর বিকল্পগুলোকে প্রতিস্থাপনের জন্য ডিজাইন করা হয়েছে। **মূল বৈশিষ্ট্য:** - **৩৬টি বিল্ট-ইন টুল** পাঁচটি স্তরে বিভক্ত: অপরিহার্য কমান্ড (read, write, edit, bash, grep, find, ls, web_search), আবিষ্কারযোগ্য টুল (ast_grep, ast_edit, lsp, debug, memory টুল), ব্যাকগ্রাউন্ড ইউটিলিটি (jobs, hub), এবং সেটিংস-গেটেড অতিরিক্ত (ব্রাউজার অটোমেশন, কম্পিউটার/ডেস্কটপ নিয়ন্ত্রণ, image/tts/media হ্যান্ডলিং) - **স্ট্রিমিং রেসপন্স** এবং এক্সটেন্ডেড থিংকিং ব্লক সাপোর্ট, বাস্তব নেটওয়ার্ক পরিস্থিতির জন্য টিউন করা একটি কাস্টম SSE পার্সারের মাধ্যমে - **লোকাল মডেল সাপোর্ট** Ollama, llama.cpp (llama-server), এবং mistralrs-এর জন্য সরাসরি — কোনো API কী প্রয়োজন নেই - **স্ট্রাকচার্ড কনকারেন্সি** asupersync রানটাইমের মাধ্যমে, পূর্বানুমেয় বাতিলকরণ ও রিসোর্স পরিষ্কারের জন্য - **ক্যাপাবিলিটি-গেটেড নিরাপত্তা মডেল**: দুই-পর্যায়ের এক্সটেনশন exec প্রয়োগ, বিপজ্জনক শেল প্যাটার্নের (রিকার্সিভ ডিলিট, ডিস্ক রাইট, রিভার্স শেল) কমান্ড-স্তরের ব্লকিং, চার-স্তরের ট্রাস্ট লাইফসাইকল (pending → acknowledged → trusted → killed), হোস্টকল-লেন কিল-সুইচ নিয়ন্ত্রণ, এবং ট্যাম্পার-এভিডেন্ট রানটাইম রিস্ক লেজার - **সীমাবদ্ধ-রিসোর্স আর্কিটেকচার** দীর্ঘমেয়াদী সেশনের জন্য, SQLite সেশন ইনডেক্সিং সহ একটি v2 সাইডকার ব্যবহার করে O(index+tail) রিওপেন পাথ - rich_rust দিয়ে তৈরি সমৃদ্ধ টার্মিনাল UI, যা Python Rich লাইব্রেরির একটি Rust পোর্ট **ইনস্টলেশন:** ```bash curl -fsSL "https://raw.githubusercontent.com/Dicklesworthstone/pi_agent_rust/main/install.sh?$(date +%s)" | bash ``` **দ্রুত ব্যবহার:** ```bash # ইন্টারঅ্যাকটিভ সেশন pi # প্রাথমিক প্রম্পটসহ pi "Summarize the architecture in src/" # একটি ফাইল সংযুক্ত করুন pi @src/main.rs "Explain startup flow" # সিঙ্গল-শট স্ক্রিপ্টিং মোড pi -p "List likely regression risks for this diff" # শেষ সেশন চালিয়ে যান pi --continue ``` **কনফিগারেশন:** API কী এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে সেট করা হয় (যেমন, `ANTHROPIC_API_KEY`)। লোকাল প্রোভাইডারগুলো কী ছাড়াই কাজ করে। `pi --fetch-models <provider> --refresh-models --persist-models` দিয়ে মডেল ক্যাটালগ রিফ্রেশ করা যায়। প্রোভাইডার ও মডেল কনফিগারেশন `~/.pi/agent/models.json`-এ থাকে। প্রকল্পটি সমস্ত বিল্ড ও কোয়ালিটি চেকের জন্য Doodlestein Self-Releaser (DSR) ব্যবহার করে; অবদানকারীদের সরাসরি Cargo ইনভোকেশন থেকে দূরে থাকতে বলা হয়। বেঞ্চমার্ক প্রমাণ কঠোর আর্টিফ্যাক্ট কন্ট্র্যাক্ট দ্বারা নিয়ন্ত্রিত, যেখানে রিলিজ-সংক্রান্ত দাবি প্রকাশের আগে provenance-মিলিত ফলাফল প্রয়োজন।