OpenCode ইনস্টলেশন এবং OmniProxy কনফিগারেশন
এমন একটি কোডিং অ্যাসিস্ট্যান্ট চান যা ইনস্টলেশন এবং কনফিগারেশনে আটকে না থেকে আপনার প্রজেক্ট বুঝতে পারে? OpenCode একটি টার্মিনাল, আইডিই (IDE) বা ডেস্কটপ থেকে চালু করা যেতে পারে, তারপর আপনি যে মডেল পরিষেবা ব্যবহার করেন তার সাথে ধাপে ধাপে সংযুক্ত করা যেতে পারে।
OpenCode হলো একটি ওপেন-সোর্স কোডিং অ্যাসিস্ট্যান্ট যা আপনাকে টার্মিনাল, আইডিই (IDE) বা ডেস্কটপ থেকে কোড লিখতে দেয়। এটি আপনার কোড বা কনটেক্সট সংরক্ষণ করে না, যা এটিকে গোপনীয়তা-সংবেদনশীল প্রজেক্টের জন্য উপযুক্ত করে তোলে। build প্রজেক্ট পরিবর্তন করতে ব্যবহৃত হয়, যখন plan ডিফল্টরূপে রিড-অনলি এবং এটি অপরিচিত কোড বোঝা এবং পরিবর্তন করার আগে পরিকল্পনা করার জন্য দরকারী। আপনি আপনার প্রয়োজন অনুযায়ী একটি মডেল পরিষেবা বেছে নিতে পারেন।
শুরু করার আগে
ইনস্টলেশন স্ক্রিপ্টটি সবচেয়ে সহজ অপশন। আপনার একটি আধুনিক টার্মিনাল প্রয়োজন—এমন একটি টার্মিনাল অ্যাপ্লিকেশন যা কমান্ড চালাতে পারে এবং প্রজেক্ট ফাইলের সাথে কাজ করতে পারে—যেমন WezTerm, Alacritty, Ghostty বা Kitty। Windows-এ, WSL পছন্দনীয়। এটি Windows-এর মধ্যে আরও সম্পূর্ণ কর্মক্ষমতা এবং কার্যকারিতা সহ একটি Linux এনভায়রনমেন্ট প্রদান করে।
সবচেয়ে সহজ
ইনস্টলেশন স্ক্রিপ্ট
- curl opencode.ai/install
- সরাসরি macOS Linux-এ ব্যবহার করুন
- Windows-এ WSL প্রস্তাবিত
macOS Linux
Homebrew tap
- anomalyco/tap/opencode
- ফর্মুলার চেয়ে বেশি ঘন ঘন আপডেট হয়
- Arch-এর জন্যও একটি প্যাকেজ উপলব্ধ
নেটিভ Windows
প্যাকেজ ম্যানেজার
- choco অথবা scoop
- অথবা npm দিয়ে গ্লোবালি ইনস্টল করুন
- আপনি এটি রিলিজ থেকেও ডাউনলোড করতে পারেন
বর্তমান মডেল তালিকা থেকে মডেল আইডি প্রস্তুত করুন। মডেল আইডি হলো সেই নাম যা পরিষেবাটি একটি নির্দিষ্ট মডেলকে সঠিকভাবে শনাক্ত করতে ব্যবহার করে।
প্রথমবার ইনস্টল এবং চালু করা
সবচেয়ে সহজ ইনস্টলেশন কমান্ড হলো:
curl -fsSL https://opencode.ai/install | bash
আপনি এই ইনস্টলেশন পদ্ধতিগুলোর একটিও ব্যবহার করতে পারেন:
- Node.js:
npm install -g opencode-ai। Bun, pnpm এবং Yarn-এরও সংশ্লিষ্ট গ্লোবাল ইনস্টলেশন কমান্ড রয়েছে; এই গাইডের শেষে ভূমিকা পৃষ্ঠাটি দেখুন। - macOS এবং Linux-এ Homebrew:
brew install anomalyco/tap/opencode। এই ট্যাপটি ব্যবহার করুন কারণ এটিbrew install opencodeএর চেয়ে বেশি ঘন ঘন আপডেট হয়, যা Homebrew টিম দ্বারা রক্ষণাবেক্ষণ করা হয়। - Arch Linux: ব্যবহার করুন
sudo pacman -S opencodeস্টেবল রিলিজের জন্য, অথবা AUR প্যাকেজopencode-binনতুন সংস্করণের জন্য। - Windows: ব্যবহার করুন
choco install opencodeঅথবাscoop install opencode। আপনি ব্যবহার করতে পারেনnpm install -g opencode-ai। বাইনারি ফাইলগুলো রিলিজ থেকেও ডাউনলোড করা যেতে পারে। Windows-এ Bun দিয়ে ইনস্টল করার সাপোর্ট এখনও প্রক্রিয়াধীন।
আপনার প্রজেক্ট ডিরেক্টরিতে প্রবেশ করুন, তারপর OpenCode চালু করুন:
cd /path/to/project
opencode
প্রথমবার ব্যবহার করার সময়, আপনি চালাতে পারেন /init। এটি প্রজেক্টটি বিশ্লেষণ করে এবং তৈরি করে AGENTS.md প্রজেক্ট রুটে। এই ফাইলটি Git-এ কমিট করা যেতে পারে যাতে প্রজেক্টটি এই নির্দেশাবলী ধরে রাখে।
OmniProxy থেকে সংযোগের মানগুলো সংগ্রহ করুন
baseURL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
baseURL হলো পরিষেবা ঠিকানা, API Key হলো অ্যাক্সেস ক্রেডেনশিয়াল, এবং Model ID হলো মডেলের পুরো নাম।
ব্যবহার করার সময় /v1/chat/completionsnpm প্যাকেজটিকে সেট করুন @ai-sdk/openai-compatible। চ্যাট কমপ্লিশন হলো এক ধরনের চ্যাট অনুরোধ ইন্টারফেস। সুইচ করুন @ai-sdk/openai শুধুমাত্র যখন মডেলটি ব্যবহার করে /v1/responses। যখন OmniProxy চ্যাট কমপ্লিশন এন্ডপয়েন্টের মাধ্যমে ব্যবহৃত হয়, তখন কম্প্যাটিবিলিটি প্যাকেজটি রাখুন।
OmniProxy-এর বর্তমান তালিকা থেকে সম্পূর্ণ মডেল আইডি কপি করুন, যেকোনো স্লাশসহ। ২০২৬-১০-০৯ তারিখ পর্যন্ত, দুটি রেফারেন্স আইডি ছিল claude-sonnet-5-5 এবং gpt-6-luna. gpt-6-luna চ্যাট কমপ্লিশন সাপোর্ট করে; চ্যাট কমপ্লিশনের মাধ্যমে ফাংশন কলিং শুধুমাত্র তখনই সাপোর্ট করে যখন reasoning_effort হলো none। তালিকায় নেই এমন কোনো আইডি কপি করবেন না।
টুল কনফিগারেশন লিখুন
একটি প্রোভাইডারকে কনফিগারেশন মানের একটি সেট হিসেবে বোঝা যেতে পারে যা OpenCode একটি মডেল পরিষেবার সাথে সংযোগ করতে ব্যবহার করে। প্রোভাইডার ডকুমেন্টেশন একটি OpenAI-কম্প্যাটিবল পরিষেবা যা /connect এর অধীনে তালিকাভুক্ত নয়, সেটিকে একটি কাস্টম প্রোভাইডার হিসেবে গণ্য করে। একটি OpenAI-কম্প্যাটিবল পরিষেবা একই অনুরোধ ফরম্যাট ব্যবহার করে এবং একই ধরনের ক্লায়েন্ট দ্বারা কল করা যেতে পারে।
১. চালান /connect OpenCode-এ এবং Other-এ স্ক্রোল করুন।
২. একটি প্রোভাইডার আইডি লিখুন। নিচের উদাহরণে ব্যবহৃত হয়েছে omniproxy। এমন একটি আইডি বেছে নিন যা মনে রাখা সহজ কারণ আপনাকে কনফিগারেশন ফাইলে একই আইডি ব্যবহার করতে হবে।
৩. OmniProxy API কী (key) লিখুন। এই ধাপটি শুধুমাত্র ক্রেডেনশিয়াল সংরক্ষণ করে; ঠিকানা এবং মডেলগুলো অবশ্যই যোগ করতে হবে opencode.jsonএ। ক্রেডেনশিয়াল সংরক্ষিত হয় ~/.local/share/opencode/auth.jsonএ।
৪. তৈরি বা পরিবর্তন করুন opencode.json প্রজেক্ট ডিরেক্টরিতে:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniproxy": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniProxy",
"options": {
"baseURL": "https://your-omniproxy-origin.example/v1"
},
"models": {
"claude-sonnet-5-5": { "name": "Claude Sonnet 5.5" },
"gpt-6-luna": { "name": "GPT-6 Luna" }
}
}
}
}
৫. চালান /models। কাস্টম প্রোভাইডার এবং এর মডেলগুলো তালিকায় উপস্থিত হবে।
এর অধীনে প্রবেশ করানো আইডি /connect অবশ্যই মিলতে হবে কী (key)-এর সাথে opencode.jsonএ। এই ফাইলে কোনো আসল সিক্রেট কী (key) রাখবেন না। যদি আপনি ব্যবহার না করেন /connectআপনি এনভায়রনমেন্ট-ভেরিয়েবল সিনট্যাক্স ব্যবহার করতে পারেন options.apiKeyএ, যেমন {env:VARIABLE_NAME}। ২০২৬-১০-০৯ তারিখে OpenCode 1.18.34-এর সাথে পরীক্ষায়, প্রজেক্টের options.apiKey এ সরাসরি কী (key) রাখা /connect ব্যবহার না করেও সফলভাবে সংযুক্ত হয়েছে। যদি গেটওয়ে কী (key) যাচাই না করে, তবে এই মানটি স্থানীয় মেশিনে ব্যবহৃত একটি প্লেসহোল্ডার স্ট্রিং হতে পারে। এর অধীনে কী (key) গুলো models অবশ্যই তালিকা থেকে সম্পূর্ণ আইডি ব্যবহার করতে হবে।
কী (key)
/connect
- নিচে Other নির্বাচন করুন
- আপনার নিজের প্রোভাইডার আইডি বেছে নিন
- auth.json-এ সংরক্ষিত
প্রজেক্ট
opencode.json
- প্রোভাইডার কী (key)-এর একই নাম ব্যবহার করতে হবে
- একটি কম্প্যাটিবল npm প্যাকেজ ব্যবহার করুন
- baseURL /v1 দিয়ে শেষ হয়
নির্বাচন করুন
/models
- মডেলটি তালিকায় উপস্থিত হয়
- প্রশ্ন করার আগে একটি নির্বাচন করুন
- গেটওয়ে তালিকা থেকে আইডি ব্যবহার করুন
একটি বাস্তব কাজ দিয়ে যাচাই করুন
প্রথমে প্রজেক্ট ডিরেক্টরি থেকে একটি বাস্তব কাজ চালান। মডেল রেফারেন্স ফরম্যাট হলো Provider ID/model ID; মডেল আইডির মধ্যে যেকোনো স্লাশ বজায় রাখুন:
opencode run --model omniproxy/claude-sonnet-5-5 --auto "Explain what a file you specify does. Do not modify the file."
--auto এই রানটিকে ফাইল-রিডিং টুলের মতো টুল ব্যবহার করার অনুমতি দেয়। ২০২৬-১০-০৯ তারিখে OpenCode 1.18.34-এর সাথে পরীক্ষায়, এটি সফলভাবে নির্দিষ্ট ফাইলের বিষয়বস্তু পড়তে পেরেছে। প্রথম রানটি প্রায় দুই মিনিট সময় নিয়েছিল।
ইন্টারেক্টিভ ব্যবহারের জন্য, চালান opencode, তারপর একটি মডেল নির্বাচন করুন /modelsদিয়ে। আপনি ব্যবহার করতে পারেন @ ফাইল খোঁজার জন্য। ব্যবহার করুন opencode auth list ক্রেডেনশিয়াল নিশ্চিত করার জন্য যা সংরক্ষিত হয়েছে /connectএর মাধ্যমে, তারপর উৎস এবং মডেল আইডি যাচাই করতে OmniProxy-এর অনুরোধ রেকর্ড পরীক্ষা করুন।
চালু করুন
opencode চালু হয়
- প্রথমে প্রজেক্টে cd করুন
- auth list আইডি দেখায়
- কনফিগারেশন ফাইলটি প্রজেক্টে আছে
কাজ
এটি কোডটি পড়েছে
- একটি নির্দিষ্ট ফাইল সম্পর্কে জিজ্ঞাসা করুন
- এর ব্যাখ্যা পর্যালোচনা করুন
- ভুল হলে /undo ব্যবহার করুন
লগ
গেটওয়েতে দৃশ্যমান
- উৎস হলো OpenCode
- মডেল আইডি মিলে যায়
- কী (key) কমিট করবেন না
সাধারণ ত্রুটি
- OmniProxy দেখা যাচ্ছে না
/modelsএর অধীনে: পরীক্ষা করুন যে আইডি প্রবেশ করানো হয়েছে/connectএর সাথে মেলে কী (key)opencode.jsonএ, যেnpmসেট করা হয়েছে@ai-sdk/openai-compatibleহিসেবে, এবং যেbaseURLশেষ হয়/v1দিয়ে। - ক্রেডেনশিয়াল অনুপস্থিত: চালান
opencode auth list। Bedrock-এর মতো প্রোভাইডার যা এনভায়রনমেন্ট ভেরিয়েবলের ওপর নির্ভর করে, সেগুলো এখানে দেখা যায় না; কাস্টম প্রোভাইডার কনফিগার করা হয়েছে/connectএর মাধ্যমে দৃশ্যমান হওয়া উচিত। - Windows কার্যকারিতা অসম্পূর্ণ: পরিবর্তে WSL-এর ভেতরে ইনস্টলেশন স্ক্রিপ্ট ব্যবহার করুন।
- মডেল আইডি অবৈধ: OmniProxy-এর বর্তমান তালিকা থেকে এটি আবার কপি করুন এবং সংশ্লিষ্ট কী (key) আপডেট করুন
modelsএর অধীনে। - অনুরোধগুলো ভুল এন্ডপয়েন্টে যাচ্ছে: রাখুন
@ai-sdk/openai-compatibleচ্যাট কমপ্লিশনের জন্য। রেসপন্স ইন্টারফেসের জন্য প্যাকেজ পরিবর্তন করবেন না যদি না OmniProxy-এর সেই মডেলটি আসলে ব্যবহার করে/v1/responses.
অফিসিয়াল রেফারেন্স
ইনস্টলেশনের জন্য, দেখুন OpenCode introduction। কাস্টম প্রোভাইডারের জন্য, দেখুন Providers। উদাহরণে ব্যবহৃত মডেল আইডির জন্য, দেখুন Claude model overview এবং GPT-6 Luna.
আপনার নিজস্ব OmniProxy কনফিগারেশন থেকে প্রতিটি প্লেসহোল্ডার মান দিয়ে প্রতিস্থাপন করুন। কখনোই একটি বাস্তব কি প্রকাশ করবেন না।
একটি সংরক্ষিত ফলাফল বা HTTP 200 নিজে থেকেই এজেন্টের পূর্ণ সামঞ্জস্যতা প্রমাণ করে না। OmniProxy-এর কল লগে উৎস এবং মডেল পরীক্ষা করুন।