پرش به محتوا

Open WebUI و LibreChat

یک چت داخلی برای تیم با مدل‌های گیسو: اتصال OpenAI در Open WebUI با فهرست مدل محدود، امبدینگ، تصویر و صدا، و endpoint سفارشی در فایل librechat.yaml.

بازبینی: ۱۵ مهر ۱۴۰۵ ۶ دقیقه مطالعه

اگر تیمتان یک چت داخلی می‌خواهد، شبیه ChatGPT ولی روی سرور خودتان و با مدل‌هایی که خودتان انتخاب کرده‌اید، Open WebUI و LibreChat دو گزینهٔ متن‌باز رایج‌اند. هر دو اتصال سازگار با OpenAI دارند؛ با کلید گیسو، اعضای تیم از یک صفحه با Claude، Gemini، GPT و DeepSeek گفت‌وگو می‌کنند و کلید فقط روی سرور شما می‌ماند.

API Base URLhttps://gisoo.pro/api/v1
API Keyکلید گیسو، sk-gisoo-v1-…
Modelsفقط مدل‌هایی که تیم لازم دارد، مثلاً openrouter/anthropic/claude-sonnet-5.5 و gpt-4o-mini

Open WebUI

ساده‌ترین راه نصب، Docker است. نشانی و کلید را همان بار اول بدهید:

برای سرورها و کاربران داخل ایران، در این نمونه نشانی gisoo.pro را با ir.gisoo.pro جایگزین کنید؛ مسیر و کلید همان‌اند.

Shell Docker
docker run -d -p 3000:8080 \
  -e OPENAI_API_BASE_URL=https://gisoo.pro/api/v1 \
  -e OPENAI_API_KEY=sk-gisoo-v1-... \
  -e ENABLE_OLLAMA_API=false \
  -v open-webui:/app/backend/data \
  --name open-webui --restart always \
  ghcr.io/open-webui/open-webui:main
  1. حساب مدیر

    http://SERVER:3000 را باز کنید؛ اولین حسابی که ساخته شود، مدیر است.

  2. اتصال را بررسی کنید

    در Admin Panel → Settings → Connections اتصال OpenAI باید با نشانی گیسو دیده شود. اگر Docker را بدون متغیرها اجرا کرده‌اید، همین‌جا یک اتصال تازه با نشانی و کلید بسازید.

  3. فهرست مدل‌ها را کوتاه کنید

    Open WebUI فهرست مدل‌ها را از /models می‌خواند که صدها مدل دارد. در تنظیم همان اتصال، در Model IDs فقط مدل‌هایی را بنویسید که تیم لازم دارد؛ بقیه در فهرست نمی‌آیند.

  4. مدل کارهای جانبی

    Open WebUI برای ساختن عنوان گفت‌وگو و پیشنهاد پرسش هم از مدل استفاده می‌کند. در Admin Panel → Settings → Interface مدل این کارها (Task Model) را یک مدل ارزان مثل gpt-4.1-mini بگذارید.

متغیرها فقط بار اول خوانده می‌شوند

Open WebUI تنظیم اتصال را در پایگاه دادهٔ خودش نگه می‌دارد. اگر بعداً متغیر Docker را عوض کردید و اثری نداشت، تغییر را از Admin Panel انجام دهید.

سند، تصویر و صدا

بخش در Admin Panel → Settingsتنظیممدل گیسو
Documents (پرسش از فایل‌ها)موتور امبدینگ را OpenAI بگذارید، با نشانی و کلید گیسو.text-embedding-3-small
Images (ساخت تصویر)موتور را OpenAI بگذارید، با نشانی و کلید گیسو.gpt-image-1-mini
Audio (گفتار به متن)موتور گفتار به متن را OpenAI بگذارید.gpt-4o-mini-transcribe
Audio (متن به گفتار)موتور متن به گفتار را OpenAI بگذارید.gpt-4o-mini-tts

هر کدام همان endpoint گیسو را صدا می‌زند و هزینه‌اش جدا در گزارش مصرف دیده می‌شود: امبدینگ، تصویر و صدا.

LibreChat

در LibreChat گیسو یک endpoint سفارشی (custom endpoint) است. کلید را در .env و تعریف endpoint را در librechat.yaml بگذارید:

.env .env
# .env of LibreChat
GISOO_API_KEY=sk-gisoo-v1-...

برای سرورها و کاربران داخل ایران، در این نمونه نشانی gisoo.pro را با ir.gisoo.pro جایگزین کنید؛ مسیر و کلید همان‌اند.

YAML librechat.yaml
# librechat.yaml — keep "version" as in the sample file of your LibreChat release
version: 1.2.1
cache: true

