حسابهای کلید API
این صفحه بهصورت ماشینی از انگلیسی ترجمه شده است. پیشنهاد اصلاح را با کمال میل میپذیریم. ویرایش این صفحه در GitHub
حساب کلید API، Claude Code را به جای ورود با اشتراک Claude با یک کلید API آغاز میکند: API شرکت Anthropic، یا نقطه پایانیای که همان قالب Messages را میفهمد، مانند یک درگاه LiteLLM یا OpenRouter. ccam کلید را ذخیره نمیکند. هر بار که حساب آغاز میشود آن را از یک متغیر محیطی یا از فرمانی مانند یک مدیر گذرواژه میخواند و فقط به همان فرایند Claude Code میدهد.
نحوه استفاده
ccam add api --api --key-from env:ANTHROPIC_KEY_WORK
ccam add gw --api --base-url https://llm.example.com --auth bearer \
--model claude-sonnet-5-5 --key-from 'command:pass show llm/gateway-key'
ccam add mac --api --key-from 'command:security find-generic-password -s anthropic-api -w'
ccam gw -p "summarise the open issues"
ccam list$ ccam list
# Name Shortcut Email Shared Last used
* 1 personal - me@example.com mcp settings md ext 2h ago
2 gw - (API: llm.example.com) mcp settings md ext -حساب کلید API، مانند هر حساب دیگری، تنظیمات، CLAUDE.md، افزونهها و سرورهای MCP را به اشتراک میگذارد و با میانبرها، ccam folder و ccam ext کار میکند.
گزینهها
| گزینه | کاری که انجام میدهد | پیشفرض |
|---|---|---|
--api |
به جای ورود، یک حساب کلید API اضافه میکند | خاموش |
--key-from env:NAME |
کلید را از متغیر محیطی NAME میخواند |
|
--key-from command:COMMAND |
COMMAND را اجرا میکند (با sh -c، یا در Windows با cmd /C) و نخستین خطی را که چاپ میکند به کار میبرد |
|
--base-url <url> |
نقطه پایانی (ANTHROPIC_BASE_URL) |
API شرکت Anthropic |
--auth api-key|bearer |
کلید را بهعنوان ANTHROPIC_API_KEY (x-api-key) یا ANTHROPIC_AUTH_TOKEN (Authorization: Bearer، که درگاهها معمولاً میخواهند) میفرستد |
api-key |
--model <model> |
مدل (ANTHROPIC_MODEL) |
پیشفرض Claude Code |
تنظیمات در config.toml ذخیره میشوند:
[[profile]]
name = 'gw'
slot = 2
[profile.api]
base_url = 'https://llm.example.com'
key_from = 'command:pass show llm/gateway-key'
auth = 'bearer'
model = 'claude-sonnet-5-5'سازوکار
در هر اجرای حساب، پس از بررسیهای معمول و پیش از آغاز Claude Code:
- ccam کلید را میخواند:
env:از محیط، وcommand:با اجرای فرمان با محدودیت ۳۰ ثانیه. فرمان میتواند در ترمینال گذرواژه بخواهد؛ خروجی خطای آن هم به ترمینال میرود. کلید خالی اجرا را با پیامی متوقف میکند که میگوید کلید کجا انتظار میرفت. - هر متغیر بهارثرسیدهای را که تعیین میکند Claude Code چگونه وارد شود یا از کدام ارائهدهنده استفاده کند حذف میکند:
ANTHROPIC_API_KEY،ANTHROPIC_AUTH_TOKEN،CLAUDE_CODE_OAUTH_TOKEN،ANTHROPIC_BASE_URL،ANTHROPIC_MODEL،CLAUDE_CODE_USE_BEDROCK،CLAUDE_CODE_USE_VERTEXوCLAUDE_CODE_USE_FOUNDRY. کلیدی که در شل شما برای کار دیگری تنظیم شده نمیتواند به این حساب برسد، و ورود با اشتراک نمیتواند بر کلید آن غلبه کند. ANTHROPIC_BASE_URLوANTHROPIC_MODELرا در صورت داده شدن تنظیم میکند، و کلید را بهعنوانANTHROPIC_API_KEYیاANTHROPIC_AUTH_TOKEN.
حسابهایی که ورود با اشتراک دارند، مانند قبل، محیطی را که به ارث میبرند نگه میدارند. در یک نشست تعاملی، Claude Code ممکن است یک بار بپرسد که آیا از کلیدی که در محیط پیدا میکند استفاده کند یا نه.
ایمنی و موارد خاص
- کلید هرگز در
config.toml، حافظه نهان یا گزارش نوشته نمیشود، وccam --dry-run gwآن را نمیخواند: اجرای آزمایشی منبعcommand:را اجرا نمیکند. ccam add --apiمنبعenv:را بیدرنگ بررسی میکند و اگر متغیر خالی باشد هشدار میدهد؛ منبعcommand:نخستین بار هنگام اجرا اجرا میشود.ccam loginوccam logoutحساب کلید API را رد میکنند، چون ورودی ندارد.ccam doctorنقطه پایانی و منبع کلید آن را نشان میدهد و وقتی یک متغیرenv:خالی باشد هشدار میدهد.ccam usageبرای آنAPIنشان میدهد.ccam next --auto،--fallbackوccam pickفقط از میان حسابهای اشتراکی انتخاب میکنند، چون کلید API سقف ۵ ساعته یا هفتگیای برای مقایسه ندارد.- یک
settings.jsonمشترک که بلوکenvیاapiKeyHelperدارد، روی همه حسابهای گروه اعمال میشود، از جمله حسابهای کلید API. تنظیمات ارائهدهنده را بیرون از تنظیمات مشترک نگه دارید.