مستندات

اشتراک‌گذاری سرورهای MCP، تنظیمات و تاریخچه

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

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

در این صفحه

هر حساب ورود خود را جداگانه نگه می‌دارد. همه چیزهای دیگر را می‌توان مورد به مورد به اشتراک گذاشت: ccam فایل یا پوشه حساب را به پوشه یک گروه مشترک پیوند می‌دهد، بنابراین تغییری که در یک حساب ایجاد شود در همه حساب‌های آن گروه دیده می‌شود.

چه چیزهایی را می‌توان به اشتراک گذاشت

مورد گزینه آنچه مشترک می‌شود
سرورهای MCP --mcp فایل mcp.json گروه که هنگام اجرا به Claude Code داده می‌شود
تنظیمات --settings settings.json: مجوزها، hookها، مدل، خط وضعیت
حافظه سراسری --memory CLAUDE.md
افزونه‌ها --extensions agents/، commands/، skills/، plugins/، output-styles/، rules/
تاریخچه گفتگو --history projects/ و history.jsonl

حساب‌های جدید همه چیز را به جز تاریخچه گفتگو به اشتراک می‌گذارند.

فایل‌های ورود .credentials.json و .claude.json هرگز به اشتراک گذاشته نمی‌شوند. ccam فقط مسیرهای یک فهرست ثابت را پیوند می‌دهد و این دو فایل در آن فهرست نیستند.

گروه‌ها

on یعنی گروه default. می‌توانید یک نام هم بدهید تا فقط برخی از حساب‌ها یک مورد را با هم به اشتراک بگذارند:

ccam share work --history team
ccam share side --history team

اکنون work و side گفتگوها را با یکدیگر به اشتراک می‌گذارند، اما با حساب‌های دیگر شما نه.

روشن کردن اشتراک‌گذاری

وقتی یک حساب اشتراک‌گذاری یک مورد را آغاز می‌کند، ccam:

  1. برنامه‌ای از همه فایل‌هایی که جابه‌جا، کپی یا پیوند خواهد داد چاپ می‌کند و پیش از شروع از شما می‌پرسد؛
  2. اگر گروه هنوز خالی باشد، فایل‌های حساب را به پوشه گروه منتقل می‌کند، وگرنه فایل‌هایی را که گروه هنوز ندارد اضافه می‌کند؛
  3. وقتی یک فایل در دو طرف متفاوت باشد، می‌پرسد که نسخه گروه نگه داشته شود، نسخه شما استفاده شود یا JSON آن‌ها ادغام شود؛
  4. نسخه اصلی شما را در .ccam-backup/<time>/ داخل پوشه حساب نگه می‌دارد؛
  5. نسخه اصلی را با پیوندی به گروه جایگزین می‌کند.

نام فایل‌های گفتگو از شناسه نشست آن‌ها گرفته می‌شود، بنابراین تاریخچه چند حساب بدون تداخل با هم ترکیب می‌شود.

تا وقتی Claude Code با آن حساب در حال اجراست، ccam اشتراک‌گذاری را تغییر نمی‌دهد، چون نشست همچنان در فایل‌هایی که جابه‌جا می‌شوند می‌نویسد. ابتدا آن را ببندید.

خاموش کردن اشتراک‌گذاری

ccam share work --history off

پیوند حذف می‌شود و حساب یک نسخه از محتوای فعلی گروه را برای خودش می‌گیرد. برای اینکه به‌جای آن از صفر شروع کنید، --fresh را اضافه کنید. گروه محتوای خود را برای حساب‌های دیگر نگه می‌دارد.

کپی کردن یک پیکربندی موجود

اگر پیش از ccam از Claude Code استفاده کرده‌اید، تنظیمات شما در ~/.claude است. ccam migrate آن‌ها را در یک گروه کپی می‌کند تا همه حساب‌هایی که این موارد را به اشتراک می‌گذارند آن‌ها را داشته باشند:

ccam migrate

در ترمینال، ccam ابتدا فهرستی از موارد را برای انتخاب نشان می‌دهد. همه چیز به جز تاریخچه گفتگو علامت خورده است؛ برای تغییر یک مورد Space و برای دیدن برنامه Enter را بزنید. مواردی که پوشه چیزی برایشان ندارد با not found مشخص می‌شوند.

چه چیزهایی کپی می‌شود:

  • settings.json و فایل سراسری CLAUDE.md؛
  • افزونه‌های agents/، commands/، skills/، plugins/، output-styles/ و rules/؛
  • سرورهای MCP کاربر، یعنی بخش mcpServers در ~/.claude.json، به فایل mcp.json گروه؛
  • ورودهای ذخیره‌شده (OAuth) سرورهای MCP که کپی می‌کند، در فایل ورود خود هر حساب؛
  • تاریخچه گفتگو (projects/ و history.jsonl)، اما فقط وقتی --history را اضافه کنید.

پوشه مبدأ فقط خوانده می‌شود: هیچ چیزی در آن جابه‌جا، پیوند یا تغییر داده نمی‌شود و claude معمولی مثل قبل کار می‌کند. فایل‌های ورود .credentials.json و .claude.json هرگز در گروه کپی نمی‌شوند.

سرورهای MCP که با OAuth وارد می‌شوند توکن‌های خود را در اطلاعات ورود نگه می‌دارند، نه در فهرست سرورها. برای اینکه لازم نباشد دوباره وارد آن‌ها شوید، ccam این ورودها را در فایل ورود هر حسابی که سرورها را از طریق گروه دریافت می‌کند کپی می‌کند، مگر اینکه آن حساب ورودهای خودش را داشته باشد. حساب‌هایی را که در حال اجرا هستند، هنوز وارد نشده‌اند، با ccam import در همان محل ثبت شده‌اند یا اطلاعات ورودشان را در Keychain سیستم macOS نگه می‌دارند رد می‌کند و نامشان را می‌گوید؛ در آن حساب‌ها با /mcp وارد سرورها شوید. حسابی که بعداً اشتراک سرورهای MCP را شروع کند، با اجرای دوباره ccam migrate ورودها را دریافت می‌کند.

