Pi ইনস্টল করা এবং OmniProxy কনফিগার করা
আপনার টার্মিনালে এমন একটি অ্যাসিস্ট্যান্ট চান যা ফাইল পড়তে এবং প্রজেক্ট পরিদর্শন করতে পারে, কিন্তু চিন্তিত যে ইনস্টলেশন এবং কনফিগারেশন খুব জটিল হবে? Pi হালকা এবং ডিফল্টভাবে ন্যূনতম ফিচার সেট অন্তর্ভুক্ত করে। এটি ইনস্টল করার পর, আপনি আপনার কাজের ধরন অনুযায়ী ধীরে ধীরে কমান্ড, ওয়ার্কফ্লো এবং ইন্টারফেস যোগ করতে পারেন।
Pi হলো একটি ছোট টার্মিনাল অ্যাসিস্ট্যান্ট—একটি প্রোগ্রাম যা কমান্ড লাইনে সরাসরি আপনার সাথে কথা বলে, ফাইল পড়ে এবং কাজ সম্পন্ন করে। এর একটি ছোট সিস্টেম প্রম্পট আছে এবং ডিফল্টভাবে মাত্র কয়েকটি টুল আছে। যদি আপনার অন্য কমান্ড, ওয়ার্কফ্লো বা ইন্টারফেসের প্রয়োজন হয়, তবে আপনি পরে এক্সটেনশনের মাধ্যমে সেগুলো যোগ করতে পারেন। এক্সটেনশন হলো এমন কম্পোনেন্ট যা Pi-তে সক্ষমতা যোগ করে এবং আপনি সেগুলো তৈরি করার পর অন্যদের সাথে শেয়ার করতে পারেন।
সাব-এজেন্ট একটি কাজের অংশ অন্য অ্যাসিস্ট্যান্টের কাছে অর্পণ করে, যখন প্ল্যান মোড কাজ শুরু হওয়ার আগে ধাপগুলো সংগঠিত করে। কোনো ফিচারই ডিফল্টভাবে অন্তর্ভুক্ত নয়, তবে আপনি Pi-কে সেগুলো তৈরি করতে বলতে পারেন অথবা অন্যদের শেয়ার করা প্যাকেজ ইনস্টল করতে পারেন।
শুরু করার আগে
macOS এবং Linux একটি ইনস্টলেশন স্ক্রিপ্ট ব্যবহার করে—একটি একক কমান্ড যা স্বয়ংক্রিয়ভাবে Pi ডাউনলোড এবং ইনস্টল করে। Windows-এ, Pi হোমপেজে প্রদত্ত PowerShell কমান্ড ব্যবহার করুন। PowerShell হলো Windows-এর সাথে অন্তর্ভুক্ত কমান্ড-লাইন এনভায়রনমেন্ট। আপনি Pi-কে WSL-এও ইনস্টল করতে পারেন, যা Windows-এর মধ্যে উপলব্ধ Linux এনভায়রনমেন্ট।
যদি আপনি npm দিয়ে ইনস্টল করতে চান, তবে আপনার Node.js 22.19 বা পরবর্তী সংস্করণ প্রয়োজন। npm হলো Node.js-এর সাথে ব্যবহৃত প্যাকেজ ম্যানেজার এবং এটি কমান্ড লাইন থেকে Pi ইনস্টল করতে পারে।
macOS Linux
install.sh
- অফিসিয়াল স্ক্রিপ্ট curl করুন
- ইনস্টলার ডিপেন্ডেন্সিগুলো পিন করে
- pi update দিয়ে আপডেট করুন
Windows
install.ps1
- অফিসিয়াল PowerShell কমান্ড
- Git for Windows Bash প্রদান করে
- আপনি WSL-ও ব্যবহার করতে পারেন
Node আগে থেকেই ইনস্টল করা আছে
npm
- Node 22.19+ প্রয়োজন
- প্যাকেজের নাম pi-coding-agent
- যোগ করুন --ignore-scripts
প্রথমবার Pi ইনস্টল এবং চালু করা
macOS বা Linux-এ, একটি টার্মিনাল খুলুন এবং চালান:
curl -fsSL https://pi.dev/install.sh | sh
Windows-এ, PowerShell খুলুন এবং চালান:
powershell -c "irm https://pi.dev/install.ps1 | iex"
যদি Node.js 22.19 বা পরবর্তী সংস্করণ ইতিমধ্যে ইনস্টল করা থাকে, তবে আপনি কুইকস্টার্ট থেকে বিকল্প কমান্ডটিও ব্যবহার করতে পারেন:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
ইনস্টলেশন স্ক্রিপ্টটি একটি ইন্টারেক্টিভ টার্মিনালে প্রশ্ন করার জন্য বিরতি নিতে পারে। চালিয়ে যাওয়ার জন্য অন-স্ক্রিন প্রম্পটগুলো অনুসরণ করুন। যদি আপনার কাছে ইতিমধ্যে Node-এর একটি সামঞ্জস্যপূর্ণ সংস্করণ থাকে, তবে এই npm কমান্ডটি প্রশ্ন করবে না। Pi-কে অন্য ডিরেক্টরিতে ইনস্টল করতে, যোগ করুন --prefix /your/directory। ২০২৬-১০-০৯ তারিখে, এটি Pi 1.1.0 ইনস্টল করেছে।
একটি সাধারণ npm ইনস্টলেশনের জন্য ডিপেন্ডেন্সি লাইফসাইকেল স্ক্রিপ্টের প্রয়োজন হয় না, যা হলো সেই স্ক্রিপ্ট যা প্যাকেজগুলো ইনস্টলেশনের সময় স্বয়ংক্রিয়ভাবে চালায়। ইনস্টলেশন স্ক্রিপ্ট ডিপেন্ডেন্সিগুলো পিন করে; এরপর, Pi আপডেট করুন pi updateদিয়ে। npm ইনস্টলেশনের জন্য, আপনার প্যাকেজ ম্যানেজার দ্বারা প্রদত্ত আপডেট পদ্ধতি ব্যবহার করুন। Nix ব্যবহারকারীদের Pi-এর ফ্লেক থেকে ইনস্টল করা উচিত। ফ্লেক হলো একটি Nix কনফিগারেশন যা সফটওয়্যার এবং এর ডিপেন্ডেন্সি বর্ণনা করে, এবং pi update Nix ইনস্টলেশন আপডেট করতে পারে না।
ইনস্টলেশনের পর, প্রথমে নিশ্চিত করুন যে আপনার টার্মিনাল Pi খুঁজে পাচ্ছে:
pi --version
Windows-এ, যদি আপনি চান মডেলগুলো Bash কমান্ড কার্যকর করুক, তবে বেশিরভাগ স্থানীয় ব্যবহারকারীর জন্য Git for Windows ইনস্টল করা প্রস্তাবিত। Bash হলো কমান্ড এনভায়রনমেন্ট যা Pi কিছু কমান্ড চালানোর জন্য ব্যবহার করে। Pi চেক করে shellPath সেটিং ~/.pi/agent/settings.jsonএ, Program Files-এর অধীনে Git Bash, এবং তারপর bash.exe PATH-এ, সেই ক্রমে। shellPath Bash-এর অবস্থান নির্দিষ্ট করে, যখন PATH হলো সেই ডিরেক্টরিগুলোর তালিকা যেখানে সিস্টেম কমান্ড খোঁজে।
Pi শুরু করার পর, আপনি প্রবেশ করতে পারেন !printf 'Bash is working\n' এটি চেক করতে। যদি আপনার ফাইল এবং টুলগুলো ইতিমধ্যে WSL-এ থাকে, তবে কুইকস্টার্ট অনুসরণ করে সেই Linux এনভায়রনমেন্টে Pi ইনস্টল করুন।
এরপর, সেই ফোল্ডারে প্রবেশ করুন যা আপনি Pi-কে পরিদর্শন বা কাজ করতে দিতে চান, এবং তারপর এটি শুরু করুন:
cd /path/to/folder
pi
এই ফোল্ডারটি Pi-এর বর্তমান কাজের পরিধি হয়ে ওঠে। Pi এটি ফাইল এবং কনফিগারেশন আবিষ্কার করতে এবং সেশনগুলো গ্রুপ করতে ব্যবহার করে।
OmniProxy থেকে সংযোগের মানগুলো সংগ্রহ করা
প্রথমে, OmniProxy থেকে এই তিনটি মান সংগ্রহ করুন:
baseUrl: https://your-omniproxy-origin.example/v1
apiKey: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy the full ID from the current OmniProxy model list
baseUrl হলো API এন্ডপয়েন্ট যেখানে Pi অনুরোধ পাঠায় এবং এটি অবশ্যই অন্তর্ভুক্ত করতে হবে /v1. apiKey হলো API অ্যাক্সেস করার জন্য ব্যবহৃত কি (key)। Model ID হলো কল করার জন্য মডেলের নাম এবং অবশ্যই বর্তমান OmniProxy মডেল তালিকা থেকে সম্পূর্ণ কপি করতে হবে।
সেট করুন api কে openai-completionsএ, যেমনটি সামঞ্জস্যপূর্ণ API উদাহরণে দেখানো হয়েছে। এই ফিল্ডটি Pi-কে বলে যে অনুরোধ পাঠানোর সময় কোন API ফরম্যাট ব্যবহার করতে হবে।
সম্পূর্ণ মডেল আইডি কপি করুন, নামের যেকোনো স্ল্যাশসহ। ২০২৬-১০-০৯ তারিখে, প্রোভাইডার ডকুমেন্টেশনে দুটি রেফারেন্স আইডি ছিল gemini-3.8-flash এবং grok-4.7। তালিকায় নেই এমন কোনো নাম কপি করবেন না।
টুল কনফিগারেশন প্রবেশ করানো
Pi-এর ব্যবহারকারী-স্তরের কাস্টম মডেল কনফিগারেশন সংরক্ষিত হয় models.jsonএ। এই ফাইলটি এজেন্ট ডিরেক্টরিতে অবস্থিত, যা ডিফল্টভাবে ~/.pi/agentএ, তাই এর সম্পূর্ণ পাথ হলো ~/.pi/agent/models.json। যদি PI_CODING_AGENT_DIR এনভায়রনমেন্ট ভেরিয়েবল সেট করা থাকে, তবে Pi সেই ভেরিয়েবল দ্বারা নির্দিষ্ট ডিরেক্টরি ব্যবহার করে। এনভায়রনমেন্ট ভেরিয়েবল হলো সিস্টেম দ্বারা সরবরাহ করা একটি কনফিগারেশন মান যা প্রোগ্রামগুলো পড়ার জন্য থাকে।
সামঞ্জস্যপূর্ণ API উদাহরণে দেখানো কনফিগারেশন প্রবেশ করান:
{
"providers": {
"omniproxy": {
"baseUrl": "https://your-omniproxy-origin.example/v1",
"api": "openai-completions",
"apiKey": "<YOUR_OMNIPROXY_API_KEY>",
"models": [
{ "id": "gemini-3.8-flash", "input": ["text"] },
{ "id": "grok-4.7", "input": ["text"] }
]
}
}
}
providers সংযুক্ত পরিষেবাগুলো তালিকাভুক্ত করে, যখন models নির্বাচনযোগ্য মডেলগুলো তালিকাভুক্ত করে। প্রতিটি মডেলের id অবশ্যই বর্তমান OmniProxy মডেল তালিকার সম্পূর্ণ মডেল আইডির সাথে মিলতে হবে। input নির্দেশ করে যে মডেলটি এখানে টেক্সট ইনপুটের জন্য কনফিগার করা হয়েছে।
apiKey প্রবেশ করানো যেতে পারে একটি লিটারেল মান হিসেবে, অথবা $NAME বা ${NAME} হিসেবে যাতে Pi এটি একটি এনভায়রনমেন্ট ভেরিয়েবল থেকে পড়তে পারে। একটি মান যা শুরু হয় ! দিয়ে তা একটি কমান্ড হিসেবে গণ্য হয় এবং প্রতিটি অনুরোধের জন্য কার্যকর হয়। কোনো রিয়েল কি (key) রিপোজিটরিতে কমিট করবেন না। যদি গেটওয়ে কি (key) যাচাই না করে, তবে আপনি একটি প্লেসহোল্ডার স্ট্রিং প্রবেশ করাতে পারেন যা শুধুমাত্র আপনার স্থানীয় মেশিনে ব্যবহৃত হয়। ২০২৬-১০-০৯ তারিখে, Pi এই কনফিগারেশন দিয়ে সফলভাবে ফাইলটি পড়েছিল।
খোলা /model এই ফাইলটি পুনরায় লোড করে। /model হলো Pi-তে মডেল দেখার এবং নির্বাচন করার ইন্টারফেস। কাস্টম মডেলগুলো প্রদর্শিত হয় না /model এ যতক্ষণ না Pi তাদের ক্রেডেনশিয়াল সমাধান করতে পারে। একটি মডেল নির্বাচন করার পর, চাপুন Ctrl+S নতুন সেশনের জন্য এটিকে ডিফল্ট মডেল হিসেবে সংরক্ষণ করতে।
ফাইল
models.json
- ডিফল্ট ডিরেক্টরি: ~/.pi/agent
- providers-এর অধীনে একটি এন্ট্রি যোগ করুন
- api-কে completions-এ সেট করুন
ঠিকানা
baseUrl
- /v1 অন্তর্ভুক্ত করুন
- apiKey একটি ভেরিয়েবল রেফারেন্স করতে পারে
- মডেল আইডি অবশ্যই সঠিক হতে হবে
নির্বাচন করুন
/model
- এটি খোলা ফাইলটি পুনরায় লোড করে
- আপনার যোগ করা মডেলটি নির্বাচন করুন
- Ctrl+S এটিকে ডিফল্ট হিসেবে সংরক্ষণ করে
একটি বাস্তব কাজ দিয়ে যাচাই করা
কনফিগারেশন সম্পন্ন করার পর, আপনি ফাইলযুক্ত ডিরেক্টরিতে একটি নন-ইন্টারেক্টিভ চেক করতে পারেন। নন-ইন্টারেক্টিভ মোড মানে Pi এই একক কাজটি সম্পন্ন করে এবং তারপর চলমান কথোপকথনে প্রবেশ না করে প্রস্থান করে। এর পরের মানটি প্রতিস্থাপন করুন --model বর্তমান OmniProxy তালিকা থেকে সম্পূর্ণ আইডি দিয়ে:
pi -p --provider omniproxy --model gemini-3.8-flash --tools read "Read the first line of the file you specify. Do not modify the file."
এখানে, --tools read শুধুমাত্র রিড টুল সক্ষম করে, এবং কাজটি স্পষ্টভাবে Pi-কে ফাইলটি পরিবর্তন না করার নির্দেশ দেয়। ২০২৬-১০-০৯ তারিখে, Pi 1.1.0 সফলভাবে ফাইলের বিষয়বস্তু পড়েছিল। প্রথম রেসপন্সটি প্রায় দুই মিনিট সময় নিয়েছিল।
আপনি ইন্টারেক্টিভ মোডও ব্যবহার করতে পারেন: ডিরেক্টরিতে প্রবেশ করুন, চালান pi, এবং তারপর একটি মডেল নির্বাচন করুন /modelদিয়ে। কুইকস্টার্টের একটি উদাহরণ কাজ Pi-কে জিজ্ঞাসা করে যে রিপোজিটরি কীভাবে সংগঠিত এবং কীভাবে এর চেকগুলো চালাতে হয়। লক্ষ্য করুন এটি ফাইলগুলো পড়ে এবং ব্যাখ্যা প্রদান করে কিনা, তারপর OmniProxy-এর অনুরোধ লগে উৎস এবং মডেল আইডি নিশ্চিত করুন।
চালু করুন
pi চালু হয়
- প্রথমে ফোল্ডারে cd করুন
- pi --version আউটপুট দেয়
- মডেলের নাম ইন্টারফেসের নিচে প্রদর্শিত হয়
টাস্ক
এটি ডিরেক্টরিটি পড়েছে
- জিজ্ঞাসা করুন রিপোজিটরি কীভাবে সংগঠিত
- এর তালিকাভুক্ত ফাইলগুলো পর্যালোচনা করুন
- শুধুমাত্র সফল কনফিগারেশন সংরক্ষণের ওপর নির্ভর করবেন না
লগ
গেটওয়েতে দৃশ্যমান
- উৎস হলো Pi
- মডেল আইডি মিলে যায়
- কি (key) স্থানীয় মেশিনে রাখুন
সাধারণ ত্রুটিসমূহ
piখুঁজে পাওয়া যাচ্ছে না: টার্মিনালটি পুনরায় খুলুন এবং চেষ্টা করুনpi --versionআবার। npm ইনস্টলেশনের জন্য, নিশ্চিত করুন যে গ্লোবাল বিন ডিরেক্টরি PATH-এ আছে।- কাস্টম মডেলগুলো প্রদর্শিত হচ্ছে না
/modelএ: নিশ্চিত করুন যেmodels.jsonআছে~/.pi/agent/এ, যাচাই করুন যেapiKeyসমাধান করা যেতে পারে, এবং তারপর পুনরায় খুলুন/model। - Windows রিপোর্ট করে যে Bash খুঁজে পাওয়া যাচ্ছে না: Git for Windows ইনস্টল করুন, অথবা সেট করুন
shellPathএ~/.pi/agent/settings.json। JSON-এ ব্যাকস্ল্যাশ অবশ্যই দুবার লিখতে হবে। - অনুরোধটি প্রত্যাখ্যাত হয়েছে: চেক করুন যে
apiহলোopenai-completionsএবং যেbaseUrlশেষ হয়/v1দিয়ে। পরিষেবাটি নিজেকে সামঞ্জস্যপূর্ণ হিসেবে বর্ণনা করে বলেই অতিরিক্ত সামঞ্জস্যপূর্ণ অপশন সক্ষম করবেন না। - মডেল আইডি অবৈধ: বর্তমান OmniProxy তালিকা থেকে এটি আবার কপি করুন।
অফিসিয়াল রেফারেন্স
ইনস্টলেশন কমান্ডের জন্য, দেখুন Pi website এবং Quickstart। মডেল ফাইলের জন্য, দেখুন Choose a Model এবং Configuration। Windows কমান্ড এনভায়রনমেন্টের জন্য, দেখুন Run Pi on Windows। উদাহরণে ব্যবহৃত মডেল আইডির জন্য, দেখুন Gemini model list এবং xAI models page.
আপনার নিজস্ব OmniProxy কনফিগারেশন থেকে প্রতিটি প্লেসহোল্ডার মান দিয়ে প্রতিস্থাপন করুন। কখনোই একটি আসল কি প্রকাশ করবেন না।
একটি সংরক্ষিত ফলাফল বা HTTP 200 নিজে থেকেই এজেন্টের পূর্ণ সামঞ্জস্যতা প্রমাণ করে না। OmniProxy-এর কল লগে উৎস এবং মডেল পরীক্ষা করুন।