Hermes Agent কি $5 VPS এ চালানো সম্ভব?
Hermes Agent চালানোর জন্য GPU প্রয়োজন নেই। এটি একটি $5 VPS এ Docker দিয়ে চালানো সম্ভব। নিরাপত্তার জন্য systemd-এ ProtectSystem=strict ব্যবহার করুন।
Hermes Agent কী
Hermes Agent হলো Nous Research-এর একটি self-hosted AI agent, যা ২০২৬ সালের ফেব্রুয়ারিতে মুক্তি পেয়েছে। আপনি এটি আপনার নিজস্ব সার্ভারে চালাতে পারেন। এটি আপনার প্রজেক্টগুলোর একটি persistent memory বা স্থায়ী স্মৃতি বজায় রাখে, কাজ করার সময় নিজেই পুনরায় ব্যবহারযোগ্য skill বা দক্ষতা তৈরি করে এবং Telegram বা Discord-এর মতো chat app-এর মাধ্যমে আপনার সাথে যোগাযোগ করে। এটি model-agnostic, অর্থাৎ আপনি আপনার পছন্দমতো যেকোনো language model এর সাথে এটি যুক্ত করতে পারেন। এটি এতটাই হালকা যে $5 VPS, Docker, অথবা SSH-এর মাধ্যমে চালানো সম্ভব।
যেকোনো agent-এর মতো এর কার্যকারিতা নির্ভর করে আপনার হয়ে কাজ করার ক্ষমতার ওপর, তাই এটি অত্যন্ত সতর্কতার সাথে সেটআপ করা প্রয়োজন। একটি agent যা মনে রাখতে পারে, শিখতে পারে এবং কাজ সম্পন্ন করতে পারে, সেটি একটি standing process যা আপনার সার্ভারে গভীর প্রবেশাধিকার রাখে। এই নির্দেশিকাটি এটি নিরাপদ উপায়ে ইনস্টল করার পদ্ধতি দেখাবে। এখানে যে hardening বা সুরক্ষা ব্যবস্থা দেওয়া হয়েছে, তা OpenClaw নিরাপদে চালানোর মতোই।
এক-কমান্ড ইনস্টলেশন এবং এটি কেন আগে পড়া উচিত
Hermes একটি মাত্র কমান্ডের মাধ্যমে ইনস্টল করা যায়:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashএটি সুবিধাজনক, তবে এই পদ্ধতিটি সতর্কতার সাথে অনুসরণ করা উচিত। ইন্টারনেট থেকে সরাসরি একটি script shell-এ pipe করা মানে হলো, সেই script-এ যা আছে তা ওই user হিসেবেই রান করা হবে যে এটি চালাচ্ছে। একটি রিয়েল সার্ভারে এটি চালানোর আগে, প্রথমে এটি ডাউনলোড করুন, পড়ুন এবং root-এর পরিবর্তে একটি dedicated user হিসেবে এটি চালান:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.shএটি বিশেষভাবে Hermes-এর প্রতি অবিশ্বাসের বিষয় নয়। এটি একটি অভ্যাস যা যেকোনো curl | bash ইনস্টলেশনকে আপনার setup-এর সবচেয়ে দুর্বলতম অংশে পরিণত হওয়া থেকে রক্ষা করে।
একটি unprivileged user প্রদান করুন
Hermes-কে সর্বদা একটি নিজস্ব system account হিসেবে চালান, কখনোই root হিসেবে নয়; যাতে কোনো bug বা ভুল নির্দেশনার কারণে মেশিনের বাকি অংশের ক্ষতি না হয়। লগইন shell ছাড়া একটি user তৈরি করুন:
sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermes/opt/hermes-এর অধীনে Hermes ইনস্টল করুন এবং সেই account-টিকে owner হিসেবে নির্ধারণ করুন। অফিসিয়াল installer যে user দিয়ে চালানো হয় তার জন্যই ইনস্টল করে, তাই script-টি ডাউনলোড করার পর সেটি hermes user হিসেবে চালান, উদাহরণস্বরূপ sudo -u hermes bash hermes-install.sh, তাহলে ফাইলগুলো আপনার home directory-তে না গিয়ে তার home directory-তে জমা হবে। এর কারণ হলো unprivileged user হিসেবে service চালানো-এর মতোই: agent যে account-এ চলে, তার ক্ষতি করার ক্ষমতাও সেই account-এর সীমার মধ্যে থাকে।
সার্ভারটি firewall দিয়ে সুরক্ষিত করুন এবং এর secrets গুলো আলাদা রাখুন
Hermes একটি model এবং আপনার সংযুক্ত chat app-এর সাথে যোগাযোগ করে কাজ করে, তাই এর ইন্টারনেট থেকে inbound connection গ্রহণ করার প্রয়োজন নেই। সার্ভারের সামনে একটি default-deny firewall স্থাপন করুন:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableএখানে IPv6 firewall gap সম্পর্কে সতর্ক থাকুন, কারণ শুধুমাত্র IPv4 কভার করে এমন একটি rule set IPv6-এ সার্ভিসটিকে অরক্ষিত অবস্থায় ফেলে রাখতে পারে। Model API key এবং যেকোনো chat token এমন একটি ফাইলে রাখুন যা শুধুমাত্র hermes user পড়তে পারে (mode 600)। কমান্ড লাইনে পেস্ট না করে ফাইল থেকে এটি service-এ load করুন, কারণ কমান্ড লাইনে লিখলে তা আপনার shell history-তে থেকে যায়।
একটি hardened systemd service হিসেবে Hermes চালান
একটি systemd unit আপনার লগ-আউট করার পরেও এবং রিবুট করার পরেও Hermes চালু রাখে, ক্র্যাশ করলে এটি রিস্টার্ট দেয় এবং kernel-level sandboxing যোগ করার সুবিধা দেয় যা এর কাজের পরিধি সীমিত করে দেয়। কোনো compromise বা অননুমোদিত প্রবেশ রোধ করতে NoNewPrivileges, ProtectSystem=strict, PrivateTmp, এবং ProtectHome চালু করুন।
এখানে একটি hardened unit তৈরি করুন, তারপর এটি /etc/systemd/system/hermes.service-এ কপি করুন। এই unit-টি hermes gateway শুরু করে, যা আপনার chat app-এর সাথে সংযুক্ত থাকার জন্য একটি long-running process; service-টি enable করার আগে আপনার ভার্সনে কমান্ড এবং binary path নিশ্চিত করতে ইনস্টল করার পর hermes --help চালান:
Directives এবং daemon-reload ও enable --now ধাপগুলো systemd service হিসেবে একটি program চালানো-তে বিস্তারিত আলোচনা করা হয়েছে:
sudo systemctl daemon-reload
sudo systemctl enable --now hermesএর চারপাশে সার্ভারটি harden করুন
সবশেষে সার্ভারের প্রবেশপথ সুরক্ষিত করার মাধ্যমে কাজ শেষ করুন। SSH hardening on a VPS-এর মতো SSH-কে key-only authentication-এ নিয়ে যান এবং root login বন্ধ করে দিন, যাতে আপনার সার্ভার ম্যানেজ করার জন্য ব্যবহৃত account-টি কেউ অনুমান করতে না পারে। একটি persistent memory সম্পন্ন agent-কে রক্ষা করা প্রয়োজন, আর সবচেয়ে সহজ সুরক্ষা হলো নিশ্চিত করা যে কেউ যেন সরাসরি সার্ভারে লগ-ইন করতে না পারে।
আপনি যদি কোনো প্যাকেজ করা agent চালানোর চেয়ে এর মেকানিজম বুঝতে বেশি আগ্রহী হন, তবে building your own AI agent on a VPS ধাপে ধাপে তা ব্যাখ্যা করে।
FAQ
আমি কি একটি সস্তা VPS-এ Hermes Agent চালাতে পারি?
হ্যাঁ। Hermes একটি ছোট সার্ভারে চলার জন্য ডিজাইন করা হয়েছে এবং একটি ব্যক্তিগত, সবসময় চালু থাকা agent-এর জন্য $5 VPS যথেষ্ট। এটি ভারী ট্রাফিক সার্ভ করার পরিবর্তে একটি language model এবং আপনার chat app-এর সাথে যোগাযোগ করে, তাই এটি রিসোর্স খুব কম ব্যবহার করে। এটিকে একটি নিজস্ব user, একটি firewall এবং একটি systemd service প্রদান করুন; একটি ছোট VPS এটি অনায়াসেই সামলাতে পারবে।
এক লাইনের ইনস্টল স্ক্রিপ্ট চালানো কি নিরাপদ?
curl | bash ইনস্টলেশন সুবিধাজনক, কিন্তু নিরাপদ অভ্যাস হলো স্ক্রিপ্টটি ডাউনলোড করা এবং চালানোর আগে তা পড়া, এবং root-এর পরিবর্তে একটি dedicated user হিসেবে এটি চালানো। এভাবে যেকোনো প্রজেক্টের piped ইনস্টলার সেই সীমিত account-এর ক্ষমতার বাইরে কিছু করতে পারবে না। এটি Hermes-এর জন্য নির্দিষ্ট নয়; এটি এই ধরণের প্রতিটি ইনস্টলেশনের জন্য একটি ভালো অভ্যাস।
আমি কীভাবে root ছাড়া Hermes চালাতে পারি?
লগইন shell ছাড়া একটি dedicated system user তৈরি করুন, /opt/hermes-এর মতো ওই user-এর মালিকানাধীন একটি ডিরেক্টরিতে Hermes ইনস্টল করুন এবং সেই account হিসেবে service-টি চালান। যদি agent-টি কখনো compromise হয়, তবে ক্ষতির পরিমাণ শুধুমাত্র ওই একটি account-এর সীমার মধ্যে থাকবে।
লগ-আউট করার পরেও আমি কীভাবে Hermes চালু রাখতে পারি?
এটি একটি systemd service হিসেবে চালান। একটি unit file বুট হওয়ার সময় Hermes চালু করে, ক্র্যাশ করলে রিস্টার্ট দেয় এবং আপনার SSH সেশন শেষ হওয়ার পরেও এটি চালু রাখে; পাশাপাশি systemd-এর sandboxing অপশনগুলো প্রসেসটির কাজের পরিধি সীমিত করে দেয়। উপরের টুলটি দিয়ে একটি hardened unit তৈরি করুন এবং systemctl enable --now hermes দিয়ে এটি enable করুন।
Hermes Agent-এর কি GPU প্রয়োজন?
না। Hermes হলো agent runtime, এটি language model নয়; তাই এটি শুধুমাত্র CPU চালিত একটি ছোট VPS-এও ঠিকঠাক চলে। ভারী গণনা যেখানে মডেলটি চলে সেখানেই হয়, যা সাধারণত একটি hosted API যেখানে আপনি এটি যুক্ত করেন। আপনি যদি একই মেশিনে মডেলটিও self-host করতে চান, তবে মেশিনের সাইজ Hermes-এর জন্য নয় বরং মডেলের জন্য নির্ধারণ করুন। শুধুমাত্র CPU-তে মডেল হোস্ট করার জন্য the Ollama guide-এর সংখ্যাগুলো প্রযোজ্য।