هرمز در ویرایشگر شما
هرمز با قالب سیمیِ سازگار با OpenAI صحبت میکند؛ پس هر ویرایشگری که قابلیت «کلید خودتان» یا endpoint سفارشی دارد میتواند مستقیم از کلید ng-... شما استفاده کند. آدرس ویرایشگر را روی https://api.hormouz.net/v1 بگذارید و مدلها را با شناسهٔ کامل vendor/name انتخاب کنید (مثل openai/gpt-4o-mini). GET /v1/models همهٔ مدلهای چت را فهرست میکند. این راهنما VS Code، ZCode، Cursor، Cline، ویرایشگرهای JetBrains، opencode و Neovim را گامبهگام پوشش میدهد.
VS Code (Copilot Chat، کلید خودتان)
با چت، ویرایش و حالت Agent کار میکند. به اشتراک Copilot نیازی نیست. تنها قابلیتی که روی زیرساخت خود Copilot میماند تکمیل خودکار (Tab) است. محدودیت VS Code برای همهٔ ارائهدهندههای سفارشی.
به VS Code نسخهٔ ژوئن ۲۰۲۶ به بعد (نسخههای قدیمیتر گزینهٔ «Custom Endpoint» را ندارند) و افزونهٔ GitHub Copilot Chat نیاز دارید.
قدم ۱. مدیریت مدلها را باز کنید. Command Palette را باز کنید (Cmd+Shift+P) و Chat: Manage Language Models را اجرا کنید. روی + Add Models… (بالا سمت راست) کلیک کنید.

قدم ۲. ارائهدهندهٔ «Custom Endpoint» را انتخاب کنید. در فهرست بازشو Custom Endpoint (گزینهٔ سازگار با OpenAI) را بردارید. گزینهٔ «OpenAI» را انتخاب نکنید. آن گزینه فقط به سرورهای خود OpenAI وصل میشود. اگر «Custom Endpoint» در فهرست نیست، VS Code را بهروزرسانی کنید.

قدم ۳. کلید API را وارد و مدلها را تعریف کنید. VS Code اول کلید را میپرسد (بهصورت امن ذخیره میشود)، بعد فایل chatLanguageModels.json را با یک قالب خالی باز میکند. برای هر مدل یک ورودی بنویسید. url آدرس کامل chat-completions است و برای همهٔ مدلها یکسان؛ id شناسهٔ دقیق مدل هرمز است (vendor/name):
{
"name": "Hormouz",
"vendor": "customendpoint",
"apiKey": "${input:chat.lm.secret.XXXXXXXX}",
"apiType": "chat-completions",
"models": [
{
"id": "anthropic/claude-sonnet-5",
"name": "Claude Sonnet 5 (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 1000000,
"maxOutputTokens": 16000
},
{
"id": "z-ai/glm-5.2",
"name": "GLM 5.2 (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": false,
"maxInputTokens": 1000000,
"maxOutputTokens": 16000
},
{
"id": "moonshotai/kimi-k2.7-code",
"name": "Kimi K2.7 Code (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 256000,
"maxOutputTokens": 16000
},
{
"id": "minimax/minimax-m3",
"name": "MiniMax M3 (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 1000000,
"maxOutputTokens": 16000
},
{
"id": "xiaomi/mimo-v2.5",
"name": "MiMo v2.5 (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 1000000,
"maxOutputTokens": 16000
},
{
"id": "openai/gpt-4o-mini",
"name": "GPT-4o mini (Hormouz)",
"url": "https://api.hormouz.net/v1/chat/completions",
"toolCalling": true,
"vision": true,
"maxInputTokens": 128000,
"maxOutputTokens": 16000
}
]
}
مقدار apiKey تولیدشده را دست نزنید. toolCalling/vision برای هر مدل، اگر مطمئن نیستید، GET /v1/models برای هر مدل supports_tools و supports_vision را گزارش میدهد. بعد از ذخیره، گروه Hormouz با همهٔ مدلها نمایش داده میشود:

