При codegraph init на большом репо первым крутится вентилятор ноутбука. Быстрее: CodeGraph и MCP на Cloud Mac — несколько команд по SSH; локальные Claude Code и Cursor без локального CLI и полного индекса.
Краткий путь: ssh root@zavcloud → brew install → codegraph init. Если читали CodeGraph для AI coding, здесь только какая машина и запуск за пять минут.
Итог
Граф на Cloud Mac, вопросы локально. Полный индекс не грузит MacBook; MCP даёт codegraph_impact перед public API.
Почему CodeGraph MCP на Cloud Mac?
CodeGraph создаёт .codegraph/; первый init -i нагружает CPU/NVMe. На ZavCloud Cloud Mac:
- Тот же macOS, что
xcodebuildи GitHub Actions runner; - Разработчикам нужен только SSH;
- Ночной индекс, днём read-only запросы.
Подготовка
- Активный Cloud Mac;
- Локальный терминал;
- Код на инстансе;
- Опционально Claude Code / Cursor.
Шаг 1: SSH на Cloud Mac
Скопируйте адрес из консоли, войдите как root:
# Example: replace zavcloud with your instance IP or hostname ssh root@zavcloud # Key-based login (recommended) ssh -i ~/.ssh/id_ed25519 root@203.0.113.10
При первом входе yes для отпечатка. Prompt — удалённый macOS, не ваш ноутбук.
Шаг 2: brew install
Нативный macOS + Homebrew — Node и CLI:
# Confirm Homebrew brew --version # Install Node if needed brew install node # Install CodeGraph CLI npm install -g @colbymchenry/codegraph codegraph --version
Официальный install.sh в той же SSH-сессии:
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh
Шаг 3: codegraph init
В корне репо — init и полный индекс:
cd ~/workspace/your-monorepo git pull # Init + index (first run may take 10–40 min) codegraph init -i # Confirm database codegraph status ls -la .codegraph/
Используйте tmux. .codegraph/codegraph.db остаётся на Cloud Mac.
Шаг 4: MCP
MCP на Cloud Mac (codegraph serve --mcp):
codegraph install --target=claude,cursor --yes # Foreground MCP (debug) codegraph serve --mcp
Без второго install локально.
- Remote на Cloud Mac: тот же
.codegraph; - Локальный agent + облачный граф через
ssh -L— без локального init.
Impact перед правками
В CLAUDE.md: codegraph_impact перед public API. Тест:
codegraph impact "YourService.method" --depth 3
Чеклист за 5 минут
| Проверка | Ожидание |
|---|---|
codegraph --version | Версия OK |
codegraph status | Число файлов |
| Список MCP | Инструменты codegraph |
| impact | Не пустой список |
Быстрые фиксы
- Нет MCP — reinstall;
- Пустой impact — init -i в корне;
- Обрыв SSH — tmux.
FAQ и практический troubleshooting
По частоте тикетов. SSH на Cloud Mac, репо в ~/workspace/your-repo.
SSH не работает: ssh root@zavcloud — таймаут или Permission denied
Симптом: Connection timed out, Permission denied (publickey) или сбой после запроса отпечатка.
Шаги:
- Замените
zavcloudна публичный IP из консоли (напр.ssh root@203.0.113.10). Неразрешённое имя → частый таймаут. - Права ключа локально:
ЛокальноВ
chmod 600 ~/.ssh/id_ed25519 ssh -v -i ~/.ssh/id_ed25519 root@YOUR_IP
-v:Offering public keyvsno mutual signature— ключ не привязан к инстансу. - IP доступен, пароль отклонён: Cloud Mac обычно на ключах. Сброс SSH в панели или VNC + удалённый вход.
- Порт 22 заблокирован в офисе: попробуйте раздачу с телефона; статический IPv4 у dedicated-инстансов упрощает whitelist.
Готово когда: Стабильная shell; uname -a показывает Darwin (macOS).
brew install или codegraph: command not found
Симптом: brew: command not found или после npm i -g нет codegraph --version.
Шаги:
- Путь Homebrew (Apple Silicon):
Cloud MacБез brew — установить Homebrew или
test -x /opt/homebrew/bin/brew && eval "$(/opt/homebrew/bin/brew shellenv)" brew --version
install.sh. - Глобальный npm bin в PATH:
Cloud MacСохраните
npm config get prefix export PATH="$(npm config get prefix)/bin:$PATH" which codegraph codegraph --version
export PATH=...в~/.zshrc. - Запасной вариант:
Альтернатива
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh exec $SHELL -l
Готово когда: which codegraph даёт путь; codegraph --version печатает версию.
codegraph init -i завис или индекс сломался после обрыва SSH
Симптом: Долго нет вывода; после disconnect codegraph status — не проиндексировано или БД повреждена.
Шаги:
- Индексацию всегда в tmux:
Cloud Mac · рекомендуется
brew install tmux tmux new -s codegraph cd ~/workspace/your-repo && codegraph init -i # After reconnect: tmux attach -t codegraph
- Место на диске:
df -h . du -sh .codegraph 2>/dev/null
- При порче БД: бэкап, удалить
.codegraph/в корне репо, сноваcodegraph init -i(не удалять во время работы). - Большие monorepo:
.codegraphignore— слишком много исключений → дыры в impact.
Готово когда: codegraph status файлов > 0; есть .codegraph/codegraph.db.
Claude Code / Cursor: нет инструментов CodeGraph MCP
Симптом: В списке MCP нет codegraph; agent не вызывает codegraph_impact.
Шаги:
- На Cloud Mac перезаписать MCP:
Проверить
codegraph install --target=claude,cursor --yes grep -A6 codegraph ~/.claude.json 2>/dev/null || cat ~/.claude.json
"command": "codegraph"иserve --mcp. - Полностью выйти из Claude Code / Cursor и открыть снова.
- Локальный agent + облачный граф:
Локально ~/.claude.jsonСначала вручную
{ "mcpServers": { "codegraph": { "type": "stdio", "command": "ssh", "args": ["root@YOUR_IP", "codegraph", "serve", "--mcp"] } } }ssh root@YOUR_IP codegraph serve --mcp. - Одобрение tools: разрешить
mcp__codegraph__*или правило вCLAUDE.md— impact перед public API.
Готово когда: Новый чат: tools codegraph или impact возвращает пути — не пусто / не только grep.
codegraph impact возвращает пустой список
Симптом: Вызывающие есть, но codegraph impact "Foo.bar" = 0 строк.
Шаги:
- Корень проиндексированного репо:
pwd codegraph status
- Имена символов по языку (Swift:
TypeName.method).codegraph_callersдля орфографии. - Устаревший индекс: на Cloud Mac
git pull && codegraph init -i. - Проверить, не исключает ли
.gitignoreкаталоги с вызовами.
Готово когда: Impact ≥1 путь для известного символа; результат ≥ ручного grep (косвенные вызовы).
Несколько репо на одном Cloud Mac / неверная папка
Симптом: Init в A, код в B; только у одного проекта в ~/workspace есть .codegraph/.
Шаги:
- В каждом корне репо свой
codegraph init -i— не общий родитель. - Перед agent
cdв нужный корень или Remote-SSH в эту папку. - Мало диска: полный индекс только для главного monorepo; ночной cron + tmux.
Готово когда: Корень workspace agent = каталог с .codegraph/codegraph.db.
Запросы к графу с ноутбука без локального init
Симптом: Нужен локальный MCP, но не 30 минут init на laptop.
Шаги:
- Индекс на Cloud Mac; синхронизировать только
.codegraph/:Локальноrsync -avz --progress root@YOUR_IP:~/workspace/your-repo/.codegraph/ ./your-repo/.codegraph/ - Локально
codegraph status;codegraph installдля MCP — второйinit -iне нужен.
Готово когда: Локальный codegraph status OK; MCP читает sync БД.
Команды часто rsyncят «золотой индекс» ночью с одного Cloud Mac.
Cloud Mac тормозит при индексации — конфликт с Xcode
Симптом: CPU на 100%; сборка и индекс на одном хосте.
Шаги:
caffeinate -dimsв tmux против сна.codegraph init -iночью или в off-peak; разнести сxcodebuild— см. ../openclaw-cloud-automation/openclaw-cloud-automation.html runner.- Полный CPU от
codegraphнормален; симулятор + индекс → второй Cloud Mac под индекс.
Готово когда: Индекс завершён, БД цела; дневная разработка/сборка приемлемы.
Что экономим vs локальный CodeGraph?
Не «облегчённый» граф — где CPU. Без локального Node и шума вентилятора. SSH и MCP остаются. CodeGraph & AI coding; Гайд большого репо (2026).
- Концепция— Пропуски правок Claude Code
- CI на той же машине— Cloud Mac runner
- Инстанс— Тарифы Cloud Mac
ZavCloud · Cloud Mac
macOS с SSH, brew и индексом?
Выделенный Mac mini M4, статический IPv4, CodeGraph рядом с Xcode. Почасовая/дневная аренда.
Тарифы Cloud Mac