Goose با یوتاپن — متغیرهای محیطی و provider سفارشی

راه‌اندازی Goose با یوتاپن: OPENAI_HOST و GOOSE_MODEL، تعیین GOOSE_MAX_TOKENS برای رزرو کوچک و مدل‌هایی که در Goose جواب نمی‌دهند.

به‌روزرسانی: ۳۱ شهریور ۱۴۰۵

Goose یک ایجنت متن‌باز با نسخهٔ دسکتاپ و ترمینال است. ساده‌ترین راه وصل‌کردنش به یوتاپن، استفاده از provider داخلی openai با آدرس عوض‌شده است. این صفحه با مستندات رسمی نسخهٔ 1.51 بررسی شده است.

راه‌اندازی با متغیر محیطی

export GOOSE_PROVIDER="openai"
export GOOSE_MODEL="anthropic/claude-sonnet-5"
export OPENAI_HOST="https://api.uttapen.ir"
export OPENAI_API_KEY="sk-up-..."
export GOOSE_MAX_TOKENS=8192
export GOOSE_CONTEXT_LIMIT=200000
  • OPENAI_HOST فقط میزبان است، بدون /v1. مسیر درخواست از OPENAI_BASE_PATH می‌آید که پیش‌فرضش v1/chat/completions است و همان چیزی است که ما سرو می‌کنیم. اگر 404 گرفتی، اولین چیزی که باید ببینی این است که /v1 دوبار در آدرس نیامده باشد.
  • goose configure نام مدل دلخواه نمی‌پذیرد، پس شناسهٔ ما را با GOOSE_MODEL (یا در ~/.config/goose/config.yaml) بده.
  • کلید را فقط در متغیر محیطی یا keyring بگذار؛ کلیدی که در config.yaml بنویسی نادیده گرفته می‌شود.

سقف خروجی

Goose به‌صورت پیش‌فرض سقف خروجی را از جدول داخلی خودش حدس می‌زند و برای مدل‌های شناخته‌شده عدد بسیار بزرگی (تا ۱۲۸٬۰۰۰ توکن) می‌فرستد. چون یوتاپن هزینهٔ همین سقف را قبل از ارسال رزرو می‌کند (قیمت‌گذاری)، همان یک درخواست می‌تواند بخش بزرگی از موجودی‌ات را قفل کند و 402 بگیری.

GOOSE_MAX_TOKENS را حتماً ست کن (مثلاً 8192)؛ این مقدار بر حدس داخلی مقدم است. برای مدل‌هایی که Goose نمی‌شناسد اصلاً سقفی نمی‌فرستد، که آن هم مطلوب نیست: رزرو با یک برآورد پیش‌فرض بسته می‌شود و اگر مدل بیشتر بنویسد، مبلغ واقعی کامل کم می‌شود.

کدام مدل‌ها

در Goose شناسه‌های خانوادهٔ GPT-5 و o-series (مثل openai/gpt-5-mini یا openai/o3) به مسیر Responses فرستاده می‌شوند؛ یوتاپن این مسیر را ندارد و جواب 404 not_found است. تا زمانی که این رفتار در Goose عوض شود، در این ابزار از مدل‌های دیگر استفاده کن.

انتخاب‌های امن و خوب برای کد: anthropic/claude-sonnet-5، qwen/qwen3-coder، deepseek/deepseek-v3.2، z-ai/glm-4.7 و moonshotai/kimi-k2.5.

Goose در این نسخه مدل جداگانه‌ای برای عنوان یا کارهای سبک ندارد؛ همه‌چیز روی همان مدل اصلی است. اگر می‌خواهی بخشی از کار روی مدل ارزان برود، از agent یا recipe اختصاصی با مدل جدا استفاده کن.

provider سفارشی (اختیاری)

اگر می‌خواهی یوتاپن به‌جای جایگزینی provider داخلی، به‌صورت یک provider مستقل در فهرست بیاید، یک فایل JSON در ~/.config/goose/custom_providers/ بساز — یا از Desktop مسیر Settings ← Models ← Configure Providers ← Add Custom Provider و در ترمینال goose configure ← Custom Providers. فیلدهای لازم: name، engine (برابر openai)، display_name، api_key_env، base_url و آرایهٔ models با name و context_limit. آدرس را مثل بالا میزبان بگذار تا v1/chat/completions دوباره اضافه نشود.

بررسی اتصال

goose session

یک پیام کوتاه بفرست و بعد درخواست را در داشبورد ← مصرف ببین.

عیب‌یابی

خطاعلت در Gooseراه‌حل
401 invalid_api_keyOPENAI_API_KEY ست نیست یا کلید در config.yaml نوشته شده (نادیده گرفته می‌شود)کلید را export کن یا در keyring بگذار
404 not_foundمدل خانوادهٔ GPT-5 یا o-series انتخاب شده، یا /v1 دوبار آمدهمدل دیگری بگیر؛ OPENAI_HOST را بدون /v1 بگذار
404 model_not_foundGOOSE_MODEL با شناسهٔ واقعی فرق دارداز /models کپی کن (پیام 404 در uttapen.suggestions نزدیک‌ترین شناسه‌های محتمل را هم پیشنهاد می‌دهد)
402 insufficient_balanceرزرو بزرگ به‌خاطر نبودن GOOSE_MAX_TOKENSآن را ست کن و کیف پول را شارژ کن
429سقف نرخ یا سقف ماهانهٔ کلید (محدودیت نرخ)صبر یا افزایش سقف

اگر موجودی قابل‌استفاده کل سقف خروجی را پوشش ندهد، یوتاپن سقف را تا اندازهٔ موجودی پایین می‌آورد (کف ۱٬۰۲۴ توکن) و عدد نهایی را در هدر X-Uttapen-Max-Tokens می‌فرستد؛ پاسخ ممکن است ناتمام بماند. 402 فقط وقتی است که همان کف هم در موجودی نگنجد.

ابزارهای دیگر در یکپارچه‌سازی و کدهای خطا در خطاها.

هنوز کلید API نداری؟

با شماره موبایل ثبت‌نام کن، کیف پول را از ۱۰۰٬۰۰۰ تومان شارژ کن و کلید بساز. مدل‌های رایگان بدون شارژ هم کار می‌کنند — تا ۵۰ درخواست در روز. ساخت کلید API ←