مقایسه‌ها

ccam و دیگر ابزارهای تعویض حساب Claude Code

نوشته jhyunwoo
آخرین به‌روزرسانی: ۲۸ مهر ۱۴۰۵
بررسی‌شده با ccam 0.8.0 و Claude Code 2.1.302

این صفحه به‌صورت ماشینی از انگلیسی ترجمه شده است. پیشنهاد اصلاح را با کمال میل می‌پذیریم. ویرایش این صفحه در GitHub

در این صفحه

ابزارهای تعویض حساب Claude Code یکی از دو روش را به کار می‌برند. بیشترشان ورود را داخل تنها پوشه ~/.claude عوض می‌کنند، پس در هر لحظه فقط یک حساب فعال است. برخی دیگر، از جمله ccam، با CLAUDE_CONFIG_DIR به هر حساب پوشه خودش را می‌دهند، پس هر حساب وارد‌شده باقی می‌ماند و چند حساب می‌توانند هم‌زمان اجرا شوند. ccam اشتراک تنظیمات و سرورهای MCP را هم اضافه می‌کند و یک گفتگو را در پوشه حساب دیگری ادامه می‌دهد.

تعویض یک ورود یا پوشه‌های جداگانه؟

تعویض ورود یک مجموعه تنظیمات، سرورهای MCP و تاریخچه را نگه می‌دارد، چون فقط یک پوشه وجود دارد. جابه‌جایی سریع است و نشستی که در حال اجراست می‌تواند ورود جدید را بگیرد. اما در هر لحظه فقط یک حساب فعال است، آن هم برای همه ترمینال‌ها و ویرایشگرها با هم.

برای تعویض، ابزار از ورود هر حساب دیگر یک نسخه نگه می‌دارد و آن را سر جایش می‌نویسد. Claude Code هر بار که ورود را تمدید می‌کند توکن تمدید (refresh token) آن را عوض می‌کند، پس هر نسخه ذخیره‌شده باید با نشست‌های در حال اجرا هماهنگ بماند. حساب‌هایی که پس از تعویض از حساب خارج می‌شوند یا دوباره به /login نیاز دارند، از رایج‌ترین مشکلاتی هستند که این پروژه‌ها رفع می‌کنند.

پوشه‌های جداگانه همان روشی است که مستندات Claude Code شرح می‌دهد. هر حساب وارد‌شده باقی می‌ماند و می‌توانید یک نشست کاری و یک نشست شخصی را کنار هم اجرا کنید. هر ورود در پوشه خودش می‌ماند و Claude Code طبق معمول آن را همان‌جا تمدید می‌کند. بهای آن این است که هر پوشه با تنظیمات، سرورهای MCP و تاریخچه خودش شروع می‌شود، مگر اینکه ابزاری آن‌ها را مشترک کند.

مقایسه ابزارها

برگرفته از مستندات و کد منبع خود هر پروژه در تاریخ 2026-10-20 (clausona: v0.12.0-beta). «مستند نشده» یعنی پروژه چیزی در این باره نمی‌گوید، نه اینکه آن قابلیت وجود ندارد.

ابزار روش چند حساب هم‌زمان مصرف ۵ ساعته و هفتگی وقتی به سقف می‌رسد سیستم‌ها
ccam پوشه‌های جداگانه بله بله، ccam usage شما ccam next --auto --continue را اجرا می‌کنید تا گفتگو در حسابی با بیشترین ظرفیت ادامه یابد؛ ccam --fallback کارهای -p را خودش در آنجا دوباره اجرا می‌کند و ccam pick کارگرها را میان حساب‌ها پخش می‌کند Linux، macOS، Windows
claude-swap ورود را عوض می‌کند؛ پوشه‌های جداگانه با cswap run بله، با cswap run بله cswap auto در یک آستانه ورود را عوض می‌کند؛ نشست در حال اجرا ادامه می‌یابد Linux، macOS، Windows
CCS پوشه‌های جداگانه بله تا حدی استخر حساب‌ها درخواست‌ها را از طریق یک پراکسی محلی به حساب بعدی می‌فرستد Linux، macOS، Windows
clausona پوشه‌های جداگانه بله بله مسیرها (routes) پیش از هر اجرا حسابی را که سهمیه دارد انتخاب می‌کنند، می‌توانند منتظر بازنشانی بمانند و به کارگرها حساب‌های متفاوت می‌دهند Linux، macOS، Windows
clauth ورود را عوض می‌کند؛ پوشه‌های جداگانه با clauth start بله، با clauth start بله در یک زنجیره پشتیبان به حساب بعدی می‌رود Linux، macOS، Windows
CAAM ورود را عوض می‌کند، یا پروفایل‌های ایزوله بله، با پروفایل‌های ایزوله بله caam run فرمان‌های غیرتعاملی را با حساب دیگری دوباره امتحان می‌کند Linux، macOS، Windows
cux ورود را عوض می‌کند و claude را در بر می‌گیرد خیر، یک حساب فعال بله ورود را عوض می‌کند و همان گفتگو را از سر می‌گیرد Linux، macOS، Windows
CCSwitcher ورود را عوض می‌کند خیر بله جابه‌جایی اختیاری در یک آستانه macOS
Claude Switcher ورود را عوض می‌کند خیر بله جابه‌جایی اختیاری در ۱۰۰٪ macOS

