প্রকল্প সম্পর্কে
# OpenCode++
OpenCode++ হলো অফিসিয়াল OpenCode Desktop অ্যাপ্লিকেশনের জন্য একটি Windows-প্রথম Harness প্লাগইন, যার লক্ষ্য AI-উৎপাদিত কোডের পুরো প্রক্রিয়াটি দৃশ্যমান ও পরীক্ষাযোগ্য করা: মডেল কী দেখেছে, কী ব্লক করেছে, কী চালাতে বলেছে এবং বর্তমান প্রমাণ আসলে কী যাচাই করেছে।
## যে সমস্যা সমাধান করে
AI কোডিং সেশন যুক্তিসঙ্গত দেখায় এমন diff তৈরি করতে পারে, কিন্তু আসলে ভুল ফাইল পড়ে, প্রত্যাশার বাইরে এডিট করে, অপ্রাসঙ্গিক কমান্ড চালায়, অথবা নতুন টেস্ট প্রমাণ ছাড়াই সাফল্য ঘোষণা করে। OpenCode++ OpenCode Desktop-এর চারপাশে একটি যাচাইকরণ নিয়ন্ত্রণ স্তর যোগ করে, যাতে মডেলকে রিপোজিটরি কনটেক্সট, স্পষ্ট এডিট সীমানা, ট্রেসযোগ্য প্রমাণ এবং চূড়ান্ত সিদ্ধান্তের ভিত্তিতে কাজ করতে হয়।
OpenCode++ আরেকটি চ্যাট অ্যাপ নয়, বা বিকল্প মডেলও নয়। এটি একটি ব্যবহারকারী-স্তরের ডেস্কটপ প্লাগইন, যা OpenCode-এর প্রকাশিত টুলগুলো পর্যবেক্ষণ করে এবং Harness টুল সরবরাহ করে:
- অন্ধ অনুসন্ধানের আগে প্রাসঙ্গিক ফাইল ও সিম্বল নির্বাচন;
- কাজের সীমানা ও প্রয়োজনীয় চেক প্রস্তুত করা;
- কমান্ড ও সুরক্ষিত পাথ রক্ষা করা;
- বর্তমান কাজের ট্রির বিপরীতে পরিষ্কার করা নির্বাহ প্রমাণ রেকর্ড করা;
- নীতি, সতেজতা, রিগ্রেশন, হ্যালুসিনেশন এবং কনভার্জেন্স গেট মূল্যায়ন;
- পরবর্তী ধাপ মেরামত, পুনঃপ্যাকেজিং, মানব পর্যালোচনা বা চূড়ান্তকরণ কিনা তা ব্যাখ্যা করা।
## সিস্টেম আর্কিটেকচার
মূল সীমানা সহজ: OpenCode এখনও ফাইল পড়ে, কোড এডিট করে এবং কমান্ড চালায়। OpenCode++ এই কাজগুলোর চারপাশে নির্ধারক কনটেক্সট, সীমানা, প্রমাণ পরীক্ষা এবং সিদ্ধান্ত সরবরাহ করে।
| স্তর | OpenCode++ কী করে | এটি কী দাবি করে না |
| --- | --- | --- |
| কনটেক্সট নিবন্ধন ও পুনরুদ্ধার | প্রাসঙ্গিক প্যাকেজ, ফাইল, সিম্বল, সংস্করণ ও নির্ভরতা খুঁজে; নির্বাচিত ও প্রত্যাখ্যাত ফাইল ব্যাখ্যা করে। | কনটেক্সট নির্দেশনা, অনুমতি বা প্রমাণ নয়। |
| সুরক্ষা ও নীতি | কমান্ড, সুরক্ষিত পাথ, চুক্তি, সতেজতা, রিগ্রেশন এবং প্রয়োজনীয় কাজ পরীক্ষা করে। | এটি অপারেটিং সিস্টেম স্যান্ডবক্স নয়। |
| প্রমাণ | কমান্ড বা CI ফলাফল বর্তমান কাজের ট্রি হ্যাশ ও সক্রিয় প্রমাণ নীতির সাথে মিলিয়ে দেখে। | একা কমান্ড ব্যবসায়িক সঠিকতা প্রমাণ করে না। |
| হস্তক্ষেপ লেজার | পর্যবেক্ষণ, ব্লক, অনুরোধ, মেরামত, যাচাই, অমীমাংসিত এবং মানব পর্যালোচনা অবস্থা রেকর্ড করে। | প্রতিরোধ বা পরামর্শ যাচাইকৃত মেরামত নয়। |
| সিদ্ধান্ত ও ড্যাশবোর্ড | পরবর্তী অনুমোদিত কাজ ফেরত দেয় এবং ডেস্কটপ ফলাফল ও স্থানীয় আর্টিফ্যাক্টে রেকর্ডকৃত তথ্য দেখায়। | এটি লুকানো মডেল চিন্তা-প্রক্রিয়া প্রকাশ করে না বা অন্য মডেল ডাকে না। |
সাধারণ ডেস্কটপ পথ একটি বর্তমান OpenCode মডেল এবং একটি ইন-প্রসেস প্লাগইন ব্যবহার করে। CLI ও MCP এখনও উন্নয়ন/সামঞ্জস্য পৃষ্ঠ; ইনস্টলেশন বা দৈনন্দিন ব্যবহারের জন্য প্রয়োজন নেই।
## বর্তমান বৈশিষ্ট্য
Windows ইনস্টলার একটি ঐচ্ছিক OpenCode প্রধান মোড যোগ করে, যার নাম **OpenCode++**। প্রম্পট বাক্সের নিচ থেকে মোড নির্বাচক থেকে এটি বেছে নিন, তারপর স্বাভাবিকভাবে কোডিং কাজ বর্ণনা করুন। OpenCode++ স্ল্যাশ কমান্ড মনে রাখার প্রয়োজন নেই।
মোডটি নির্বাচন করলে, এর প্রম্পট বর্তমান OpenCode মডেলকে ইন-প্রসেস প্লাগইন টুল ব্যবহার করতে নির্দেশ দেয়। প্লাগইন দ্বিতীয় মডেল বা CLI প্রক্রিয়া শুরু করে না। এটি OpenCode Desktop-এর ভিতরে চলে এবং অডিটযোগ্য রানটাইম আর্টিফ্যাক্ট রিপোজিটরির `.agent-context/` ডিরেক্টরিতে লেখে।
EXE ইনস্টলার প্রতি-ব্যবহারকারী ইনস্টল, Windows x64-এর জন্য, অ্যাডমিনিস্ট্রেটর অনুমতি প্রয়োজন হয় না।
ডিফল্টভাবে, প্লাগইন অফলাইনে কাজ করে: দূরবর্তী কনটেক্সট উৎস আনে না, বা দ্বিতীয় মডেল ডাকে না। কনফিগার করা দূরবর্তী উৎস বা ফিডব্যাক ট্রান্সমিশন স্পষ্টভাবে সক্রিয় করতে হবে। সক্রিয় OpenCode মডেল এখনও পড়া, এডিট এবং কমান্ড চালানোর জন্য দায়ী; OpenCode++ এই কাজগুলোর চারপাশে নির্ধারক টুল ও গেট সরবরাহ করে।
## ইনস্টলেশন ও ব্যবহার
1. GitHub Releases থেকে `opencode-plusplus-setup-win-x64.exe` ডাউনলোড করুন।
2. OpenCode Desktop সম্পূর্ণভাবে বন্ধ করুন।
3. EXE-তে ডাবল-ক্লিক করুন এবং ইনস্টলেশন বার্তা গ্রহণ করুন।
4. OpenCode Desktop পুনরায় চালু করুন এবং একটি রিপোজিটরি খুলুন।
5. মোড নির্বাচকে **OpenCode++** বেছে নিন।
6. সাধারণ অনুরোধ লিখুন, যেমন "লগইন টাইমআউট ঠিক করুন এবং রিগ্রেশন টেস্ট যোগ করুন"।
7. নির্বাচিত মোড কাজ করার সময় `prepare`, `retrieve`, `evaluate` এবং `next` কল করুক। Harness গেট প্রয়োজন এমন কাজের জন্য Build-এ ফিরে যাবেন না।
8. `evaluate` বা `next`-এর পরে সংক্ষিপ্ত অবস্থা পড়ুন। পর্যায় অগ্রগতি, নির্বাচিত ও প্রত্যাখ্যাত ফাইল, সিদ্ধান্তের ভিত্তি, প্রমাণ সতেজতা, হস্তক্ষেপ এবং চূড়ান্ত সারাংশ প্রয়োজন হলে `opencode_plusplus_dashboard` কল করুন।
9. ট্র্যাকিং, আবিষ্কার, প্রয়োজনীয় কমান্ড বা চূড়ান্ত প্রতিবেদনের জন্য `.agent-context/` পরীক্ষা করুন।
ইনস্টলার শুধুমাত্র নিম্নলিখিত OpenCode কনফিগারেশন ফাইল লেখে:
```text
<OpenCode config>\plugins\opencode-plusplus.js
<OpenCode config>\agents\opencode-plusplus.md
<OpenCode config>\opencode-plusplus\state.json
<OpenCode config>\opencode-plusplus\installation.json
```
এটি পুরানো সংস্করণে তৈরি স্ল্যাশ কমান্ড বা `app.asar` প্যাচ করা ফাইল সরিয়ে দেয়। এটি আর OpenCode Desktop বান্ডল পরিবর্তন করে না। ডিফল্ট কনফিগারেশন ডিরেক্টরি `%USERPROFILE%\.config\opencode`; `OPENCODE_CONFIG_DIR` অগ্রাধিকার পায়।
## প্রতিবেদন ও সীমানা
রানটাইম প্রমাণ প্রতিটি রিপোজিটরির জন্য স্থানীয়:
- `.agent-context/traces/` নির্বাহ ও টেস্ট প্রমাণ ধারণ করে;
- `.agent-context/runs/` কাজের কনটেক্সট ও এডিট সীমানা ধারণ করে;
- `.agent-context/loops/` সিদ্ধান্ত ও কনভার্জেন্স অবস্থা ধারণ করে;
- `.agent-context/sidecar/latest.md` সর্বশেষ যাচাইকরণ সারাংশ ধারণ করে।
- `.agent-context/sidecar/visualization.json` সর্বশেষ কাঠামোবদ্ধ Harness ড্যাশবোর্ড স্ন্যাপশট ধারণ করে।
প্লাগইন অপারেটিং সিস্টেম স্যান্ডবক্স নয়। এটি অন্য অ্যাপ্লিকেশনকে ফাইল এডিট করা থেকে আটকাতে পারে না, এক্সিট কোড থেকে ব্যবসায়িক অর্থ প্রমাণ করতে পারে না, বা অস্বচ্ছ টুল আর্গুমেন্ট সঠিকভাবে শ্রেণীবদ্ধ হয়েছে তা নিশ্চিত করতে পারে না। কমান্ড পাস করা প্রমাণ, সম্পূর্ণ সঠিকতার প্রমাণ নয়। ব্লক করা ফলাফলের জন্য নির্বাচিত মোডকে মেরামত করতে বা মানব পর্যালোচনা চাইতে হয়।
### ব্যবহারকারী যা দেখে
ডেস্কটপ টুল ফলাফল ডিফল্টভাবে সংক্ষিপ্ত `OpenCode++ ✓ Verified`, `✗ Repair required` বা `⚠ Human review` অবস্থা। কাঠামোবদ্ধ JSON-এ এখনও `actionSummary` থাকে, যাতে `observed`, `prevented`, `requested`, `repaired`, `verified` এবং `unresolved` আইটেম থাকে। সম্পূর্ণ `Plan -> Prepare -> Retrieve -> Execute -> Collect -> Evaluate -> Decide -> Persist -> Finalize` ভিউ দেখতে `opencode_plusplus_dashboard` কল করুন, যাতে সিদ্ধান্তের ভিত্তি, প্রমাণ সতেজতা, হস্তক্ষেপ গণনা এবং নির্বাচিত/প্রত্যাখ্যাত ফাইল থাকে।
ড্যাশবোর্ড রেকর্ডকৃত সিস্টেম তথ্য ও সিদ্ধান্ত ইনপুট প্রকাশ করে। এটি লুকানো মডেল চিন্তা-প্রক্রিয়া প্রকাশ করে না।这使得视图对调试和审查有用,而不会将私有内部推理呈现为可审计的事实。
ডেস্কটপ ফলাফল এবং `.agent-context/sidecar/latest.md` নিম্নলিখিত সমস্যাগুলি আলাদা করে:
- **হস্তক্ষেপ ফাইল:** পরীক্ষার জন্য নির্বাচিত, সীমানার মধ্যে এডিট করা বা কারণসহ প্রত্যাখ্যাত ফাইল;
- **ব্লক করা ঝুঁকি:** অসুরক্ষিত কমান্ড, সুরক্ষিত পাথ, পুরানো কনটেক্সট, অনুপস্থিত টেস্ট, নীতি লঙ্ঘন বা অমীমাংসিত রিগ্রেশন;
- **প্রস্তাবিত মেরামত:** অনুরোধকৃত কাজ বা নির্বাহক রিপোর্ট করা এডিট, কিন্তু এখনও প্রমাণ প্রয়োজন;
- **যাচাইকৃত মেরামত:** মেরামতের পরে বর্তমান কাজের ট্রির নতুন কমান্ড বা CI প্রমাণ;
- **মানব কাজ:** অমীমাংসিত আবিষ্কার, বারবার অগ্রগতিহীন অবস্থা বা Harness প্রমাণ করতে না পারা সেমান্টিক সিদ্ধান্ত।
অতএব, `verified fix` `suggested fix`-এর চেয়ে সংকীর্ণ। মন্তব্য, কনটেক্সট ডকুমেন্টেশন, ম্যানুয়াল ঘোষণা, সফল প্রাথমিক টেস্ট, সোর্স কোড এডিট, কমিট তালিকা বা মডেল-উৎপাদিত সারাংশ শুধুমাত্র যুক্তিসঙ্গত দেখালেই যাচাইকৃত হতে পারে না। বাহ্যিক কনটেক্সট অবিশ্বস্ত নির্দেশনা, মন্তব্য স্থানীয় জ্ঞান, নীতি নয়। যখন ফলাফল `human-review` দেখায়, `actionSummary.evidence`-এ ঠিক কী প্রমাণ অনুপস্থিত তা পড়ুন; এটি কাজ পুনরাবৃত্তির অনুরোধ নয়।
কনটেক্সট ক্যাশ ও রেজিস্ট্রি ব্যবহার `.agent-context/cache/` এবং `.agent-context/context-registry/usage/`-এ সংরক্ষিত। স্থানীয় ফিডব্যাক `.agent-context/context-registry/feedback/`-এ, মন্তব্য `.agent-context/knowledge/annotations/`-এ, হস্তক্ষেপ রেকর্ড `.agent-context/interventions/`-এ। এগুলো স্থানীয় রানটাইম আর্টিফ্যাক্ট, সাধারণত আনকমিটেড রাখা উচিত।
Windows-এ, স্পেস ও নন-ASCII অক্ষর সহ পাথ সমর্থিত, কিন্তু প্লাগইন সক্রিয় ব্যবহারকারীর অনুমতি, রিপোজিটরি লেখার ক্ষমতা এবং OpenCode Desktop-এর কনফিগারেশন লোড করা প্লাগইন ডিরেক্টরির উপর নির্ভর করে। অ্যান্টিভাইরাস লক, শুধুমাত্র-পঠন ফোল্ডার, অনুপলব্ধ নেটওয়ার্ক উৎস, অবৈধ রেজিস্ট্রি বিষয়বস্তু এবং অনুমতি ব্যর্থতা ডায়াগনস্টিক বা মানব পর্যালোচনা অবস্থা হিসাবে রিপোর্ট হয়; এগুলো সফল যাচাইকরণে রূপান্তরিত হয় না।
## আপনার Harness কাস্টমাইজ করুন
OpenCode++ ইচ্ছাকৃতভাবে একটি এক্সটেনশন পয়েন্ট। OpenCode খুব শিথিল, খুব কঠোর বা আপনার দলের কর্মপ্রবাহের সাথে মানানসই না হলে, সমস্যাটি প্রম্পটে লুকানোর পরিবর্তে প্লাগইন ফর্ক বা এক্সটেন্ড করুন এবং নিজের Harness নীতি সংজ্ঞায়িত করুন।
দরকারী কাস্টমাইজেশন পয়েন্ট:
- `src/installer/opencode-plusplus-prompts.ts`-এ প্রধান এজেন্ট প্রম্পট;
- `src/integrations/opencode/plugin-runtime/`-এ কমান্ড ও সুরক্ষিত পাথ নিয়ম;
- `src/retrievers/` এবং `src/core/ranker.ts`-এ পুনরুদ্ধার র্যাংকিং;
- `src/outputs/evidence.ts` এবং `src/harness/verification-plane/`-এ প্রমাণ বিশ্বাস ও সতেজতা;
- `src/harness/control-plane/`-এ লুপ বন্ধ ও সিদ্ধান্ত সালিশ;
- `src/integrations/opencode/plugin-runtime/harness/`-এ ডেস্কটপ-নির্দিষ্ট টুল আচরণ।
নিরাপদ কাস্টমাইজেশন প্যাটার্ন: প্রয়োজনীয় নীতির জন্য টেস্ট যোগ করুন, প্লাগইন বা এজেন্ট মোড পরিবর্তন করুন, সম্পূর্ণ চেক চালান এবং নতুন চেকসামসহ Windows ইনস্টলার বিতরণ করুন। Harness স্পষ্ট রাখুন এটি কী পর্যবেক্ষণ করতে পারে এবং কী এখনও মানব সিদ্ধান্ত।
## অবদান
1. রিপোজিটরি ফর্ক করুন এবং একটি ফোকাসড শাখা তৈরি করুন।
2. `AGENTS.md`, প্রাসঙ্গিক সোর্স ফাইল এবং মিলে যাওয়া দ্বিভাষিক ডকুমেন্টেশন পড়ুন।
3. আচরণ পরিবর্তনের আগে নির্ধারক টেস্ট যোগ বা আপডেট করুন।
4. ডেস্কটপ রানটাইম আর্টিফ্যাক্ট, `dist/`, ইনস্টলার স্টেজিং, কী এবং স্থানীয় `.agent-context/` ফাইল কমিট করবেন না।
5. `npm run check`, `npm run lint`, `npm run format:check`, `npm run docs:bilingual:check` এবং `npm test` চালান।
6. ইনস্টলার পরিবর্তনের জন্য, Windows-এ `npm run build:installer:windows`, `npm run test:installer:windows` এবং `npm run release:verify` চালান।
7. ব্যবহারকারী ডকুমেন্টেশন উভয় ভাষায় আপডেট করুন এবং পুল রিকোয়েস্টে সামঞ্জস্য সীমানা ব্যাখ্যা করুন।
## ডেভেলপার সামঞ্জস্য পৃষ্ঠ
রিপোজিটরি সোর্স কোড উন্নয়ন, CI, ডায়াগনস্টিক এবং সামঞ্জস্য ইন্টিগ্রেশনের জন্য CLI ও MCP এন্ট্রি পয়েন্ট রাখে। এগুলো সাধারণ ডেস্কটপ ইনস্টলেশন পথ নয়, সাধারণ ব্যবহারকারীদের প্রয়োজন নেই।
## লাইসেন্স
MIT
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.