Remote Control z ccam
Ta strona została przetłumaczona maszynowo z angielskiego. Poprawki są mile widziane. Edytuj tę stronę na GitHub
ccam work rc uruchamia Remote Control z Claude Code jako konto work, dzięki czemu możesz sterować sesjami na tym komputerze z claude.ai/code albo z mobilnej aplikacji Claude. Działa tak jak claude rc, z jedną różnicą: jeśli konto współdzieli serwery MCP, ccam raz pyta, czy skopiować je do .claude.json konta, bo sesje Remote Control nie odczytują serwerów z żadnego innego miejsca.
Uruchamianie
ccam work rc # Remote Control as the account work
ccam 2 rc # the account with number 2 (see ccam list)
ccam work remote-control # the long name of the same command
ccam work rc --name laptop # options after rc go to Remote Control
ccam work rc --spawn worktree # each new session in its own git worktree
ccam --dry-run work rc # print the command instead of running itSkrót działa tak samo: ccwork rc to to samo co ccam work rc. Uruchom polecenie w folderze, w którym chcesz pracować, a potem otwórz claude.ai/code albo aplikację Claude zalogowaną na to samo konto Claude co work.
Opcje
Spotykają się tu dwa rodzaje opcji: opcje ccam, które podaje się przed nazwą konta albo ustawia w konfiguracji ccam, oraz opcje Remote Control, które podaje się po rc i które trafiają do Claude Code bez zmian.
Opcje i ustawienia ccam
| Opcja lub ustawienie | Działanie | Domyślnie |
|---|---|---|
--dry-run (przed kontem) |
Wypisuje środowisko i polecenie oraz komunikat o MCP, jeśli występuje. Niczego nie pyta ani nie kopiuje | wyłączone |
Copy them into .claude.json (a backup is kept)? [y/N] |
Pytanie pojawia się, gdy konto współdzieli serwery MCP, a w jego .claude.json brakuje bieżącej listy grupy. y je kopiuje, N lub Enter uruchamia bez nich |
N |
mcp_strategy = "sync" w ~/.config/ccam/config.toml |
Kopiuje serwery grupy do .claude.json przed każdym uruchomieniem, niezależnie od tego, czy to Remote Control, więc nic nie jest pytane |
"flag" |
ccam share work --mcp off |
Przestaje współdzielić serwery MCP z kontem; Remote Control startuje wtedy tylko z własnymi serwerami konta i o nic nie pyta | włączone |
Opcje Remote Control
Wszystko po rc należy do Claude Code. Oto opcje claude remote-control w Claude Code 2.1.304; ccam work rc --help wypisuje listę dla Twojej wersji.
| Opcja | Działanie |
|---|---|
--name <name> |
Nazwa sesji wyświetlana w claude.ai/code |
--remote-control-session-name-prefix <prefix> |
Prefiks generowanych nazw sesji (domyślnie: nazwa hosta) |
-c, --continue |
Ponownie łączy się z sesją, którą Remote Control ostatnio zapisał dla tego folderu, w ciągu mniej więcej 4 godzin |
--session-id <id> |
Ponownie łączy się z konkretną sesją |
--permission-mode <mode> |
Tryb uprawnień nowych sesji: acceptEdits, auto, bypassPermissions, default, dontAsk lub plan |
--spawn <mode> |
same-dir (domyślnie), worktree (osobny git worktree dla każdej sesji) lub session (jedna sesja, kończy działanie razem z nią) |
--capacity <N> |
Maksymalna liczba jednoczesnych sesji w trybach same-dir i worktree (domyślnie 32) |
--[no-]create-session-in-dir |
Tworzy na starcie pierwszą sesję w bieżącym folderze (domyślnie włączone) |
--[no-]chrome |
Claude in Chrome w nowych sesjach (domyślnie wyłączone) |
-d, --debug, --debug-file <path>, -v, --verbose |
Wyjście diagnostyczne i szczegółowe |
Podawaj rc zaraz po nazwie konta. ccam traktuje pierwszy argument, który nie zaczyna się od -, jako polecenie Claude Code, więc w ccam work rc --name laptop widzi rc, ale w ccam work --model opus rc widzi opus.
Co robi ccam
Uruchomienie przebiega zwykłą ścieżką (Uruchamianie Claude Code) z jedną zmianą w kroku MCP:
ccam znajduje konto, sprawdza jego linki współdzielenia i odnajduje
claude, jak przy każdym uruchomieniu.Widzi, że polecenie to
rclubremote-control, i pomija--mcp-config.Jeśli konto współdzieli serwery MCP, porównuje
mcp.jsongrupy zsync-stampw~/.local/state/ccam/mcp/work/. Gdy.claude.jsonzawiera już bieżące serwery albo grupa nie ma żadnych, przechodzi od razu do kroku 6.W przeciwnym razie wymienia serwery, których zabrakłoby w sesjach:
$ ccam work rc ccam: Remote Control sessions only get MCP servers stored in account work's .claude.json, not the shared MCP servers (ctx, fs). Copy them into .claude.json (a backup is kept)? [y/N]Po odpowiedzi
yzapisuje kopię zapasową.claude.json, bierze własną blokadę Claude Code, dodaje serwery grupy domcpServersi zachowuje pozostałe serwery konta. Po odpowiedziN, bez terminala albo gdy konto działa, niczego nie zmienia i informuje o tym:Starting without them. To copy them before every launch instead, set mcp_strategy = "sync" in ~/.config/ccam/config.tomlRejestruje sesję, ustawia
CLAUDE_CONFIG_DIRna folder konta i zastępuje się procesemclaude rcprzezexec.
Od tej chwili Remote Control działa jako serwer. Każda sesja, którą dla Ciebie uruchamia, jest procesem potomnym tego procesu, więc działa jako work: z loginem, ustawieniami i historią rozmów work oraz w ramach limitu użycia work. Dopóki serwer działa, ccam traktuje konto jako działające.
Próbne uruchomienie pokazuje różnicę. Zwykłe uruchomienie przekazuje serwery grupy jako argument, a Remote Control nie:
$ ccam --dry-run work
CLAUDE_CONFIG_DIR=/home/me/.local/share/ccam/profiles/work /home/me/.local/bin/claude --mcp-config=/home/me/.local/share/ccam/groups/default/mcp.json
$ ccam --dry-run work rc
ccam: Remote Control sessions only get MCP servers stored in account work's .claude.json, not the shared MCP servers (ctx, fs).
Starting without them. To copy them before every launch instead, set mcp_strategy = "sync" in ~/.config/ccam/config.toml
CLAUDE_CONFIG_DIR=/home/me/.local/share/ccam/profiles/work /home/me/.local/bin/claude rcDlaczego to tak działa
Remote Control nie przyjmuje --mcp-config. Przy zwykłych uruchomieniach ccam przekazuje serwery grupy do Claude Code jako --mcp-config=<path> i nigdy nie zapisuje plików Claude Code. claude remote-control odrzuca tę opcję przed nazwą swojego polecenia i nie przyjmuje jej po niej, więc przed ccam 0.6.0 ccam work rc kończyło się błędem na każdym koncie, które współdzieliło serwery MCP. Teraz ccam pomija tę opcję.
Jego sesje odczytują serwery tylko z .claude.json. Sesje uruchamiane przez Remote Control nie dziedziczą opcji z wiersza poleceń. Jedynym miejscem, w którym znajdują serwery MCP użytkownika, jest .claude.json konta. Ten plik przechowuje też dane logowania konta i stan poszczególnych folderów, więc ccam nie może podlinkować go do współdzielonej kopii, tak jak robi to z settings.json. Skopiowanie do niego serwerów to jedyny sposób, by przekazać sesjom współdzieloną listę.
ccam pyta przed zapisem. Przy domyślnej strategii flagi ccam obiecuje nie ruszać .claude.json. Remote Control to jedyny przypadek, w którym musi tam coś zapisać, więc najpierw pyta, robi kopię zapasową i nie zmienia niczego poza mcpServers.
Nie zapisuje, gdy konto działa. Claude Code przepisuje .claude.json w trakcie sesji, a zmiana wprowadzona z zewnątrz zostałaby utracona albo nadpisana. Dlatego ccam pomija kopiowanie, gdy działa jakakolwiek sesja konta, w tym inny serwer Remote Control.
Pyta raz przy każdej zmianie. Po skopiowaniu sync-stamp przechowuje czas modyfikacji mcp.json grupy. ccam pyta ponownie dopiero wtedy, gdy ten plik się zmieni, na przykład po ccam mcp add. Jeśli odpowiesz N, kopii jeszcze nie ma, więc pytanie pojawia się przy każdym uruchomieniu Remote Control.
ccam mcp utrzymuje kopie w aktualnym stanie. Przy kolizji nazw wpis w .claude.json wygrywa z --mcp-config, więc stara kopia przesłoniłaby nowszą definicję także przy zwykłych uruchomieniach. Dlatego ccam mcp add, add-json, remove i import aktualizują kopie na każdym koncie, które nie działa:
$ ccam mcp add ctx --url https://mcp.context7.com/mcp
✓ ctx added in group default — applies from the next launch
✓ Updated the copy in account work's .claude.json (made for Remote Control)Bez terminala odpowiedź brzmi „nie”. Remote Control często działa ze skryptu, jako usługa albo przez nohup, gdzie nikt nie może odpowiedzieć. ccam uruchamia się wtedy bez serwerów, zamiast czekać.
Problemy i rozwiązania
W sesjach Remote Control brakuje współdzielonych serwerów MCP
Na pytanie odpowiedziano N, nie było terminala albo konto działało. Zatrzymaj Remote Control, zamknij pozostałe sesje konta i ponownie uruchom ccam work rc w terminalu; odpowiedz y. Aby nigdy nie widzieć tego pytania, ustaw mcp_strategy = "sync" w ~/.config/ccam/config.toml. Serwery w sesji nie zmieniają się w trakcie jej działania, więc po skopiowaniu rozpocznij nową sesję.
"Account work is running, so its .claude.json is left alone"
Sesja work jest wciąż otwarta: zwykłe ccam work, skrót albo inny serwer Remote Control. Zakończ ją i ponownie uruchom ccam work rc. Sesje innego konta się nie liczą.
ccam pyta za każdym razem
Serwery nie zostały jeszcze skopiowane. Odpowiedz raz y albo ustaw mcp_strategy = "sync". Jeśli nigdy nie chcesz mieć tych serwerów w Remote Control, przestań współdzielić MCP z kontem: ccam share work --mcp off.
ccam work rc od razu kończy się błędem dotyczącym --mcp-config
Twój ccam jest starszy niż 0.6.0 i przekazuje --mcp-config do Remote Control. Uruchom ccam update. Ten sam błąd w aktualnym ccam oznacza, że przed rc znalazła się opcja z wartością, jak w ccam work --model opus rc, więc ccam uznał opus za polecenie; podaj rc zaraz po nazwie konta.
Zmiana wprowadzona przez ccam mcp nie dociera do Remote Control
ccam mcp add i remove aktualizują kopie tylko na kontach, które nie działają, i informują o tym: Note: account work is running, so the copy in its .claude.json stays as it was until its next Remote Control launch. Zatrzymaj Remote Control i uruchom go ponownie; ccam zauważy zmieniony mcp.json i znów zapyta.
Kopia zastąpiła mój własny serwer
Jeśli konto miało własny serwer o tej samej nazwie co serwer grupy, kopia go zastąpiła. Poprzedni .claude.json jest w ~/.local/state/ccam/mcp/work/backups/, gdzie przechowywanych jest pięć najnowszych kopii. Aby zachować swoją wersję dla wszystkich kont, przenieś ją do grupy przez ccam mcp import work <server> --force przed następnym uruchomieniem Remote Control.
Chcę usunąć skopiowane serwery
ccam mcp remove <server> usuwa serwer z grupy i ze wszystkich kopii. Aby wrócić do stanu sprzed kopiowania, przywróć najnowszą kopię zapasową z ~/.local/state/ccam/mcp/work/backups/, gdy nie działa żadna sesja konta.
Remote Control pyta, czy ufać folderowi, albo kończy działanie bez terminala
Zaufanie do folderów jest zapisywane osobno dla każdego konta w .claude.json, więc folder zaufany jako personal jest dla work nowy. Uruchom raz ccam work w tym folderze i zaakceptuj, a potem uruchom tam Remote Control.
"You must be logged in with a Claude account that has a subscription"
Remote Control wymaga logowania na konto z subskrypcją Claude. Sprawdź adres e-mail konta w ccam list i w razie potrzeby zaloguj się ponownie przez ccam login work.
Sesja nie pojawia się na telefonie
Aplikacja Claude lub claude.ai/code jest zalogowana na inne konto Claude. Porównaj je z adresem e-mail, który ccam list pokazuje dla work.
ccam ostrzega, że inny Claude Code współdzieli historię rozmów w tym folderze
W tym samym folderze działa inne konto z tej samej grupy historii. Sesje kontynuujące tę samą rozmowę z obu kont mogą wymieszać historię. Odpowiedz y tylko wtedy, gdy będą pracować nad różnymi rozmowami, albo uruchom Remote Control w innym folderze.