ccswap یک فورک از claude-swap است که ورودهای Codex را هم مدیریت می‌کند. claude-account، claude-multiprofile و claude-code-profiles هم به هر حساب پوشه خودش را می‌دهند. چند تا از این ابزارها عامل‌های کدنویسی دیگر، مانند Codex یا Gemini، را هم پشتیبانی می‌کنند.

چگونه ساخته شده‌اند

ابزار زبان هنگام اجرای Claude Code کپی ورودها بین جاها آنچه حساب‌ها می‌توانند مشترک کنند
ccam Go، یک فایل اجرایی ایستا هیچ: ccam خودش را با claude جایگزین می‌کند (در Windows که این کار ممکن نیست، منتظرش می‌ماند) خیر هر مورد جداگانه: محلی یا یک گروه نام‌دار، برای هر حساب
claude-swap Python 3.12 به بالا، نصب با uv یا pipx با cswap run هیچ؛ cswap auto و برنامه نوار منو در حال اجرا می‌مانند بله، وقتی ورود را عوض می‌کند با cswap run: تنظیمات، CLAUDE.md و افزونه‌ها با هم، تاریخچه اختیاری؛ سرورهای MCP در هر اجرا کپی می‌شوند
CCS Node.js 18 به بالا یا Bun CCS به‌عنوان فرایند والد می‌ماند؛ استخرها یک پراکسی محلی اضافه می‌کنند برای پوشه‌های حسابش خیر؛ استخرها ورودهای خودشان را نگه می‌دارند مشترک یا محلی برای هر حساب، تاریخچه در گروه‌های زمینه؛ سرورهای MCP کپی می‌شوند
clausona TypeScript، Node.js 20 به بالا claude ساده از طریق یک تابع شل اجرا می‌شود؛ clausona run فرایند Node را به‌عنوان والد نگه می‌دارد؛ پس از هر خروج یک فرایند Node در پس‌زمینه اجرا می‌شود خیر، اما توکن‌های حساب‌های بیکار را خودش تمدید می‌کند تا مصرفشان را بخواند همه چیز جز فایل‌های مخصوص هر حساب، از یک حساب اصلی؛ تاریخچه اختیاری؛ سرورهایی که با claude mcp add اضافه شده‌اند مشترک نمی‌شوند
clauth Rust clauth به‌عنوان فرایند والد می‌ماند بله، وقتی ورود را عوض می‌کند همه ~/.claude، یا هیچ
CAAM Go بسته به حالت؛ یک daemon اختیاری بله، در حالت vault بسته به حالت ثابت است؛ سرورهای MCP در هر اجرا کپی می‌شوند
cux Go یک پوشش (wrapper) دور claude می‌ماند بله همه چیز: یک پوشه
CCSwitcher، Claude Switcher برنامه‌های macOS (Swift، Python) برنامه نوار منو بله همه چیز: یک پوشه

نقاط قوت ccam

ورودها همان‌جا می‌مانند که Claude Code گذاشته است

ccam هرگز یک ورود Claude را از جایی به جای دیگر کپی نمی‌کند. ورود هر حساب در پوشه خودش می‌ماند، یا در macOS در مورد Keychain مخصوص همان پوشه، و برنامه‌ای که آن را تمدید می‌کند Claude Code است. هیچ نسخه ذخیره‌شده‌ای وجود ندارد که از هماهنگی خارج شود. یک ~/.claude موجود که با ccam import ثبت شود، همان مورد Keychain را نگه می‌دارد که claude معمولی استفاده می‌کند، پس در هر دو حالت وارد‌شده باقی می‌ماند.

