Hermes Agent হলো Nous Research-এর open-source, নিজে থেকে শিখে উন্নত হওয়া agent। এতে আছে CLI, TUI, আর Telegram, Discord ইত্যাদির জন্য messaging gateway। এটা Tokens-এ জোড়া লাগে custom endpoint হিসেবে, OpenAI-ধাঁচের chat completions দিয়ে, https://tokens.bd/v1-এ।
Hermes-এর জন্য কমপক্ষে 64K token context লাগবে
যে model-এর context window 64,000 token-এর কম, Hermes সেটা নিয়ে চালুই হতে চায় না। সাথে এমন model লাগবে যেটা OpenAI-ধাঁচের tool calling পারে। model বাছার আগে /models-এ ওই model-এর পাতায় context window দেখে নিন।
Tokens CLI Hermes configure করে না। তাই Hermes-এর নিজের wizard চালান, নয়তো তার config file edit করুন।
Hermes Agent install করুন#
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
source ~/.bashrc # or ~/.zshrciex (irm https://hermes-agent.nousresearch.com/install.ps1)key না থাকলে /dashboard/keys-এ গিয়ে একটা বানিয়ে নিন। spend cap আর model allow-list কী, তা API keys-এ বলা আছে।
Option A: hermes model wizard#
Hermes-এর docs এই interactive wizard-টাই recommend করে। এটা চালাতে হবে আপনার terminal থেকে, কোনো chat session-এর ভেতরে নয়:
hermes modelCustom endpoint (self-hosted / VLLM / etc.) বেছে নিন, তারপর এগুলো দিন:
| Prompt | যা দেবেন |
|---|---|
| API base URL | https://tokens.bd/v1 |
| API key | your tok_live_... key |
| Model name | deepseek/deepseek-v4.1-flash |
এরপর ~/.hermes/config.yaml খুলে নিচে দেখানো ধাঁচে context_length যোগ করুন, যাতে Hermes-কে আন্দাজ করতে না হয়।
Option B: ~/.hermes/config.yaml edit করুন#
Hermes-এর docs config.yaml-কে বলে একমাত্র নির্ভরযোগ্য উৎস। key রাখুন ~/.hermes/.env-এ, আর config-এ তার নাম ধরে উল্লেখ করুন:
TOKENS_API_KEY=tok_live_your_keyshell-এ export করে রাখতে চাইলে সেটাও চলে:
export TOKENS_API_KEY="tok_live_your_key"$env:TOKENS_API_KEY = "tok_live_your_key" # this window
setx TOKENS_API_KEY "tok_live_your_key" # new windowsএরপর model block সেট করুন:
model:
default: deepseek/deepseek-v4.1-flash
provider: custom
base_url: https://tokens.bd/v1
key_env: TOKENS_API_KEY
context_length: 128000 # placeholder: use the model's real window, at least 64000context_length একটা placeholder। আসল value /models থেকে copy করুন। Hermes context size খোঁজে প্রথমে আপনার config-এ, তারপর endpoint-এর model list-এ, তারপর নিজের default-এ। তাই নিজে সেট করে দিলে আর আন্দাজের দরকার পড়ে না।
Tokens-কে আলাদা নামের provider হিসেবে রাখা#
Hermes-এ একাধিক provider চালালে Tokens-কে বরং providers:-এর নিচে declare করুন। পুরোনো custom_providers: list নিজে থেকেই এই ধাঁচে migrate হয়ে যায়।
providers:
tokens:
api: https://tokens.bd/v1
key_env: TOKENS_API_KEY
transport: chat_completions
default_model: deepseek/deepseek-v4.1-flash
context_length: 128000 # placeholderHermes-এ anthropic_messages transport-ও আছে। সেটা নিজে base URL-এর পরে /v1/messages জুড়ে নেয় কি না, আমরা নিশ্চিত হইনি। তাই বদলানোর কোনো কারণ না থাকলে chat_completions-এই থাকুন।
Model বদলানো#
model.default (বা আপনার named provider-এর default_model) বদলে /models বা GET /v1/models থেকে অন্য একটা id বসান, আর context_length-ও নতুন model-এর সাথে মিলিয়ে দিন। wizard পছন্দ হলে আবার hermes model চালান। কোন model বাছবেন, তাতে সাহায্য করবে Choosing a model।
session-এর ভেতরে named provider-এর জন্য নিয়ম করা syntax হলো:
/model custom:tokens:deepseek/deepseek-v4.1-flashformat হলো /model custom:<name>:<model>। যে model id-র নিজের ভেতরেই slash আছে, Hermes তা কীভাবে parse করে সেটা তাদের docs-এ বলা নেই। তাই এতে model না বদলালে config.yaml-এ গিয়ে বদলান। session-এর ভেতরে /model শুধু আগে থেকে configure করা provider-গুলোর মধ্যে বদলাতে পারে।
ঠিকমতো চলছে কি না দেখুন#
hermes status
hermes doctor
hermes chat --oneshot -q "Reply with OK"শেষ command একবার উত্তর দিয়ে বেরিয়ে যায়। Hermes session শুরু করলে একটা Context limit: X tokens লাইন ছাপে, ওটা model-এর আসল window-র সাথে মিলছে কি না দেখুন।
সমস্যা হলে#
context size-এর কারণে Hermes চালু হচ্ছে না। configure করা বা detect হওয়া context 64,000 token-এর কম। বড় window-র model নিন, আর context_length নিজে সেট করুন।
OPENAI_BASE_URL বা LLM_MODEL-এর কোনো প্রভাব পড়ছে না। LLM_MODEL তুলে দেওয়া হয়েছে। OPENAI_BASE_URL পড়া হয় শুধু openai-api provider-এর জন্য, custom-এর জন্য নয়। CUSTOM_BASE_URL টিকে আছে শুধু পুরোনো fallback হিসেবে। সব কিছু config.yaml-এ সেট করুন।
401 missing_api_key। key_env-এ যে variable-এর নাম দিয়েছেন, Hermes সেটা দেখতে পাচ্ছে না। ~/.hermes/.env-এ বানান মিলিয়ে নিন, কিংবা দেখুন যে shell থেকে Hermes চালু করেছেন সেখানে ওটা export করা আছে কি না।
tool call ব্যর্থ হয়, বা agent একই জায়গায় ঘুরতে থাকে। Hermes OpenAI tool calling-এর ওপর নির্ভর করে। অন্য model-এ যান। agent-এর model-এ কী কী দেখে নিতে হয়, তা Choosing a model-এ আছে।
আনুষঙ্গিক কাজ থেকে অপ্রত্যাশিত usage। vision, web summarization, compression আর title তৈরির কাজ default-এ main model দিয়েই চলে। config.yaml-এর auxiliary.*-এর নিচে এগুলোর জন্য আলাদা model দিয়ে দিতে পারেন।
403 model_not_allowed_on_key বা 429 window_exhausted। এগুলো key আর plan-এর সীমা। সব error code-এর জন্য Troubleshooting দেখুন।