میزبانی Hermes Agent روی VPS ارزان
برای اجرای Hermes Agent نیازی به GPU ندارید. این عامل روی یک VPS 5 دلاری نیز اجرا میشود. تنظیمات امنیتی systemd و UFW را برای مدیریت IPv6 مطالعه کنید.
Hermes Agent چیست
Hermes Agent یک عامل هوش مصنوعی (AI agent) با قابلیت میزبانی شخصی (self-hosted) از Nous Research است که در February 2026 منتشر شد. شما آن را روی سرور خود اجرا میکنید؛ این عامل حافظه دائمی از پروژههای شما را حفظ میکند، در حین کار مهارتهای قابل استفاده مجدد خودش را مینویسد و از طریق اپلیکیشنهای چت مانند Telegram و Discord با شما در ارتباط است. این عامل مدل-ناآگاه (model-agnostic) است، بنابراین میتوانید آن را به هر مدل زبانی که ترجیح میدهید متصل کنید. همچنین آنقدر سبک است که روی یک VPS با قیمت 5 دلار، در Docker، یا از طریق SSH اجرا شود.
مانند هر عامل دیگری، ارزش آن در انجام کارها به نیابت از شماست و به همین دلیل است که باید آن را با دقت تنظیم کنید. عاملی که به یاد میآورد، یاد میگیرد و وظایف را اجرا میکند، یک فرآیند همیشگی است که دسترسی واقعی به سرور شما دارد. این راهنما، روش نصب ایمن آن را آموزش میدهد؛ روش سختسازی (hardening) در اینجا مشابه همان روشی است که برای running OpenClaw safely استفاده میکنید.
نصب با یک دستور واحد، و چرا باید ابتدا این بخش را بخوانید
Hermes با یک دستور نصب میشود:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bashاین روش راحت است، اما الگویی است که باید نسبت به آن محتاط باشید. انتقال مستقیم یک اسکریپت از اینترنت به یک shell، هر آنچه در آن اسکریپت هست را با دسترسی کاربری که آن را اجرا میکند، اجرا میکند. قبل از اینکه آن را روی یک سرور واقعی اجرا کنید، ابتدا آن را دانلود کنید، بخوانید و به جای کاربر root، آن را با یک کاربر اختصاصی اجرا کنید:
curl -fsSL https://hermes-agent.nousresearch.com/install.sh -o hermes-install.sh
less hermes-install.shاین موضوع مربوط به بیاعتمادی به Hermes نیست. این عادتی است که باعث میشود هر نصب curl | bash به آرامی به ضعیفترین حلقه در تنظیمات شما تبدیل شود.
یک کاربر با سطح دسترسی محدود به آن اختصاص دهید
Hermes را با یک حساب کاربری سیستمی مجزا اجرا کنید و هرگز از root استفاده نکنید، تا یک باگ یا یک دستور اشتباه نتواند به بقیه بخشهای ماشین دسترسی پیدا کند. یک کاربر بدون shell برای ورود (login shell) ایجاد کنید:
sudo useradd --system --home /opt/hermes --shell /usr/sbin/nologin hermesHermes را زیر /opt/hermes نصب کنید و آن حساب کاربری را مالک آن قرار دهید. نصبکننده رسمی، برنامه را برای هر کاربری که آن را اجرا میکند نصب میکند؛ بنابراین اسکریپت دانلود شده را با کاربر hermes، مثلاً sudo -u hermes bash hermes-install.sh، اجرا کنید تا فایلها به جای پوشه home شما، در پوشه home آن کاربر قرار بگیرند. دلیل این کار مشابه running services as an unprivileged user است: محدوده دسترسی عامل به آنچه میتواند تخریب کند، دقیقاً برابر با سطح دسترسی همان حساب کاربری است.
فایروال سرور را تنظیم و اسرار آن را ایزوله کنید
Hermes کار خود را با برقراری ارتباط با یک مدل و اپلیکیشنهای چت متصل شده انجام میدهد، بنابراین نیازی به پذیرش اتصالات ورودی (inbound) از اینترنت ندارد. یک فایروال با سیاست deny-by-default در مقابل سرور قرار دهید:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw enableبه IPv6 firewall gap در اینجا توجه کنید، زیرا مجموعهای از قوانین که فقط IPv4 را پوشش میدهند، میتواند یک سرویس را در IPv6 در معرض خطر قرار دهد. کلید API مدل و هرگونه توکن چت را در فایلی نگه دارید که فقط کاربر hermes بتواند آن را بخواند (mode 600)، و آن را به جای چسباندن در خط فرمان (که در تاریخچه shell شما باقی میماند)، مستقیماً در سرویس بارگذاری کنید.
Hermes را به عنوان یک سرویس hardened systemd اجرا کنید
یک unit در systemd باعث میشود Hermes پس از خروج شما و پس از ریبوت کردن، همچنان اجرا شود، در صورت کرش کردن آن را دوباره راهاندازی میکند و به شما اجازه میدهد از sandboxing در سطح هسته (kernel) استفاده کنید تا موارد قابل دسترسی آن را محدود کنید. NoNewPrivileges، ProtectSystem=strict، PrivateTmp و ProtectHome را فعال کنید تا در صورت بروز اختلال، آسیب محدود باقی بماند.
یک unit امن در اینجا ایجاد کنید و سپس آن را به /etc/systemd/system/hermes.service کپی کنید. این unit hermes gateway را اجرا میکند، یعنی همان فرآیند طولانیمدتی که اپلیکیشنهای چت شما را متصل میکند؛ پس از نصب، دستور hermes --help را اجرا کنید تا از صحت آن دستور و مسیر باینری در نسخه خود اطمینان حاصل کنید، پیش از آنکه سرویس را فعال کنید:
دستورالعملها و مراحل daemon-reload و enable --now در running a program as a systemd service پوشش داده شدهاند:
sudo systemctl daemon-reload
sudo systemctl enable --now hermesسختسازی سرور در اطراف آن
در نهایت، درب ورودی را ایمن کنید. SSH را به احراز هویت فقط با کلید (key-only) تغییر دهید و ورود root را غیرفعال کنید، مشابه SSH hardening on a VPS، تا حساب کاربری که برای مدیریت سرور استفاده میکنید، قابل حدس زدن نباشد. عاملی که حافظه دائمی دارد، ارزش محافظت دارد و ارزانترین راه محافظت این است که مطمئن شوید هیچکس نمیتواند به سروری که عامل در آن زندگی میکند، وارد شود.
اگر ترجیح میدهید به جای اجرای یک عامل بستهبندی شده، مکانیزم کار را درک کنید، building your own AI agent on a VPS مراحل آن را گام به گام توضیح میدهد.
FAQ
آیا میتوانم Hermes Agent را روی یک VPS ارزان اجرا کنم؟
بله. Hermes برای اجرا روی یک سرور کوچک طراحی شده است و یک VPS با قیمت 5 دلار برای یک عامل شخصی که همیشه روشن است، کافی است. این عامل به جای سرویسدهی به ترافیک سنگین، با یک مدل زبانی و اپلیکیشنهای چت شما در ارتباط است، بنابراین منابع کمی مصرف میکند. یک کاربر اختصاصی، یک فایروال و یک سرویس systemd برای آن در نظر بگیرید؛ یک VPS کوچک به راحتی از پس آن برمیآید.
آیا اسکریپت نصب یک خطی برای اجرا ایمن است؟
نصب curl | bash راحت است، اما عادت ایمن این است که اسکریپت را دانلود و قبل از اجرا بخوانید، و آن را به جای root، با یک کاربر اختصاصی اجرا کنید. به این ترتیب، یک نصبکننده که از طریق pipe اجرا میشود، هرگز نمیتواند کاری فراتر از محدودیتهای آن حساب کاربری انجام دهد. این موضوع مختص Hermes نیست؛ این یک تمرین خوب برای هر نصب از این نوع است.
چگونه Hermes را بدون root اجرا کنم؟
یک کاربر سیستمی اختصاصی بدون login shell ایجاد کنید، Hermes را در دایرکتوریای که آن کاربر مالک آن است (مانند /opt/hermes) نصب کنید، و سرویس را با آن حساب کاربری اجرا کنید. اگر عامل دچار اختلال شود، آسیب محدود به همان محدوده دسترسی آن حساب کاربری خواهد بود.
چگونه Hermes را پس از خروج از سیستم فعال نگه دارم؟
آن را به عنوان یک سرویس systemd اجرا کنید. یک فایل unit، Hermes را هنگام بوت کردن اجرا میکند، در صورت کرش کردن آن را دوباره راهاندازی میکند و پس از پایان نشست SSH شما، آن را فعال نگه میدارد، در حالی که گزینههای sandboxing در systemd دسترسیهای فرآیند را محدود میکنند. با استفاده از ابزار بالا یک unit امن ایجاد کنید و آن را با systemctl enable --now hermes فعال کنید.
آیا Hermes Agent به GPU نیاز دارد؟
خیر. Hermes محیط اجرای عامل (runtime) است، نه مدل زبانی؛ بنابراین روی یک VPS کوچک که فقط CPU دارد نیز به خوبی اجرا میشود. محاسبات سنگین در جایی انجام میشود که مدل اجرا میشود، که معمولاً یک API میزبانی شده است که شما به آن متصل میشوید. اگر میخواهید مدل را نیز روی همان سرور میزبانی کنید، مشخصات ماشین را بر اساس نیاز مدل انتخاب کنید، نه خود Hermes. برای میزبانی مدل فقط با CPU، اعداد موجود در the Ollama guide صدق میکند.