ডেভেলপার

OpenCode ইনস্টলেশন এবং OmniProxy কনফিগারেশন

এমন একটি কোডিং অ্যাসিস্ট্যান্ট চান যা ইনস্টলেশন এবং কনফিগারেশনে আটকে না থেকে আপনার প্রজেক্ট বুঝতে পারে? OpenCode টার্মিনাল, আইডিই (IDE) বা ডেস্কটপ থেকে চালু করা যায় এবং তারপর আপনার ব্যবহৃত মডেল পরিষেবার সাথে ধাপে ধাপে সংযুক্ত করা যায়।

দলিলপত্র পর্যালোচিত
৯ অক্টো, ২০২৬
পরীক্ষিত ভার্সন
OpenCode 1.18.34

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/completions ব্যবহার করার সময় npm প্যাকেজটি @ai-sdk/openai-compatible সেট করুন। চ্যাট কমপ্লিশন হলো এক ধরনের চ্যাট অনুরোধ ইন্টারফেস। মডেলটি /v1/responses ব্যবহার করলে কেবল তখনই @ai-sdk/openai-এ সুইচ করুন। যখন 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 অবশ্যই মিলতে হবে কী-এর সাথে opencode.jsonএ। এই ফাইলে কোনো আসল গোপন কি (secret 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

  • মডেলটি তালিকায় প্রদর্শিত হয়
  • প্রশ্ন করার আগে একটি নির্বাচন করুন
  • গেটওয়ে তালিকা থেকে আইডি ব্যবহার করুন
কি (key) এবং ঠিকানা দুটি ভিন্ন জায়গায় সংরক্ষিত। প্রোভাইডার আইডি উভয় ক্ষেত্রেই একই হতে হবে।

একটি বাস্তব কাজ দিয়ে যাচাই করা

প্রথমে প্রজেক্ট ডিরেক্টরি থেকে একটি বাস্তব কাজ চালান। মডেল রেফারেন্স ফরম্যাট হলো 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-এর কল লগে উৎস এবং মডেল পরীক্ষা করুন।

অফিশিয়াল উৎস · OpenCode ↗