راهنمای Claude Code
راهنمای Claude Code
Claude Code از طریق مسیر سازگار با Anthropic به داتهوش وصل میشود. کل کار دو متغیر محیطی و یک فرمان است.
پیشنیاز
- یک API key از کنسول (احراز هویت و امنیت کلید).
- یک مدل که پروتکل anthropic-messages برایش تأیید شده باشد. فهرست را با همین key بپرسید و مدلی را بردارید که در protocols آن anthropic-messages آمده است.
- Claude Code روی همان ماشین.
curl "https://gateway.dothoosh.com/v1/models" \
-H "Authorization: Bearer $DOTHOOSH_API_KEY"پیکربندی
export ANTHROPIC_BASE_URL="https://gateway.dothoosh.com/anthropic"
export ANTHROPIC_API_KEY="$DOTHOOSH_API_KEY"
claude --model YOUR_MODELANTHROPIC_BASE_URL را بدون /v1/messages بدهید؛ خود کلاینت آن را اضافه میکند.
- ANTHROPIC_API_KEY باعث میشود کلاینت کلید را در سرآیند x-api-key بفرستد، که همان چیزی است که این مسیر انتظار دارد.
- ANTHROPIC_AUTH_TOKEN را کنار این دو نگذارید. آن متغیر کلید را در سرآیند Authorization میفرستد و مسیر Anthropic داتهوش هر Authorization را با api_key_malformed رد میکند.
انتخاب مدل
داتهوش نام مستعار مدل را ترجمه نمیکند. --model باید یک id دقیق از GET /v1/models باشد؛ اگر مدلی برای این پروتکل تأیید نشده باشد از این مسیر سرو نمیشود، حتی اگر روی مسیر OpenAI در دسترس باشد. برای مدلهای غیرAnthropic از سازگاری با OpenAI استفاده کنید.
اولین تماس
Claude Code خودش درخواست میسازد؛ برای اینکه مطمئن شوید کلید و مدل درست کار میکنند، اول همان درخواست را با curl بزنید و بعد Claude Code را اجرا کنید:
curl "https://gateway.dothoosh.com/anthropic/v1/messages" \
-H "x-api-key: $DOTHOOSH_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL",
"max_tokens": 256,
"messages": [{ "role": "user", "content": "بگو سلام" }]
}'عیبیابی
| نشانه | علت محتمل | کار بعدی |
|---|---|---|
| 401 api_key_malformed | هدر اشتباه، یا همزمان بودن x-api-key و Authorization | ANTHROPIC_AUTH_TOKEN را بردارید و فقط ANTHROPIC_API_KEY را نگه دارید |
| 400 unsupported_parameter با parameter: "anthropic-version" | کلاینت نسخهٔ دیگری فرستاده است | کلاینت/هدر را روی 2023-06-01 بگذارید |
| 404 model_not_found یا 403 api_key_model_not_allowed | مدل در --model برای این key یا این پروتکل مجاز نیست | مدل را از GET /v1/models بردارید |
| 400 unsupported_parameter روی نام یک فیلد | کلاینت فیلدی فرستاده که این مسیر تأییدش نکرده | فیلد را از پیکربندی کلاینت بردارید |
| 503 provider_error با maintenance_mode | سامانه موقتاً در حالت نگهداری است؛ چند دقیقه بعد دوباره تلاش کنید | وضعیت فعلی سرویس |
محدودیت شناختهشده
مسیر Anthropic و پیکربندی زیر برای کد داتهوش کار میکند، اما داتهوش هنوز نتیجهٔ تأییدشدهٔ سرتاسری برای Claude Code منتشر نکرده است. تا آن زمان هر فراخوانی با همان قواعد مسیر Anthropic بررسی میشود: نسخهٔ پینشده، فیلدهای ناشناخته رد میشوند و فقط مدلهای تأییدشده سرو میشوند.
مطالب مرتبط
گام بعدی
هر دو مسیر داتهوش استریم را به شکل بومی خودشان ارائه میدهند: رویدادهای Server-Sent Events روی مسیر OpenAI و رویدادهای بومی Anthropic روی مسیر Anthropic. کدی که امروز با SDK خودتان استریم میگیرید، بدون تغییر کار میکند.
فهرست مدلهای داتهوش پویا است: با هر درخواست از خود سرویس میپرسید «الان چه چیزی برای من در دسترس است؟». هیچ فهرست ثابتی وجود ندارد که در مستندات بنویسیم و بعد از کد عقب بیفتد.
شما مدل را انتخاب میکنید؛ انتخاب مسیر کار داتهوش است. این صفحه میگوید آن انتخاب چطور انجام میشود و در خطا چه اتفاقی میافتد، چون همین رفتار تفاوت بین «دوباره بفرستم» و «دوباره نفرستم» را میسازد.