ccam فقط وقتی ccam usage --refresh را اجرا کنید یک توکن منقضی‌شده را خودش تمدید می‌کند. اول یک قفل می‌گیرد و تا وقتی آن حساب در حال اجراست سر باز می‌زند، پس هرگز توکنی را زیر یک نشست زنده عوض نمی‌کند.

هیچ چیز بین شما و Claude Code اجرا نمی‌شود

ccam یک فایل را می‌خواند، پیوندهایش را بررسی می‌کند و خودش را با claude جایگزین می‌کند (exec). هنگام کار هیچ فرایند ccam، پوشش، پراکسی یا daemon وجود ندارد: ورودی استاندارد، سیگنال‌ها و کد خروج متعلق به Claude Code هستند و درخواست‌هایش مستقیم به Anthropic می‌روند. Windows نمی‌تواند یک فرایند را جایگزین کند، پس آنجا ccam برنامه Claude Code را با همان کنسول اجرا می‌کند و منتظر کد خروجش می‌ماند، بی‌آنکه کار دیگری انجام دهد.

اجرای یک حساب به این روش حدود 4 ms اضافه می‌کند، در صدک ۹۵ کمتر از 6 ms، با اوج حافظه 8 MB (scripts/perf-check.sh با hyperfine، ۳۰۰ اجرا). روی همان لپ‌تاپ، فقط راه‌اندازی مفسر Python ۱۳ میلی‌ثانیه و Node.js ۳۱ میلی‌ثانیه طول می‌کشد، پیش از آنکه برنامه‌ای کاری انجام دهد.

اشتراک مورد به مورد و حساب به حساب

سرورهای MCP، settings.json، CLAUDE.md، افزونه‌ها (agents، commands، skills، plugins) و تاریخچه گفتگو پنج مورد جداگانه‌اند. هر حساب هر مورد را روی local یا یک گروه تنظیم می‌کند، پس دو حساب کاری می‌توانند تاریخچه را در گروه work مشترک کنند، در حالی که یک حساب شخصی تاریخچه خودش را نگه می‌دارد، و هر سه از همان سرورهای MCP استفاده می‌کنند.

  • سرورهای MCP هنگام اجرا با --mcp-config داده می‌شوند، پس ccam به‌طور پیش‌فرض هرگز .claude.json را ویرایش نمی‌کند، فایلی که Claude Code در حین اجرا بازنویسی می‌کند. ccam mcp add یک سرور را یک بار برای کل گروه اضافه می‌کند.
  • موارد دیگر پیوندهایی به پوشه گروه هستند، پس تغییری که در یک حساب داده شود بلافاصله در بقیه دیده می‌شود. هنگام اجرا هیچ چیز کپی نمی‌شود.
  • ورودها، .claude.json و وضعیت در حال اجرا هرگز مشترک نمی‌شوند.

هر تغییر اول نشان داده و پشتیبان‌گیری می‌شود

ccam share و ccam migrate پیش از جابه‌جا کردن هر چیزی یک برنامه چاپ می‌کنند و می‌پرسند. وقتی فایلی بین یک حساب و گروهش فرق دارد، انتخاب با شماست: نسخه گروه را نگه دارید، نسخه خودتان را به کار ببرید یا JSON را ادغام کنید. نسخه‌های اصلی به .ccam-backup/<time>/ می‌روند، پوشه حساب حذف‌شده به یک پوشه زباله‌دان می‌رود و فایل‌ها با یک تغییر نام جایگزین می‌شوند، پس نوشتنی که نیمه‌کاره قطع شود فایل قدیمی را باقی می‌گذارد. --dry-run نشان می‌دهد اجرا، اشتراک، مهاجرت، میان‌برها، به‌روزرسانی‌ها و تعمیرها چه خواهند کرد. ccam doctor --fix پیوندها و مجوزهای خراب را تعمیر می‌کند.

همان گفتگو در حساب بعدی

با تاریخچه مشترک، ccam next --auto --continue مصرف همه حساب‌ها را هم‌زمان می‌پرسد، حسابی با بیشترین ظرفیت را باز می‌کند و گفتگو را ادامه می‌دهد. زمان جابه‌جایی را شما تعیین می‌کنید؛ ccam مصرف شما را در پس‌زمینه زیر نظر نمی‌گیرد. وقتی مصرف یک حساب به ۹۰٪ برسد، خط وضعیت این فرمان را پیشنهاد می‌کند.