قدم ۴. مدل را انتخاب کنید و چت کنید. پنل Copilot Chat را باز کنید، از انتخابگر مدل پایین صفحه مدل هرمز را بردارید. حالت Ask بلافاصله کار میکند.

قدم ۵. یک تنظیم اضافه برای حالت Agent. حالت Agent از یک مدل کوچک «utility» هم استفاده میکند. بدون اشتراک Copilot اولین درخواست Agent با این خطا میخورد: "No utility model is configured for 'copilot-utility-small' while the selected main agent model is BYOK."

یک بار برای همیشه: Settings (Cmd+,) → جستوجوی utility → مقدار Chat: Byok Utility Model Default را از None به Main Agent Model تغییر دهید. از این به بعد جریانهای utility هم از همان مدل هرمزِ انتخابی شما میگذرند. هر نوبتِ Agent ممکن است بیش از یک درخواست API بفرستد که طبیعی است.

ZCode
ZCode یک ویرایشگر دسکتاپ agent-محور است که ارائهدهندهٔ سفارشی سازگار با OpenAI را بهصورت بومی پشتیبانی میکند. هم چت و هم حالت Agent. درخواستها مستقیم از دستگاه شما به هرمز میروند.
قدم ۱. افزودن ارائهدهنده. تنظیمات (چرخدندهٔ پایینچپ) → Model settings → Add provider:
- Name:
Hormouz - Base URL:
https://api.hormouz.net/v1 - API format: Chat completions (
/chat/completions) - API key: کلید
ng-...شما
سپس با + Add model برای هر مدل یک ورودی بسازید. شناسهٔ کامل vendor/name و پنجرهٔ متن آن (مثل z-ai/glm-5.2 مقدار 1000000، anthropic/claude-sonnet-5 مقدار 1000000، openai/gpt-4o-mini مقدار 128000). ذخیره کنید، ارائهدهنده Enabled میشود.

قدم ۲. ارائهدهندهٔ داخلی Z.ai را غیرفعال کنید (اگر حساب Z.ai ندارید لازم است). Agent در ZCode هنگام شروع سعی میکند پلن داخلی Z.ai/GLM را mount کند. اگر آن پلن فعال ولی متصلنشده باشد، کل Agent با این خطا میخورد: «Model config is missing. Create ~/.zcode/cli/config.json …» (provider=glm). راهحل: Model settings → Z.ai → Connection mode → API key و کلید را خالی بگذارید. Z.ai به حالت Disabled میرود و Agent به ارائهدهندهٔ Hormouz شما میرسد.

قدم ۳. استفاده. بازگشت به workspace → یک چت باز کنید → از انتخابگر، مدل هرمز را بردارید → پیام بفرستید. حالت Agent هم کار میکند: فایل میخواند، دستور اجرا میکند و ویرایش میکند.