endpoints:
  custom:
    - name: "Gisoo"
      apiKey: "${GISOO_API_KEY}"
      baseURL: "https://gisoo.pro/api/v1"
      models:
        default: ["openrouter/anthropic/claude-sonnet-5.5", "gemini-3.6-flash", "gpt-4o-mini"]
        fetch: false
      titleConvo: true
      titleModel: "gpt-4o-mini"
      modelDisplayLabel: "Gisoo"
  • fetch: false یعنی فقط مدل‌های فهرست default نشان داده شوند؛ با true صدها مدل کاتالوگ در فهرست می‌آید.
  • titleModel مدلی است که عنوان گفت‌وگوها را می‌سازد؛ مدلی ارزان بگذارید.
  • اگر LibreChat را با Docker Compose اجرا می‌کنید، فایل librechat.yaml را طبق راهنمای خود LibreChat در کانتینر سوار کنید و سرویس را دوباره راه بیندازید.

کدام مدل‌ها را بگذارید

برایشناسهٔ مدلپنجرهٔ ورودی (توکن)ورودی / خروجی (دلار برای هر یک میلیون توکن)
پرسش‌های روزمره
ارزان؛ بهتر است پیش‌فرض باشد.
gpt-4o-mini ۱۲۸٬۰۰۰ $0.21 / $0.84
نوشتن دقیق و کد openrouter/anthropic/claude-sonnet-5.5 ۱٬۰۰۰٬۰۰۰ $3.0595 / $15.2975
سند و متن بلند gemini-3.6-flash ۱٬۰۴۸٬۵۷۶ $1.05 / $5.25
هزینهٔ کم deepseek-v4-flash ۱٬۰۰۰٬۰۰۰ $0.42 / $1.68

شناسه‌ها و قیمت‌ها هنگام باز شدن این صفحه از کاتالوگ خوانده می‌شوند و با تغییر قیمت سرویس‌دهنده عوض می‌شوند. فهرست کامل، با قیمت هر مدل به سکه، در صفحهٔ مدل‌ها است.

برای تیم

  • برای چت تیم یک پروژه و کلید جدا با بودجهٔ ماهانه بسازید؛ اگر کسی بی‌حساب مصرف کند، همان بودجه جلویش را می‌گیرد.
  • کاربرها کلید گیسو را نمی‌بینند؛ کلید فقط روی سرور است. نقش‌ها و دسترسی هر کاربر را در خود Open WebUI یا LibreChat تعیین کنید.
  • اگر روی کلید فهرست IP مجاز می‌گذارید، IP همان سروری را بنویسید که Open WebUI یا LibreChat رویش اجرا می‌شود.

خطاهای رایج

نشانهعلتراه رفع
هیچ مدلی در فهرست نیستنشانی پایه بدون /v1 است یا سرور به gisoo.pro نمی‌رسد.نشانی را دقیقاً https://gisoo.pro/api/v1 بگذارید و از همان سرور آزمایش اتصال را اجرا کنید.
صدها مدل در فهرستفیلتر مدل گذاشته نشده است.در Open WebUI فیلد Model IDs و در LibreChat fetch: false.
401 invalid_api_keyکلید درست نیست یا متغیر .env خوانده نشده.کلید را بررسی کنید و سرویس را دوباره راه بیندازید.
402 insufficient_credit یا project_budget_exceededاعتبار یا بودجهٔ پروژه تمام شده است.شارژ کنید یا بودجهٔ پروژه را بالا ببرید.
عنوان‌سازی گفت‌وگوها خرج زیادی داردمدل کارهای جانبی همان مدل گران چت است.Task Model یا titleModel را مدلی ارزان بگذارید.

پرسش‌های پرتکرار

روی سرور داخل ایران نصب می‌شود؟

خود برنامه هر جا که Docker اجرا شود نصب می‌شود؛ دانلود تصویر Docker از مخزن همان برنامه است، نه از گیسو. بعد از نصب، برای مدل‌ها فقط به gisoo.pro وصل می‌شود.

گفت‌وگوهای تیم کجا ذخیره می‌شود؟

در پایگاه دادهٔ همان Open WebUI یا LibreChat روی سرور شما. گیسو متن گفت‌وگو را ذخیره نمی‌کند و فقط مدل، توکن و هزینهٔ هر درخواست را ثبت می‌کند.

هزینهٔ هر کاربر را جدا می‌بینم؟

گیسو مصرف را به تفکیک کلید و پروژه نشان می‌دهد، نه به تفکیک کاربرهای Open WebUI. اگر حساب جدا برای هر کاربر لازم دارید، LiteLLM Proxy را میان این دو بگذارید.

راهنماهای مرتبط

پاسخ پرسشتان را پیدا نکردید؟

شناسهٔ درخواست (هدر X-Request-Id) را با پرسشتان در تیکت بفرستید تا دقیق بررسی کنیم.

تیکت پشتیبانی