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

## postbag কী postbag একটি ছোট ব্রিজ যা একই মেশিনে চলমান দুটি AI কোডিং-এজেন্ট সেশনকে পরস্পরের কাছে চিঠি লিখতে সাহায্য করে। সেশনগুলো একই ভেন্ডর থেকে অথবা ভিন্ন ভেন্ডর থেকে হতে পারে — একটি Claude Code সেশন এবং একটি Codex সেশন, বা দুটি Claude Code সেশন, অথবা দুটি Codex সেশন। প্রতিটি চিঠি গ্রহীতা ভেন্ডরের নিজস্ব 'উইক-আপ ডোর' (wake-up door) দিয়ে ডেলিভার হয়, একটি একক শেয়ার্ড লেজারে যুক্ত হয়, এবং একটি হিউমান-সেট করা চিঠি বাজেটের মধ্যে গণনা হয়। অ্যাড-বুক সাধারণ ব্যবহার: একটি এজেন্ট অন্যটির ডিফ পর্যালোচনা করা, একটি কাজ দুটি এজেন্টে বিভক্ত করে চিঠির মাধ্যমে ইন্টারফেস সম্মত করা, বা হাতের লিখিত প্রস্তুতি ছাড়া দ্বিতীয় মতামত নেওয়া। অ্যাড-বুক কাজের বিভাজনকে বলে "টেক্সট চলে postbag-এর মাধ্যমে, কোড চলে git-এর মাধ্যমে"। ## এটি কীভাবে কাজ করে - `join` গ্রহীতার ডোরকে নাম সহ লেজারে রেজিস্টার করে। Claude Code-এর জন্য এটি প্রতি-সেশন মেসেজিং সকেট ও টোকেন; Codex-এর জন্য এটি থ্রেড আইডি। - `send` রেজিস্টার্ড ডোরে (সকেট বা `codex queue`) ধাক্কা দেয়, তারপর ফাইল লক সহ চিঠি লেজারে যুক্ত করে, ফলে একসাথে চিঠি পাঠালেও আলাদা নম্বর পায় এবং একটি বাজেট শেয়ার করে। - `open` একটি সাধারণ টার্মিনাল থেকে বিনিময় শুরু করে, কোনো সেশনের বাইরে থেকে। চিঠিগুলো এক্সচেঞ্জের মধ্যে নম্বরযুক্ত হয় এবং বাজেট ব্যাগের সবাই শেয়ার করে। `--limit` ছাড়া একটি এক্সচেঞ্জে ১২টি চিঠি থাকে। - `read` ব্যাগে বর্তমান নাম, উন্মুক্ত এক্সচেঞ্জ এবং রেকর্ড প্রিন্ট করে। - লেজারটি `~/.postbag/ledger.jsonl`-এ অবস্থিত — এটাই একমাত্র স্টেট। কোনো ডেমোন, পোলিং, হুক, সার্ভার বা কনফিগ ফাইল নেই। দুটি সেশনে `POSTBAG_LEDGER` সেট করলে আলাদা ব্যাগ পাওয়া যায়। গ্রহীতা একটি নম্বরসহ চিঠি পায়, বাকি কাউন্ট, বডি, এবং উত্তর দেওয়ার জন্য একটি মাত্র কমান্ড (স্ট্যান্ডার্ড ইনপুটে reply সহ `send`)। এক্সচেঞ্জের শেষ চিঠি বলে যে উত্তর দেওয়া যাবে না, পরবর্তী `send` এজেন্টকে থামতে এবং হিউমানকে জিজ্ঞেস করতে নির্দেশ দেয়। ## প্রয়োজনীয়তা Python 3.10 বা পরবর্তী সংস্করণ, শুধুমাত্র স্ট্যান্ডার্ড লাইব্রেরি; `pipx install postbag` দিয়ে ইনস্টল করা যায়। একটি Claude Code সেশনের জন্য `CLAUDE_CODE_MESSAGING_SOCKET` এবং `CLAUDE_CODE_MESSAGING_TOKEN` এর মাধ্যমে প্রতি-সেশন মেসেজিং সকেট এক্সপোর্ট করতে হয়। একটি Codex সেশনের জন্য Codex 0.149-এ introduced `queue` কমান্ড, `CODEX_SESSION_ID` এক্সপোর্ট, এবং কাজ করা `codex queue --help` প্রয়োজন; `POSTBAG_CODEX` অস্বাভাবিক বাইনারিতে ইঙ্গিত করতে পারে। দুটি Claude সেশনের কোনো Codex বাইনারির প্রয়োজন নেই, এবং দুটি Codex সেশনের কোনো Claude সকেটের প্রয়োজন নেই। ## যাচাইকরণ ও প্ল্যাটফর্ম সমর্থন অ্যাড-বুক ম্যাকওএস-এ লাইভ যাচাইয়ের প্রতিবেদন করেছে: ভার্সন 1.0.2 Claude Code 2.1.263 এবং Codex 0.153.4 সহ ChatGPT ডেস্কটপ অ্যাপ থেকে, এবং ভার্সন 1.1.0 দুটি বাস্তব Claude Code 2.1.263 সেশন দিয়ে, দুই-দিকের বিনিময় এবং স্পেন্ট-বাজেট রিফিউজাল সহ। লিনাক্স CI পাস করে কিন্তু লাইভ ডেলিভারি সেখানে অপ্রত্যয়িত বলা হয়েছে, এবং উইন্ডোজ অসমর্থিত। ## সীমা ও সিকিউরিটি নোট - লেজারে প্রতিটি Claude সেশন টোকেন এবং চিঠি উভয়ই রয়েছে। রাইটে ফাইলটি `0600` এবং নতুন স্টেট ডিরেক্টরি `0700` রাখে; একটি বিদ্যমান কাস্টম ডিরেক্টরি অক্ষত থাকে। `read` ডোর ফিল্ড লুকায়, `cat` লুকায় না, তাই রে ফাইলটি git, লগ এবং স্ক্রিনশট থেকে দূরে রাখতে হবে। - একটি চিঠি গ্রহীতা সেশনে ইউজার টার্নে পরিণত হয়, তাই উভয় সেশনকে কাজের সাথে বিশ্বাস করা উচিত। postbag নিজে কিছু মেশিন থেকে বহিঃস্থ পাঠায় না, কিন্তু ভেন্ডর সেশন চিঠিকে তাদের মডেল সার্ভিসে কোনো প্রশ্নের মতো ফরওয়ার্ড করে। - একটি নাম একটি ঠিকানা, অথবা autentikেশন নয়। `open` কোনো সেশনের ভিতরে চলতে আঁটসাঁট করে। এই চেকগুলো ভেন্ডরের সেশন ভেরিয়েবল পড়ে — মিশ্রিত ভূমির বিরুদ্ধে একটি গার্ডরেইল, কিন্তু একই ইউজার হিসেবে চলতে থাকা অন্য কোনো প্রক্রিয়ার বিরুদ্ধে সুরক্ষা নয়। - অনুবাদিত ডেলিভারি Claude-এ পরীক্ষিত সংস্করণে bypass পারমিশনের সাথে দেখা গেছে; অন্যান্য মোড সম্ভবত অনুমোদনের জন্য চিঠি ধরে রাখে। Codex-এ লেজারে লেখার এবং Claude সকেটে সংযোগ করার পারমিশন প্রয়োজন। - "ডেলিভার্ড" বলতে ডোরের মাধ্যমে জমা দেওয়া বোঝায়, পড়া নয়। জমা দেওয়া এবং রেকর্ডিং-এর মধ্যে কোনো টাইমআউট বা ক্র্যাশ থাকলে চিঠি অজ্ঞাত অবস্থায় থাকে, এবং কোনো অ্যাকনোলেজমেন্ট বা রিট্রাই নেই। ## স্কোপ ও সামঞ্জস্য দুটি সেশন হলো সমর্থিত কনফিগারেশন। তিন বা ততোধিককে পরীক্ষামূলক বলা হয়; `read` বলে এবং প্রতিটি চিঠি তখন রেজিস্টার্ড নাম তালিকাভুক্ত করে। 1.0 দ্বারা লেখা লেজার 1.0 অনুযায়ী পড়া যায়, লেগেসি ভেন্ডর পেয়ারকে `@claude` এবং `@codex` হিসেবে পড়া হয়। 1.0 সেশন এবং 1.1 সেশন মিশ্রণ সমর্থিত নয়, কারণ একটি 1.0 `send` শুধুমাত্র খালি `claude` বা `codex` গ্রহণ করে এবং তাই 1.1 চিঠিতে বহন করা reply কমান্ড চালাতে পারে না; উভয় সেশন আপগ্রেড করতে হবে এবং `join` করতে বলা হবে। রিস্টার্টের পর একটি সেশন অবশ্যই এর নামের অধীনে পুনরায় `join` করতে হবে, এবং একটি reply কমান্ড সেখানে পৌঁছায় যে কে উক্ত নাম বহন করে যখন এটি চলে। রিপোজিটরি MIT লাইসেন্সযুক্ত এবং `CONCEPT.md` আকারে একটি ধারণা নথি, পরিবর্তনলিপ্তি, অবদান নির্দেশিকা এবং এই স্পেসে অন্যান্য টুলের তালিকা সহ একটি গবেষণা নথি অন্তর্ভুক্ত করে।