اسکریپت‌ها نمی‌توانند منتظر شما بمانند، پس ccam --fallback work -p "…" به جای آن‌ها جابه‌جا می‌شود: وقتی حساب به سقفش برسد، همان فرمان دوباره با حسابی که بیشترین ظرفیت را دارد اجرا می‌شود و فقط خروجی اجرایی که به پایان رسیده چاپ می‌شود. خطایی که از سقف مصرف نباشد همان‌طور که هست منتقل می‌شود. برای کارگرهای موازی، ccam pick به هر کدام حساب متفاوتی می‌دهد که ظرفیت دارد، و هر دو فرمان وقتی هیچ حسابی ظرفیتی نداشته باشد با کد ۷۵ خارج می‌شوند.

حساب مناسب در هر پوشه

ccam folder work ~/code/company باعث می‌شود هر اجرای بدون نام حساب در آن پوشه از work استفاده کند، در حالی که بقیه پروژه‌های شما همان حساب پیش‌فرض را نگه می‌دارند. این تنظیم در همان config.toml است که هر اجرا می‌خواند، پس هیچ زمانی نمی‌گیرد.

یک فایل اجرایی، دانلودهای بررسی‌شده

ccam یک فایل اجرایی ایستا با حجم حدود 10 MB است و هیچ محیط اجرایی برای نصب نمی‌خواهد، برای Linux، macOS و Windows. اسکریپت‌های نصب (install.sh، install.ps1) و ccam update هر دانلود را با چک‌سام‌های SHA-256 نسخه منتشرشده بررسی می‌کنند و ccam هرگز خودش دنبال به‌روزرسانی نمی‌گردد. هیچ تله‌متری ندارد: تنها درخواست‌هایی که می‌فرستد، پرس‌وجوهای مصرف حساب‌های شما از Anthropic است، به‌صورت موازی با سقف زمانی ۳ ثانیه و حافظه نهان ۶۰ ثانیه‌ای، و دانلودهایی که خودتان درخواست می‌کنید.

جاهایی که ابزارهای دیگر بیشتر انجام می‌دهند

  • claude-swap، clauth، cux، CAAM و CCSwitcher می‌توانند وقتی مصرف یک حساب از آستانه بگذرد، یک نشست تعاملی در حال اجرا را خودشان جابه‌جا کنند. ccam اجراهای -p را با --fallback جابه‌جا می‌کند و نشست‌های تعاملی را به شما می‌سپارد.
  • در Windows بدون Developer Mode، ccam پوشه‌ها را مشترک می‌کند اما نمی‌تواند فایل‌های تکی مانند settings.json را مشترک کند؛ claude-swap و CCS در آنجا به جای آن کپی‌شان می‌کنند.
  • CCSwitcher، Claude Switcher و claude-swap مصرف را در نوار منوی macOS نشان می‌دهند.
  • CCS، clausona، CAAM، clauth، ccswap و Claude Switcher، Codex و دیگر عامل‌های کدنویسی را هم مدیریت می‌کنند.
  • clausona همچنین افزونه‌ها را برای هر حساب روشن و خاموش می‌کند (ccam ext در ccam فقط آن‌ها را نشان می‌دهد)، هزینه توکن را به‌صورت محلی دنبال می‌کند و پلاگین‌هایی برای Claude Code دارد که ناوگانی از کارگرها را در tmux و ترمینال‌های دیگر اجرا می‌کنند.
  • CAAM، CCSwitcher و Claude Switcher با Homebrew نصب می‌شوند و clauth و CAAM چک‌سام‌های نسخه‌هایشان را امضا می‌کنند. ccam با اسکریپت خودش، یک بسته .deb یا go install نصب می‌شود و چک‌سام‌ها را بدون امضا بررسی می‌کند.

کدام مناسب شماست؟

اگر در هر لحظه از یک حساب استفاده می‌کنید یا می‌خواهید نشست‌های در حال اجرا خودکار جابه‌جا شوند، ابزاری را انتخاب کنید که ورود را عوض می‌کند. اگر حساب‌ها را کنار هم، یک پیکربندی مشترک، همان گفتگو را در حساب بعدی و هیچ چیزی در کنار Claude Code در حال اجرا نمی‌خواهید، روی Linux، macOS یا Windows، ccam را انتخاب کنید. اگر به هیچ اشتراکی نیاز ندارید، نام‌های مستعار ساده شل کافی‌اند.

اینکه اجازه دارید از چند حساب استفاده کنید یا نه، به شرایط هر حساب بستگی دارد. پیش از این کار آن‌ها را بررسی کنید.