Cursor
پشتیبانی Cursor از endpoint سفارشی محدودترینِ این سه است. به دلایلی سمت خود Cursor: هر درخواست را از سرورهای ابری خود Cursor عبور میدهد (نه مستقیم از دستگاه شما)؛ از میانهٔ ۲۰۲۶ قابلیتهای Agent و Edit برای کلیدهای سفارشی مسدود شدهاند. endpoint سفارشی فقط پنل Ask/Chat را تغذیه میکند؛ و یک باگ شناختهشده هست که با روشن بودن Override ممکن است مدلهای خود Cursor از کار بیفتند تا آن را خاموش کنید.
توصیه: از افزونهٔ Cline (یا Continue) داخل خود Cursor استفاده کنید. Cursor افزونههای VS Code را اجرا میکند؛ Cline و Continue مستقیم از دستگاه شما به هرمز وصل میشوند، حلقهٔ کامل Agent را پشتیبانی میکنند و هر سه محدودیت بالا را دور میزنند:
- پنل Extensions → نصب Cline (یا Continue).
- در تنظیمات ارائهدهندهٔ افزونه، OpenAI Compatible را انتخاب کنید.
- Base URL برابر
https://api.hormouz.net/v1، کلیدng-...، شناسهٔ مدلvendor/name(مثلاًanthropic/claude-sonnet-5).
مسیر بومی Cursor (فقط پنل چت): Cursor Settings → Models → Override OpenAI Base URL = https://api.hormouz.net/v1 → کلید را در فیلد OpenAI API Key بگذارید (برچسبش OpenAI است ولی کلید به همان آدرسی که تنظیم کردید میرود) → + Add Model → شناسهٔ دقیق مدل هرمز → Verify. اگر Verify موفق شد، مدل را در پنل چت (Cmd+L) انتخاب کنید. وقتی مدلهای خود Cursor را میخواهید، Override را خاموش کنید.
Cline (هر ویرایشگر VS Code)
Cline یک افزونه است، نه ویرایشگر؛ پس در VS Code، Cursor و هر نسخهٔ مبتنی بر VS Code یکسان کار میکند. درخواستها مستقیم از دستگاه شما به هرمز میرود و حلقهٔ کامل عامل را اجرا میکند. اگر پشتیبانی خودِ ویرایشگرتان از endpoint سفارشی محدود است، کوتاهترین راه همین است.
قدم ۱. نصب. در پنل Extensions عبارت Cline را جستوجو کنید. راههای دیگر نصب در cline.bot آمده است.
قدم ۲. اتصال به هرمز. پنل تنظیمات Cline (آیکون چرخدنده) را باز کنید و این مقادیر را بگذارید:
- API Provider:
OpenAI Compatible - Base URL:
https://api.hormouz.net/v1 - API Key: کلید
ng-...شما - Model: شناسهٔ کامل
vendor/name، مثلاًanthropic/claude-sonnet-5
گزینهٔ سادهٔ OpenAI را انتخاب نکنید؛ آن به سرورهای خود OpenAI وصل است و Base URL شما را نادیده میگیرد.
ویرایشگرهای JetBrains (AI Assistant)
در همهٔ ویرایشگرهای JetBrains از طریق افزونهٔ AI Assistant کار میکند: IntelliJ IDEA، PyCharm، GoLand، WebStorm، Rider و بقیه. در فهرست ارائهدهندههای AI Assistant، گزینهٔ OpenAI-compatible در کنار OpenAI و Anthropic آمده است.
قدم ۱. نصب AI Assistant. از Settings به Plugins و Marketplace بروید و AI Assistant را نصب کنید. بعد از نصب، ویرایشگر را دوباره باز کنید.
قدم ۲. افزودن هرمز. در Settings به Tools و بعد AI Assistant بروید و در بخش ارائهدهندههای بیرونی، OpenAI-compatible را انتخاب کنید:
- URL:
https://api.hormouz.net/v1 - API Key: کلید
ng-...شما
خودِ AI Assistant فهرست مدلها را از endpoint میخواند؛ پس بهمحض پذیرفتهشدن اتصال، شناسهها پر میشوند. اگر فهرست خالی ماند، اول Base URL را بررسی کنید: باید دقیقاً به /v1 ختم شود و اسلش انتهایی نداشته باشد.
opencode (ترمینال)
opencode یک عامل ترمینالی است، نه ویرایشگر؛ پس کنار هر چیزی که الان استفاده میکنید اجرا میشود. روی macOS، لینوکس و ویندوز کار میکند و ارائهدهندهٔ سفارشی در فایل تنظیماتش تعریف میشود.
قدم ۱. نصب. روی macOS یا لینوکس:
curl -fsSL https://opencode.ai/install | bash
روی ویندوز اول Node.js (نسخهٔ LTS) را نصب کنید، بعد این را در PowerShell اجرا کنید. scoop install opencode و choco install opencode هم کار میکنند:
npm install -g opencode-ai
ترمینال را ببندید و دوباره باز کنید، بعد نصب را با opencode --version چک کنید.
قدم ۲. ساختن فایل تنظیمات. opencode فایل ~/.config/opencode/opencode.json را میخواند. روی macOS یا لینوکس:
mkdir -p ~/.config/opencode
nano ~/.config/opencode/opencode.json
روی ویندوز همین پوشه زیر پروفایل کاربری شماست. در PowerShell:
New-Item -ItemType Directory -Force "$HOME\.config\opencode"
notepad "$HOME\.config\opencode\opencode.json"
اگر هرمز را فقط برای یک پروژه میخواهید، بهجای آن یک فایل opencode.json در ریشهٔ همان پروژه بگذارید.
قدم ۳. چسباندن تنظیمات و وارد کردن کلید. بهجای ng-your-key-here کلیدتان را از بخش API Keys داشبورد بگذارید. model مدلی است که opencode با آن شروع میکند. small_model کارهای پسزمینه مثل نامگذاری جلسهها را انجام میدهد؛ آن را هم روی یک مدل هرمز بگذارید تا این درخواستها هم با کلید خودتان برود.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"hormouz": {
"npm": "@ai-sdk/openai-compatible",
"name": "Hormouz",
"options": {
"baseURL": "https://api.hormouz.net/v1",
"apiKey": "ng-your-key-here"
},
"models": {
"z-ai/glm-5.2": {
"name": "GLM 5.2",
"tool_call": true,
"limit": { "context": 1048576, "output": 16000 }
},
"moonshotai/kimi-k2.7-code": {
"name": "Kimi K2.7 Code",
"tool_call": true,
"limit": { "context": 262144, "output": 16000 }
},
"anthropic/claude-sonnet-5": {
"name": "Claude Sonnet 5",
"tool_call": true,
"limit": { "context": 1000000, "output": 16000 }
}
}
}
},
"model": "hormouz/z-ai/glm-5.2",
"small_model": "hormouz/z-ai/glm-5.2"
}