ccam پیش از کپی کردن هر چیزی، برنامه را چاپ می‌کند و از شما می‌پرسد:

$ ccam migrate
Copy from /home/me/.claude into group default (/home/me/.local/share/ccam/groups/default):
  mcp         ~/.claude.json  new: context7, fs
  settings    settings.json   new: 80 B
  memory      CLAUDE.md       new: 31 B
  extensions  agents/         add 1 file the group lacks (17 B)
              commands/       add 1 file the group lacks (15 B)
              skills/         add 1 file the group lacks (32 B)
              not found, skipped: plugins/, output-styles/, rules/
  Conversation history (projects/, history.jsonl) is not included; add --history to copy it.
Copy these into group default? [y/N] y
✓ Copied into group default: 2 MCP servers, settings.json, CLAUDE.md, agents/, commands/, skills/
Accounts that share these through group default:
  mcp         personal
  settings    personal
  memory      personal
  extensions  personal

در پایان، ccam حساب‌هایی را که هر مورد را از طریق گروه به اشتراک می‌گذارند فهرست می‌کند. اگر برخی حساب‌ها این کار را نکنند، فرمان‌های ccam share را که اشتراک‌گذاری را برای آن‌ها روشن می‌کنند چاپ می‌کند.

وقتی گروه از قبل نسخه متفاوتی از یک فایل دارد، ccam همان‌طور که هنگام روشن کردن اشتراک‌گذاری می‌پرسد، از شما می‌پرسد: نسخه گروه نگه داشته شود یا نسخه شما استفاده شود. settings.json و دیگر فایل‌های JSON را می‌توان ادغام هم کرد و history.jsonl را خط به خط. نسخه‌های قبلی گروه در .ccam-backup/<time>/ درون پوشه گروه ذخیره می‌شوند.

گزینه اثر
--settings، --memory، --extensions، --mcp، --history فقط مواردی را که نام می‌برید کپی می‌کند، بدون فهرست انتخاب؛ بدون آن‌ها و بیرون از ترمینال، همه چیز به جز تاریخچه گفتگو
-g، --group <group> به‌جای default در این گروه کپی می‌کند
-y، --yes بدون پرسش کپی می‌کند؛ وقتی فایلی متفاوت باشد، نسخه گروه را نگه می‌دارد

--dry-run را پیش از فرمان بگذارید، مانند ccam --dry-run migrate، تا برنامه را بدون کپی کردن چیزی ببینید. برای کپی از پوشه‌ای دیگر، نام آن را بدهید: ccam migrate ~/.claude-work --group work.

سرورهای MCP

Claude Code سرورهای MCP را همراه با اطلاعات ورود در .claude.json ذخیره می‌کند، بنابراین نمی‌توان آن فایل را به اشتراک گذاشت. ccam سرورهای مشترک را در mcp.json گروه نگه می‌دارد و Claude Code را با --mcp-config=<group>/mcp.json اجرا می‌کند. گزینه‌های --mcp-config خود شما همچنان روی آن اعمال می‌شوند.

ccam mcp add fs -- npx -y @modelcontextprotocol/server-filesystem ~/code
ccam mcp list

سروری که داخل یک نشست با claude mcp add اضافه کنید فقط برای همان حساب ذخیره می‌شود. دفعه بعد که آن حساب را اجرا کنید، ccam نام سرور و فرمانی را که آن را به گروه منتقل می‌کند نشان می‌دهد:

ccam mcp import work gh

اگر گروه از قبل سرور دیگری با همین نام داشته باشد، ccam آن را رد می‌کند و این را اعلام می‌کند. --force سرور گروه را جایگزین می‌کند و mcp.json قدیمی را در پوشه .ccam-backup/ گروه نگه می‌دارد.

سرورهای MCP که با OAuth وارد می‌شوند توکن‌های خود را کنار اطلاعات ورود حساب ذخیره می‌کنند، پس باید در هر حساب یک بار به آن‌ها مجوز بدهید، یا ورودها را با ccam migrate از ~/.claude کپی کنید.

اگر ترجیح می‌دهید سرورها در claude mcp list و /mcp به شکل سرورهای عادی کاربر دیده شوند، در ~/.config/ccam/config.toml مقدار mcp_strategy = "sync" را تنظیم کنید. در این حالت ccam پیش از اجرا، آن‌ها را با استفاده از قفل فایل خود Claude Code و با نسخه پشتیبان در .claude.json هر حساب می‌نویسد.

دو حساب در یک پوشه

حساب‌هایی که تاریخچه گفتگو را به اشتراک می‌گذارند در فایل‌های یکسانی می‌نویسند. اگر Claude Code دومی را در پوشه‌ای اجرا کنید که حساب دیگری از همان گروه در آن در حال اجراست، ccam به شما هشدار می‌دهد و می‌پرسد که ادامه دهد یا نه.

وقتی چیزی خراب می‌شود

ccam doctor
ccam doctor --fix

اگر یک مسیر مشترک به فایل عادی تبدیل شده باشد، برای مثال پس از آنکه یک نسخه پشتیبان را دستی بازگردانده‌اید، ccam پیش از اجرای Claude Code متوقف می‌شود و شما را به ccam doctor --fix ارجاع می‌دهد؛ این فرمان فایل را در گروه ادغام می‌کند و یک نسخه پشتیبان نگه می‌دارد.