প্রকল্প সম্পর্কে
Plumb হলো একটি MCP সার্ভার, MIT লাইসেন্সের অধীনে একটি সিঙ্গেল Go বাইনারি হিসেবে সরবরাহিত, যা কোডিং এজেন্টদের গার্ডরেইলের মধ্যে IDE-স্টাইল বুদ্ধিমত্তা স্তর প্রদান করে। এর README-তে চারটি মূল স্তম্ভ প্রাধান্য ক্রমে উল্লেখ করা হয়েছে: রাইট নির্ভরযোগ্যতা, মাল্টি-এজেন্ট সমন্বয়, সেমান্টিক বুদ্ধিমত্তা এবং কনটেক্সট দক্ষতা।
রাইট নিরাপত্তা। প্রতিটি রাইট সাময়িক ফাইলে স্টেজ করা হয় এবং সিমলিং-সচেতন ও CRLF-সহনশীল হিসেবে বর্ণনা করা হয়। ডেমনে পার-পাথ লক কনকারেন্ট রাইটকে একই ফাইলে সেশন এবং চ্যাট উইন্ডো জুড়ে সিরিয়ালাইজ করে। মাল্টি-ফাইল ট্রানজেকশন একাধিক ফাইলে সম্পাদনা প্রয়োগ করে যদি কোনো ধাপ ব্যর্থ হয় তবে অ্যাটোমিক রোলব্যাক করে এবং mtime/sha গার্ড স্টেইল সম্পাদনাকে নতুন পরিবর্তনের উপর লেখার আগেই প্রত্যাখ্যান করে। serve কম্যান্ড একটি রিকনেক্টিং stdio প্রক্সি: যদি ডেমন ক্র্যাশ করে বা আটকে যায় তবে এটি রিস্পন করা হয় এবং হ্যান্ডশেক পুনরায় চালানো হয়; README বলে যে ইন-ফ্লাইট রাইট কখনো নিঃশব্দে পুনরায় চালানো হবে না।
সমন্বয়। যেহেতু একটি ডেমন সব এজেন্টকে পরিবেশন করে, সেশনগুলো একে অপরের সাথে দেখা করতে এবং বার্তা পাঠাতে পারে। পিয়ার সচেতনতা ডিফল্টভাবে চালু থাকে: workspace_sessions সক্রিয় সেশন এবং ডেমনের দ্বারা তাদের জন্য রেকর্ড করা রাইটগুলোকে নাম দেয়, ব্যর্থ বা প্রত্যাখ্যান করা রাইটকে পার্থক্য করে। একই ওয়ার্কস্পেসে এজেন্ট-টু-এজেন্ট মെയিলবক্স (leave_note, check_messages) ডিফল্টভাবে চালু থাকে, সাধারণ টুল রেজাল্টের মাধ্যমে বার্তা প্রেরিত হয় পোলিংয়ের বদলে। পরামর্শমূলক ইয়েন্টে (share_intent, opt-in under [collab] intents) একটি পিয়ারের রাইট দাবিকৃত পাথ স্পর্শ করছে তা চিহ্নিত করে এবং এগুলো স্পষ্টভাবে অপ্রমাণিত দাবি হিসেবে চিহ্নিত করা হয় যা কখনো কিছু অবরুদ্ধ করে না। ধ্রুবক ফাইন্ডিং (share_findings, opt-in) সেশনের শেখাকে সার্চযোগ্য, গোপনীয়তা-মোছা প্রজেক্ট মেমোরিতে রূপান্তর করে। README জোর দিয়ে বলে যে রাইট নিরাপত্তা এজেন্টদের সহযোগিতার উপর নির্ভরশীল নয়।
সেমান্টিক বুদ্ধিমত্তা। LSP-সহায়ক রিফ্যাক্টরিং টুলসের মধ্যে রয়েছে rename_symbol, replace_symbol_body এবং safe_delete_symbol। gopls এবং pyright-এর মতো বাস্তব ভাষা সার্ভার থেকে ডায়াগনস্টিক্স প্রতিটি রাইটের সাথে যুক্ত হয়। সিম্বল সার্চ প্রজেক্টে স্কোপযুক্ত, stdlib এবং ডিপেন্ডেন্সি নয়েজ বাদ দিয়ে। কনটেক্সট কন্ট্রোল একটি এজেন্টকে পুরো ফাইলের বদলে সিম্বল বা লাইন রেঞ্জ পড়তে দেয়, এবং session_start একটি রাউন্ড ট্রিপে ওয়ার্কস্পেস, ব্রাঞ্চ, সাম্প্রতিক কমিট, ডায়াগনস্টিক্স এবং প্রজেক্ট মেমোরি বুটস্ট্র্যাপ করে। অ্যাক্সেস একটি পার-কানেকশন পাথ অ্যালোউলিস্ট দ্বারা নিয়ন্ত্রিত হয় যার মধ্যে রিড-অনলি এবং রিড-রাইট রুট সহ টায়ার্ড git গেটিং আছে; ধ্বংসাত্মক এবং নেটওয়ার্ক git অপারেশন ডিফল্টভাবে বন্ধ থাকে। README docs/use-cases.md-এ পরিমাপকৃত তথ্য প্রকাশ করে, যা একটি স্ক্রিপ্ট দ্বারা পুনর্জন্ম লাভ করে, এবং একটি ক্ষতিও নথিভুক্ত করে: read_multiple_files ন্যাটিভিভাবে ফাইল পড়ার তুলনায় প্রায় 1.31x বেশি পেলোয়ড খরচ করে।
ভাষা সমর্থন টায়ার অনুযায়ী বর্ণনা করা হয়েছে, একটি সংখ্যায় নয়। Go (gopls) এবং Python (pyright) ফার্স্ট-ক্লাস, বাস্তব বাইনারির সাথে CI-টেস্ট করা হয় পূর্ণ LSP এবং রাইট টুলস সহ। Java, Rust, Swift, TypeScript/JavaScript, Zig, Kotlin এবং HTML-কে ভ্যালিডেটেড তালিকাভুক্ত করা হয়েছে তাদের সার্ভার PATH-এ থাক前提ভাবে; HTML-কে ফাইলসিস্টেম অ্যাক্সেস নেই বলে উল্লেখ করা হয়েছে। একটি বিল্ট-ইন ট্রি-সিটার ইনডেক্স 31 বা তার বেশি ভাষাকে র্যাঙ্কড সার্চ, আউটলাইন এবং টপোলজি গ্রাফ অ্যাক্সপ্লোরেশনের জন্য কভার করে ভাষা সার্ভার ছাড়াই। রিয়েল-বাইনারি ভ্যালিডেশন macOS এবং Linux-এর জন্য উল্লেখিত; Windows ট্র্যাক করা হয়েছে কিন্তু এখনো সমর্থিত নয় কারণ ডেমন ইউনিক্স সকেট ব্যবহার করে।
আর্কিটেকচার। plumb serve plumb.sock দিয়ে একটি শেয়ার্ড ব্যাকগ্রাউন্ড ডেমনের জন্য প্রক্সি করে যা চ্যাট জুড়ে ভাষা সার্ভারগুলোকে উষ্ণ রাখে। SQLite একটি গ্লোবাল stats.db সংরক্ষণ করে টুল স্ট্যাটস এবং এপিসোডিক সামারিজের জন্য, প্রতিটি ওয়ার্কস্পেসের .plumb/ ডিরেক্টরির অধীনে পার-প্রজেক্ট topology.db এবং memory.db সহ। README বলে 58 টুল প্রকাশিত হয়; ব্যাপকভাবে ব্যবহৃত ones এর মধ্যে session_start, workspace_symbols, get_definition, find_references, rename_symbol, edit_file, transaction_apply এবং diagnostics আছে, বাকিগুলো ফাইলসিস্টেম অ্যাক্সেস, LSP হায়ারার্কি, টায়ার্ড git, একটি ঐচ্ছিক লোকাল টপোলজি ইনডেক্স এবং মেমোরিকে কভার করে। কোনো আর্গুমেন্ট ছাড়া plumb চালানো একটি TUI ড্যাশবোর্ড খোলে যা টুল কল, ডেমন স্বাস্থ্য, পার-টুল স্ট্যাটস এবং স্ট্রিমবল লগ দেখায়।
ইনস্টলেশন এবং কনফিগারেশন। Homebrew, go install, বা প্রিবিಲ್ট রিলিজ বাইনারি থেকে ইনস্টল করুন; প্রিবিল্ট macOS বাইনারি এখনো নটারাইজড নয় বলে উল্লেখিত। plumb setup claude-code, claude-desktop, codex, gemini এবং cursor-এর মতো ক্লায়েন্টগুলোর জন্য MCP কনফিগারেশন লেখে। কনফিগারেশন একটি গ্লোবাল বা পার-প্রজেক্ট config.toml বা পরিবেশ চলক ব্যবহার করে, plumb config show রিজলভ করা মান এবং প্রোভেন্যান্স রিপোর্ট করে; স্যাম্পল অপশনের মধ্যে একটি পূর্ববর্তী রিড প্রয়োজন এমন স্ট্রিক্ট এডিট এবং পাল্টা লুপের জন্য পার-মিনিট রেট লিমিট অন্তর্ভুক্ত।
স্ট্যাটাস। Plumb pre-1.0, রাইট নিরাপত্তা, রেসিলিয়েন্ট ডেমন, টপোলজি ইনডেক্স এবং প্রজেক্ট মেমোরিকে দৈনন্দিন ব্যবহারে বর্ণনা করা হয়েছে। রোডম্যাপে থিমযুক্ত রিলিজ 0.10 থেকে 0.19 তালিকাভুক্ত, 0.19.x হবে 1.0-এর শেষ 0.x এবং নেটিভ Windows সমর্থন 1.1-তে স্থগিত রাখা হয়েছে। Contributing গাইডেন্স, একটি AGENTS.md, আচরণবিধি এবং MIT লাইসেন্সিং উল্লেখিত, এবং প্রিজ Australian ইংরেজি অনুসরণ করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.