فایل را ذخیره کنید. چون کلیدتان داخل آن است، روی macOS یا لینوکس دسترسیاش را فقط به خودتان محدود کنید: chmod 600 ~/.config/opencode/opencode.json.
قدم ۴. تست اتصال. در هر پوشهای:
opencode run "Say hello"
اگر جواب گرفتید، کلید، آدرس و مدل همه درست کار میکنند.

قدم ۵. اجرای opencode در پروژه. به پوشهٔ پروژه بروید و opencode را اجرا کنید. خط زیر کادر پیام، مدل فعال را با کلمهٔ Hormouz کنارش نشان میدهد.
cd my-project
opencode

قدم ۶. عوض کردن مدل. داخل opencode عبارت /models را تایپ کنید. مدلهای هرمز با همان name که به آنها دادهاید، بعد از مدلهای رایگان خود opencode نشان داده میشوند. برای اضافه کردن مدل، یک ورودی زیر models با شناسهٔ دقیق از GET /v1/models (همراه با ~ اول نامهای مستعار) و طول context از همان فهرست بنویسید.

خطای «Missing Authorization header» یعنی apiKey خالی است یا هنوز همان متن نمونه است. اگر بعد از نصب دستور opencode پیدا نشد، یک ترمینال تازه باز کنید. روی ویندوز اگر PowerShell گفت اجرای اسکریپت غیرفعال است، یک بار Set-ExecutionPolicy -Scope CurrentUser RemoteSigned را اجرا کنید و دوباره امتحان کنید.
Neovim (CodeCompanion)
Neovim بهخودیخود کلاینت هوش مصنوعی ندارد؛ پس این کار با یک افزونه انجام میشود. افزونهٔ codecompanion.nvim آداپتور openai_compatible دارد و همین برای هرمز کافی است.
آداپتور را هرجا که مدیر افزونهتان تنظیمات را نگه میدارد اضافه کنید:
require("codecompanion").setup({
adapters = {
http = {
hormouz = function()
return require("codecompanion.adapters").extend("openai_compatible", {
env = {
url = "https://api.hormouz.net",
api_key = "HORMOUZ_API_KEY",
chat_url = "/v1/chat/completions",
},
})
end,
},
},
strategies = {
chat = { adapter = "hormouz" },
inline = { adapter = "hormouz" },
},
})
دو نکته اینجا با بقیهٔ ویرایشگرهای این صفحه فرق دارد. مقدار url فقط دامنه است و /v1 ندارد، چون خودِ chat_url آن مسیر را میآورد؛ اگر /v1 را در هر دو بگذارید نتیجه /v1/v1/chat/completions و خطای ۴۰۴ است. و api_key نام یک متغیر محیطی است، نه خودِ کلید؛ پس HORMOUZ_API_KEY را در شل خود تعریف کنید.
عیبیابی (همهٔ ویرایشگرها)
| علامت | علت محتمل | راهحل |
|---|---|---|
| فهرست مدلها لود نمیشود | آدرس پایه اشتباه است | دقیقاً https://api.hormouz.net/v1 |
| خطای 401 | کلید اشتباه یا عوضشده | کلید را در داشبورد چک کنید؛ بدنهٔ خطا "type":"authentication_error" دارد |
| «Model not found» | نام خالی مدل | شناسهٔ کامل vendor/name از GET /v1/models |
402 با کد INSUFFICIENT_CREDITS | موجودی تمام شده | شارژ کنید؛ خودِ پیام خطا لینک صفحهٔ پرداخت را دارد و بدنه "type":"insufficient_quota" |
429 با "type":"rate_limit_error" | رگبار درخواست موازی | با backoff دوباره بفرستید (SDKهای OpenAI خودکار انجام میدهند) |
| فقط داخل IDE تایماوت میشود (curl کار میکند) | ترافیک IDE از VPN/پروکسی با خروجی خارجی میگذرد | api.hormouz.net را از تونل خارج کنید |
هر پاسخ خطای هرمز JSON است به شکل {"error":{"code","message","status","type"}}. فیلد type با قرارداد OpenAI همخوان است تا ابزارهای مبتنی بر SDK خطا را درست دستهبندی کنند. فهرست کامل: خطاها.
سوالات متداول
- کدام ویرایشگرها با هرمز کار میکنند؟
هر ابزاری که آدرس پایهٔ سازگار با OpenAI بپذیرد. این راهنما VS Code (کلید خودتان در Copilot)، ZCode، پنل چت Cursor، Cline، JetBrains AI Assistant، opencode و Neovim را قدمبهقدم توضیح میدهد؛ Continue و Zed هم به همین شکل کار میکنند. آدرس پایه را
https://api.hormouz.net/v1بگذارید و کلیدng-...خود را وارد کنید (تنها استثنا Neovim است که آدرس را بدون/v1میگیرد).- برای VS Code به اشتراک GitHub Copilot نیاز دارم؟
نه. مدلهای با کلید خودتان بدون اشتراک Copilot کار میکنند, چت، ویرایش و حالت Agent همه روی کلید هرمز اجرا میشوند. فقط تکمیل خودکار Tab روی سرویس خود Copilot میماند.
- چرا نام مدلی که خودم تایپ کردم خطا میدهد؟
شناسهٔ کامل
vendor/nameرا به کار ببرید (مثلاًopenai/gpt-4o-miniنهgpt-4o-mini). کاتالوگGET /v1/modelsشناسههای دقیق را نشان میدهد. نامهای خالیِ رایج خودکار اصلاح میشوند، ولی شناسهٔ کامل همیشه کار میکند.