Документация
Общие MCP-серверы, настройки и история
Эта страница переведена с английского машинным способом. Исправления приветствуются. Редактировать эту страницу на GitHub
На этой странице
Каждый аккаунт сохраняет собственный вход. Всё остальное можно сделать общим по отдельным элементам: ccam связывает файл или папку аккаунта с папкой общей группы, поэтому изменение, сделанное в одном аккаунте, появляется во всех аккаунтах этой группы.
Что можно сделать общим
| Элемент | Параметр | Что становится общим |
|---|---|---|
| MCP-серверы | --mcp |
mcp.json группы, передаётся в Claude Code при запуске |
| Настройки | --settings |
settings.json: права доступа, хуки, модель, строка состояния |
| Глобальная память | --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:
- выводит план со всеми файлами, которые он переместит, скопирует или свяжет, и спрашивает подтверждение перед началом;
- перемещает файлы аккаунта в папку группы, если группа ещё пуста, или добавляет файлы, которых в группе пока нет;
- если один и тот же файл отличается, спрашивает, оставить версию группы, использовать вашу или объединить JSON;
- сохраняет ваш оригинал в
.ccam-backup/<time>/внутри папки аккаунта; - заменяет оригинал ссылкой на группу.
Файлы разговоров называются по идентификатору сессии, поэтому истории из нескольких аккаунтов объединяются без конфликтов.
ccam не меняет общий доступ, пока Claude Code работает от имени аккаунта, потому что сессия продолжает записывать в перемещаемые файлы. Сначала завершите её.
Отключение общего доступа
ccam share work --history offСсылка удаляется, и аккаунт получает собственную копию текущего содержимого группы. Добавьте --fresh, чтобы вместо этого начать с пустого состояния. Группа сохраняет своё содержимое для остальных аккаунтов.
Копирование существующей настройки
Если вы пользовались Claude Code до ccam, ваши настройки находятся в ~/.claude. ccam migrate копирует их в группу, чтобы их получил каждый аккаунт, который делит эти элементы:
ccam migrateВ терминале ccam сначала показывает список элементов с флажками. Отмечено всё, кроме истории разговоров; нажмите Пробел, чтобы изменить элемент, и 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 или хранят данные входа в Связке ключей 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, хранят свои токены вместе с данными входа аккаунта, поэтому авторизуйте их по одному разу в каждом аккаунте или скопируйте данные входа из ~/.claude командой ccam migrate.
Если вы предпочитаете, чтобы серверы отображались в claude mcp list и /mcp как обычные пользовательские серверы, задайте mcp_strategy = "sync" в ~/.config/ccam/config.toml. Тогда ccam перед запуском записывает их в .claude.json каждого аккаунта, используя ту же блокировку файла, что и сам Claude Code, и сохраняя резервную копию.
Два аккаунта в одной папке
Аккаунты с общей историей разговоров пишут в одни и те же файлы. Если вы запускаете второй Claude Code в папке, где уже работает другой аккаунт той же группы, ccam предупреждает вас и спрашивает, продолжать ли.
Если что-то сломалось
ccam doctor
ccam doctor --fixЕсли общий путь стал обычным файлом, например после того как вы вручную восстановили резервную копию, ccam останавливается до запуска Claude Code и указывает на ccam doctor --fix, который объединяет файл с группой и сохраняет резервную копию.