প্রকল্পের সংক্ষিপ্ত বিবরণ
Jev GUI Delegate হলো Codex-এর জন্য Windows ও Chrome GUI ডেলিগেশনের একটি প্রোটোটাইপ। প্রধান মডেল কাজের লক্ষ্য ও গ্রহণযোগ্যতার শর্ত নির্ধারণ করে, আর স্থানীয় কন্ট্রোলার ইন্টারফেস পর্যবেক্ষণ, নিয়ন্ত্রণ উপাদান শনাক্তকরণ, কাজ সম্পাদন এবং প্রতিটি ধাপে প্রকৃত ফলাফল যাচাই করে। কেবল নির্ধারিত নিয়মে সমাধান করা যায় না এমন অর্থগত নির্বাচন প্রয়োজন হলেই কন্ট্রোলার TypeSafe Jev调用 করে।
এটি যে মূল সমস্যার সমাধান করতে চায় তা হলো: প্রধান মডেল যদি ধাপে ধাপে ওয়েবসাইট বা ডেস্কটপ অ্যাপ পরিচালনা করে, তাহলে তাকে বারবার ইন্টারফেস পড়তে, নিয়ন্ত্রণ উপাদান নির্বাচন করতে এবং টুলের ফলাফল প্রক্রিয়া করতে হয়, ফলে উচ্চ ব্যয়ের একটি অপারেশনাল চক্র তৈরি হয়। Jev GUI Delegate স্পষ্টভাবে যাচাইযোগ্য একটি অপারেশন স্থানীয় কন্ট্রোলারের কাছে হস্তান্তর করে ধারাবাহিকভাবে সম্পাদন করে, একই সঙ্গে অবস্থা যাচাই, ত্রুটি পুনরুদ্ধার এবং ব্যবহারকারীর নিয়ন্ত্রণ গ্রহণের সুবিধা বজায় রাখে।
এই প্রকল্পটি ব্যক্তিগতভাবে নকশা করা, AI-এর সহায়তায় বাস্তবায়িত এবং ধারাবাহিকভাবে যাচাইকৃত একটি প্রোটোটাইপ। কাজের চুক্তি, টুল সমন্বয়, পুনরুদ্ধার ব্যবস্থা, অনুমতি যাচাই, পরীক্ষা এবং প্রতিক্রিয়া-ভিত্তিক পুনরাবৃত্তি প্রকল্পটির অবদান; Jev মডেল, TypeSafe SDK, Codex এবং ব্রাউজার প্লাগইন হলো আপস্ট্রিম পণ্য।
কাজের প্রবাহ
Codex-এর প্রধান মডেল লক্ষ্য ও গ্রহণযোগ্যতার শর্ত জমা দেয়।
কাজটিকে যাচাইযোগ্য স্থানীয় কাজের চুক্তিতে সাজানো হয়।
কন্ট্রোলার বর্তমান ইন্টারফেস পর্যবেক্ষণ করে এবং নির্ধারিত নিয়মে নিয়ন্ত্রণ উপাদান শনাক্ত করার চেষ্টা করে।
সরাসরি সিদ্ধান্ত নেওয়া না গেলে কন্ট্রোলার অর্থগত নির্বাচন করার জন্য Jev调用 করে।
Chrome-এর কাজগুলো হোস্টের দেওয়া অফিসিয়াল ব্রাউজার সেশনের মাধ্যমে এবং Windows-এর কাজগুলো UI Automation-এর মাধ্যমে সম্পাদিত হয়।
কন্ট্রোলার প্রকৃত ফলাফল যাচাই করে, অগ্রগতি সংরক্ষণ করে এবং চালিয়ে যাবে, পুনরুদ্ধার করবে, বিরতি দেবে, নাকি প্রধান মডেলের কাছ থেকে অতিরিক্ত তথ্য চাইবে তা নির্ধারণ করে।
এই প্রবাহ ব্যক্তিগত ব্রাউজার কনফিগারেশন অনুলিপি করে না এবং Cookie সংগ্রহ করে না। Chrome পথটি Codex হোস্টের দেওয়া সামঞ্জস্যপূর্ণ অফিসিয়াল ব্রাউজার সেশন API-এর ওপর নির্ভরশীল; রিপোজিটরি নিজে এই সেশন তৈরি বা প্রতিস্থাপন করতে পারে না।
মূল বৈশিষ্ট্য
দুটি GUI সম্পাদন পথ
Chrome: হোস্টের দেওয়া অফিসিয়াল ব্রাউজার সেশন পুনঃব্যবহার করে।
Windows: Windows UI Automation ব্যবহার করে অ্যাক্সেসযোগ্য ডেস্কটপ নিয়ন্ত্রণ উপাদান পরিচালনা করে।
স্পষ্ট কাজের চুক্তি
কাজের চুক্তিতে লক্ষ্য, অনুমোদিত কাজ, অপারেশনের পরিসর, প্রয়োজনীয় ইনপুট, সম্পাদন ধাপ এবং সফলতার শর্ত স্পষ্টভাবে বর্ণনা করা হয়। ফলে কন্ট্রোলার সম্পাদনের আগে অনুমতি ও পরিসর যাচাই করতে পারে এবং সম্পাদনের পরে সফলতার শর্তের ভিত্তিতে কাজটি সত্যিই সম্পন্ন হয়েছে কি না নির্ধারণ করতে পারে।
প্রয়োজনে Jev调用
স্থানীয় নিয়মে নির্ধারণ করা যায় এমন নিয়ন্ত্রণ উপাদানগুলো কোড সরাসরি শনাক্ত করে; কেবল পাঠ্যের অর্থ বা বিকল্পগুলোর অর্থগত ব্যাখ্যা প্রয়োজন হলেই Jev调用 করা হয়। প্রকল্প বাস্তব পরিস্থিতি অনুযায়ী শূন্য মডেল কলও নথিবদ্ধ করে এবং ভুলভাবে সেটিকে সফল Jev অনুমান হিসেবে গণনা করে না।
ধারাবাহিক সম্পাদন ও পুনরুদ্ধার
কন্ট্রোলার সম্পাদনের অগ্রগতি সংরক্ষণ করতে পারে এবং অনুপস্থিত ইনপুট, আংশিক নির্বাচন-ত্রুটি, বিরতি, বাতিলকরণ ও ব্যবহারকারীর নিয়ন্ত্রণ গ্রহণের মতো পরিস্থিতি সামলাতে পারে। কোনো জমা দেওয়ার কাজ সফল হয়েছে কি না নিশ্চিত করা না গেলে পুনরাবৃত্ত জমা দেওয়ার ঝুঁকি কমাতে এটি স্বয়ংক্রিয়ভাবে সেই কাজ পুনরায় চালায় না।
ফলাফল ও নিরাপত্তা যাচাই
সিস্টেম কাজের আগে পরিচয়, অনুমোদন ও পরিসর যাচাই করে এবং কাজের পরে প্রকৃত মান বা পৃষ্ঠার অবস্থা পরীক্ষা করে। মডেল ব্যবহারের পরিমাণ ও ব্যর্থতার কারণ আলাদাভাবে নথিবদ্ধ করা হয়, যাতে ব্যয়ের সমস্যা ও সম্পাদন সমস্যাকে আলাদা করা যায়।
চালানোর পরিবেশ ও পূর্বশর্ত
প্রকল্পটি নিম্নলিখিত পরিবেশের জন্য তৈরি:
Windows x64
Python 3.12
Node.js
নেটিভ GUI পরিচালনার জন্য ইন্টার্যাক্টিভ ডেস্কটপ
Chrome পথ ব্যবহার করতে হলে Codex হোস্টের দেওয়া সামঞ্জস্যপূর্ণ অফিসিয়াল ব্রাউজার সেশন API
প্রকল্পটি C:\jev\jev-bridge-এ ইনস্টল করার পরামর্শ দেওয়া হয়। কিছু পুরোনো কমান্ড ও Codex skill উদাহরণ ডিফল্টভাবে এই অবস্থান ব্যবহার করে। অন্য কোনো ডিরেক্টরি বেছে নিলে সংশ্লিষ্ট উদাহরণ ও কনফিগারেশনও পরিবর্তন করতে হবে।
প্রকল্প ইনস্টল করা
ধাপ ১: রিপোজিটরি ক্লোন করে ভার্চুয়াল পরিবেশ তৈরি করুন
git clone https://github.com/YUTA-fywoo/jev-gui-delegate.git C:\jev\jev-bridge
cd C:\jev\jev-bridge
py -3.12 -m venv .venvধাপ ২: লক করা নির্ভরতা ইনস্টল করুন
.\.venv\Scripts\python.exe -m pip install --require-hashes -r requirements.lock--require-hashes লক ফাইলে থাকা হ্যাশ অনুযায়ী নির্ভরতা ইনস্টল করে, ফলে ইনস্টল করা উপাদানগুলো প্রকল্পের নথিভুক্ত উপাদানের সঙ্গে সামঞ্জস্যপূর্ণ থাকার নিশ্চয়তা বাড়ে। তৃতীয় পক্ষের নির্ভরতার ডিরেক্টরি রিপোজিটরির সঙ্গে প্রকাশ করা হয় না; সেগুলো মূল প্রকাশনা চ্যানেল থেকে ইনস্টল করতে হবে।
ধাপ ৩: রানটাইম প্রস্তুত করুন
.\.venv\Scripts\python.exe scripts/setup-runtime.pyধাপ ৪: অফলাইন পরীক্ষা চালান
.\.venv\Scripts\python.exe -m unittest discover -s gui_delegate/tests -p "test_*.py"এই পরীক্ষাগুলো কন্ট্রোলার, পুনরুদ্ধার প্রবাহ এবং সীমান্ত পরিস্থিতি কভার করে। অফলাইন রিগ্রেশনে কৃত্রিম ডেটা ও নিয়ন্ত্রিত প্রতিস্থাপক ব্যবহার করা হয়; এটি বাস্তব GUI পরিচালনার সমতুল্য নয় এবং বাস্তব সময়ের Jev অনুরোধের ভানও করে না। আরও সম্পূর্ণ ফলাফলের জন্য রিপোজিটরির রিলিজ যাচাইকরণ নথি দেখুন।
Jev কী কনফিগার করা
কী স্থানীয় পরিবেশ ভেরিয়েবল TYPESAFE_API_KEY অথবা Windows Credential Manager থেকে সরবরাহ করা যেতে পারে। প্রকল্পটি set-key.cmd চালু করা স্থানীয় ইনপুট উইন্ডো ব্যবহার করে সেট করার পরামর্শ দেয়।
set-key.cmdকখনোই কী Git রিপোজিটরি, কাজের চুক্তি বা চ্যাটের উপাদানে লিখবেন না। ইনস্টলার মেশিনে তৈরি chrome-runtime.json উপেক্ষা করা হয়েছে; রিপোজিটরিতে মূল লেখকের মেশিনের পরিবেশগত পথ থাকবে না।
Codex-এ নিবন্ধন
প্রকল্পটিকে Codex-এর সঙ্গে যুক্ত করতে প্রকল্প ডিরেক্টরিতে নিচের ইনস্টলেশন স্ক্রিপ্ট চালান:
install.cmd
gui-install.cmdইনস্টলার ব্যবহারকারী-স্তরের MCP, skill এবং রাউটিং কনফিগারেশন পরিবর্তন করবে, একই সঙ্গে ব্যাকআপ সংরক্ষণ ও দ্বন্দ্ব যাচাই করবে। মেশিনে একই নামের ডিরেক্টরি আগে থেকেই থাকলে তার ব্যবহার আগে পরীক্ষা করা উচিত; ইনস্টলার মেশিনে বর্তমানে ব্যবহৃত প্রকল্প সরাসরি ওভাররাইট করবে না।
ইনস্টলযোগ্য ব্যক্তিগত Codex skill রয়েছে gui_delegate/skill/SKILL.md-এ। প্রকল্পটি ডিফল্ট ডিরেক্টরিতে ইনস্টল না হলে এতে থাকা পথ-সম্পর্কিত উদাহরণও পরীক্ষা করা উচিত।
মৌলিক ব্যবহার ও যাচাই
স্থানীয় প্রস্তুতির অবস্থা পরীক্ষা
ইনস্টলের পরে চালানো যায়:
health.cmdhealth.cmd কেবল উপাদানগুলো প্রস্তুত কি না পরীক্ষা করে; এটি বাস্তব সময়ের Jev যাচাই সম্পন্ন হয়েছে এমন নয় এবং বর্তমান মেশিন বাস্তব GUI পরিস্থিতিতে গ্রহণযোগ্যতা পরীক্ষায় উত্তীর্ণ হয়েছে এমনও নয়।
বাস্তব সময়ের যাচাই চালানো
প্রকল্পের verify.cmd-এর মতো বাস্তব সময়ের যাচাই প্রবাহ Jev সেবা ব্যবহার করবে:
verify.cmdচালানোর আগে কী সঠিকভাবে কনফিগার করা হয়েছে কি না নিশ্চিত করুন এবং অফলাইন রিগ্রেশনের ফলাফলকে বাস্তব সময়ের সেবা-ফলাফল থেকে আলাদা রাখুন। README পুরোনো উন্নয়ন পরিবেশের “স্থানীয়ভাবে যাচাইকৃত” অবস্থাকে সব ইনস্টলার সরাসরি উত্তরাধিকারসূত্রে পাবে এমন সিদ্ধান্ত হিসেবে বিবেচনা করে না।
ডেলিগেশনের উপযোগী কাজ নকশা করা
এই প্রোটোটাইপটি স্পষ্ট সীমা, নির্ধারিত ধাপ এবং যাচাইযোগ্য ফলাফলযুক্ত GUI কাজের জন্য উপযোগী। কন্ট্রোলারের কাছে কাজ দেওয়ার সময় অন্তত নিম্নলিখিত বিষয়গুলো স্পষ্ট করা উচিত:
লক্ষ্য: শেষ পর্যন্ত কোন অবস্থা অর্জন করতে হবে।
পরিসর: কোন পৃষ্ঠা, উইন্ডো বা অবজেক্টের মধ্যে কাজ করা যাবে।
অনুমোদিত কাজ: কন্ট্রোলার কোন ধরনের ইন্টার্যাকশন সম্পাদন করতে পারবে।
ইনপুট: কাজ সম্পাদনের জন্য প্রয়োজনীয় ও ব্যবহারের অনুমোদিত ডেটা।
ধাপ: ধারাবাহিকভাবে সম্পাদনযোগ্য কাজের পর্যায়।
সফলতার শর্ত: কাজ শেষ হলে যে প্রকৃত মান বা পৃষ্ঠার অবস্থা দেখা উচিত।
উদাহরণস্বরূপ, একটি কাজ কন্ট্রোলারকে নির্দিষ্ট পৃষ্ঠার পরিসরের মধ্যে লক্ষ্য নিয়ন্ত্রণ উপাদান খুঁজে বের করতে, অনুমোদিত ইনপুট পূরণ করতে এবং পৃষ্ঠার অবস্থা দেখে ফলাফল নিশ্চিত করতে বলতে পারে। নির্দিষ্ট চুক্তির ক্ষেত্র ও ফলাফল মডেলের জন্য gui_delegate/schema.py-এর বাস্তবায়ন অনুসরণ করতে হবে; README-তে সংজ্ঞায়িত নয় এমন ফরম্যাট নিজে ধরে নেওয়া উচিত নয়।
সোর্স কোড পড়ার পথ
সম্পাদন প্রক্রিয়া বোঝা বা পরবর্তী উন্নয়ন করতে হলে নিম্নলিখিত ক্রমে পড়তে পারেন:
gui_delegate/schema.py: কাজের চুক্তি, অবস্থা ও ফলাফল মডেল বোঝা।gui_delegate/controller.py: কন্ট্রোলার কীভাবে সম্পাদন চক্র সংগঠিত করে তা দেখা।gui_delegate/drivers.py: ড্রাইভার ও কাঠামোবদ্ধ ইন্টারফেস পর্যবেক্ষণ বোঝা।gui_delegate/security.py: পরিসর, অনুমোদন ও ইনপুট যাচাই দেখা।gui_delegate/chrome_gateway.mjs: অফিসিয়াল ব্রাউজার সেশনের প্রবেশপথ বোঝা।jev_client.py: Jev SDK মোড়ক, সংস্করণ যাচাই ও ব্যবহার-পরিমাণ নথিবদ্ধকরণ দেখা।gui_delegate/tests: পরীক্ষার মাধ্যমে পুনরুদ্ধার যুক্তি ও সীমান্ত আচরণ বোঝা।
উন্নত ব্যবহারের পরামর্শ
প্রথমে নির্ধারিত নিয়মে শনাক্তকরণ ব্যবহার করুন
কোনো নিয়ন্ত্রণ উপাদান স্থিতিশীল বৈশিষ্ট্য বা কাঠামোবদ্ধ তথ্যের মাধ্যমে শনাক্ত করা গেলে তা আগে স্থানীয় কোডের মাধ্যমে শনাক্ত করা উচিত। কেবল অর্থগত সিদ্ধান্ত প্রয়োজন হলেই Jev调用 করুন। এটি প্রকল্পের নকশার সঙ্গে সামঞ্জস্যপূর্ণ এবং মডেল ব্যবহারের পরিমাণ নির্ভুলভাবে নথিবদ্ধ করতেও সহায়ক।
প্রতিটি ধাপের জন্য পর্যবেক্ষণযোগ্য ফলাফল নির্ধারণ করুন
শুধু “বোতামে ক্লিক করুন”-এর মতো কাজ নির্ধারণ করবেন না; ক্লিকের পরে প্রত্যাশিত মান, নিয়ন্ত্রণ উপাদানের অবস্থা বা পৃষ্ঠার পরিবর্তনও নির্ধারণ করুন। প্রকল্পটি টুল কল সফল হওয়াকে সরাসরি কাজ সফল হওয়া হিসেবে ধরে নেওয়ার বদলে প্রকৃত ফলাফল যাচাইয়ের ওপর জোর দেয়।
জমা দেওয়ার কাজ সতর্কতার সঙ্গে পরিচালনা করুন
জমা দেওয়ার পরে ফলাফল স্পষ্ট না হলে ব্যর্থ ধরে নিয়ে কাজটি স্বয়ংক্রিয়ভাবে পুনরাবৃত্তি করবেন না। ফলাফল অস্পষ্ট থাকলে এই প্রকল্প স্পষ্টভাবে স্বয়ংক্রিয় পুনরায় জমা দেওয়া এড়ায়। এমন অবস্থায় বিরতি দেওয়া, অগ্রগতি সংরক্ষণ করা এবং ব্যবহারকারী বা প্রধান মডেলের মাধ্যমে নিশ্চিত করা বেশি উপযুক্ত।
অনুপস্থিত ইনপুট ও নির্বাচন-ত্রুটি আলাদাভাবে পরিচালনা করুন
প্রয়োজনীয় ইনপুট অনুপস্থিত থাকলে ইনপুট যোগ করে চালিয়ে যেতে হবে; কেবল স্থানীয় অর্থগত নির্বাচন ভুল হলে সেই নির্বাচন সংশোধন করতে হবে। এতে কাজ শুরু থেকে পুনরায় চালানোর প্রয়োজন কমে এবং ইতিমধ্যে যাচাই করা অগ্রগতি বজায় থাকে।
Jev সংস্করণ আপগ্রেডের পরে পুনরায় যাচাই করুন
বর্তমান settings.json-এ পুরোনো পরীক্ষায় ব্যবহৃত jev-1.13.0 নির্দিষ্ট করা আছে। সার্ভার সংস্করণ পরিবর্তিত হলে পুনরায় যাচাই করে কনফিগারেশন আপডেট করতে হবে; পুরোনো সংস্করণের পরীক্ষার ফলাফলকে নতুন সংস্করণের গুণমানের নিশ্চয়তা হিসেবে ধরা যাবে না। উদাহরণ কৌশলও বর্তমান মেশিনের ক্যালিব্রেশন সম্পন্ন হয়েছে এমন নির্দেশ করে না।
বেঞ্চমার্ক পরীক্ষা সঠিকভাবে বোঝা
README-তে 2026 সালের 9月 23 তারিখের দুই দফা কৃত্রিম কাজের পরীক্ষার নথি রয়েছে। প্রতিটি দফায় একই 4টি কাজ ও 24টি অ্যাকশন ছিল এবং উভয় দলের কাজের ফলাফল 4/4 সম্পন্ন হয়েছে।
প্রথম দফায় Astra token 2,266,693 থেকে 236,295-এ নেমেছে, 89.6% কমেছে এবং end-to-end কাজের গতি বেসলাইনের 3.05 গুণ হয়েছে।
দ্বিতীয় দফায় Astra token 2,256,091 থেকে 192,752-এ নেমেছে, 91.5% কমেছে এবং end-to-end কাজের গতি বেসলাইনের 3.53 গুণ হয়েছে।
এখানে Astra token-এর মধ্যে ক্যাশ করা ইনপুটও অন্তর্ভুক্ত, আর Jev-এর অতিরিক্ত ব্যবহার আলাদাভাবে গণনা করা হয়েছে। দুই দফায় একই চারটি কাজ পুনরাবৃত্তি করা হয়েছে; এটি আটটি স্বাধীন পরিস্থিতি নির্দেশ করে না। এই সংখ্যাগুলো বিল সাশ্রয়ের অনুপাতও নয় এবং সব অ্যাপ্লিকেশন, যেকোনো কাজ বা স্থাপনা পরিবেশে একই ফলাফল পাওয়া যাবে এমন প্রমাণও নয়। প্রাথমিক তিন-কাজের সংস্করণে ক্যাশবিহীন token-এর ফলাফল উন্নত হয়নি; বিস্তারিত পরিসরের জন্য পরীক্ষার বিবরণ দেখুন।
পরিচিত সীমাবদ্ধতা
প্রোটোটাইপটি পাঠযোগ্য DOM বা অ্যাক্সেসিবিলিটি তথ্যের ওপর নির্ভরশীল।
Canvas, ছবি বোঝা, সুরক্ষিত ডেস্কটপ এবং কিছু ক্রস-ফ্রেমওয়ার্ক নিয়ন্ত্রণ উপাদান সরাসরি পরিচালনা করা নাও যেতে পারে।
হোস্টে উন্মুক্ত নয় এমন ফাংশনের জন্য প্রধান মডেলের অতিরিক্ত হস্তক্ষেপ প্রয়োজন হতে পারে।
সামঞ্জস্যপূর্ণ হোস্টের অফিসিয়াল সেশন ছাড়া Chrome পথ স্বাধীনভাবে চালানো যায় না।
পুরোনো মেশিনের যাচাইকরণ রেকর্ড নতুন ইনস্টলেশন পরিবেশ গ্রহণযোগ্যতা পরীক্ষায় উত্তীর্ণ হয়েছে এমন নয়।
রানটাইম লগ, ব্রাউজার কনফিগারেশন, কী, ব্যক্তিগত কাজের উপকরণ, মেশিনের ইনস্টলেশন অবস্থা এবং রোলব্যাক প্যাকেজ প্রকাশ করা হয়নি।
সারাংশ
Jev GUI Delegate যাচাইযোগ্য GUI কাজকে প্রধান মডেলের ধাপে ধাপে চলা চক্র থেকে আলাদা করে এবং স্থানীয় কন্ট্রোলারের মাধ্যমে নির্ধারিত নিয়মে শনাক্তকরণ, প্রয়োজনে অর্থগত নির্বাচন, অবস্থা যাচাই ও ত্রুটি পুনরুদ্ধার সম্পন্ন করে। ইনস্টলের সময় প্রথমে লক করা নির্ভরতা, রানটাইম সেটআপ ও অফলাইন পরীক্ষা সম্পন্ন করতে হবে, এরপর কী কনফিগার করে Codex-এর সঙ্গে যুক্ত করতে হবে। বাস্তব ব্যবহারে স্পষ্ট কাজের পরিসর, পর্যবেক্ষণযোগ্য সফলতার শর্ত, জমা দেওয়ার ক্ষেত্রে সতর্ক পুনরুদ্ধার কৌশল এবং সংস্করণ পরিবর্তনের পর পুনরায় যাচাই নির্ভরযোগ্য ফলাফল পাওয়ার মূল চাবিকাঠি।
আপস্ট্রিম কম্পোনেন্ট সম্পর্কে আরও জানতে TypeSafe ডকুমেন্টেশন, MCP Python SDK এবং pywinauto দেখুন।
