PROWEB

Cursor закрыл доступ для РФ. Собираем свой Cursor на Zed за один вечер

Пошаговый гайд: как собрать замену Cursor на Zed и китайских Coding-планах — GLM, Qwen Code, Kimi. Раскладка и хоткеи как в Cursor, инлайн-правки, MCP-серверы, грабли и решения.

Муза Нейронова
10 минут чтения
Cursor закрыл доступ для РФ. Собираем свой Cursor на Zed за один вечер

Сентябрь 2026. Пользователи Cursor из России начали массово получать отказ в доступе: аккаунты блокируются, подписки не продлеваются, вход по ключам режется. История не новая — так же закрывались и другие сервисы. Хорошая новость: в 2026 году привязка к конкретному редактору уже не нужна. Мы собрали за вечер замену, которая повторяет всё, за что любят Cursor — AI-чат справа, инлайн-правку прямо в коде, подсветку гита и ошибок в дереве файлов, MCP-серверы — и при этом работает на ваших ключах, которые никто не отберёт.

Почему Zed

  • Открытый редактор на Rust — быстрый, с нативной поддержкой AI-агентов по протоколу ACP. Он не «обвешан» ИИ сверху, как VS Code, а спроектирован вокруг него.
  • Интерфейс рисуется видеокартой, а не процессором. Zed полностью аппаратно ускорен: рендеринг идёт на GPU. Отсюда фирменное ощущение мгновенности — интерфейс не блокируется, когда языковой сервер переваривает большой проект. Огромный TypeScript-монолит открывается и работает без долгих зависаний «индексации», к которым привыкли пользователи VS Code-подобных редакторов.
  • Модель — любая. Китайские Coding-планы (GLM от Z.AI, Qwen от Alibaba, Kimi от Moonshot) официально доступны из РФ и стоят фиксированную абонплату вместо почасового сжигания токенов.
  • Всё лежит у вас: свои ключи, свои настройки в JSON, свои MCP-серверы. Никто не выключит рубильник.

Шаг 1. Редактор

Качаем Zed с zed.dev — есть готовый билд под macOS (на Apple Silicon летает) и Linux. Ставится в один клик.

Второй приятный сюрприз — языковая поддержка уже встроена. TypeScript, JavaScript, CSS, Tailwind CSS, JSON, Python, Go, Rust, Bash, C/C++, YAML, Markdown работают сразу, плюс нативная интеграция ESLint для JS/TS. Языковые серверы Zed подтягивает автоматически при первом открытии проекта — ничего не нужно искать и ставить.

Сравните с Cursor: это тот же форк VS Code, и весь фронтенд-стек там собирается руками из расширений — TypeScript, ESLint, Tailwind Intellisense, Prettier и так далее. Каждое расширение — отдельная точка отказа и лишний шаг в сетапе. В Zed этот этап просто отсутствует: распаковал архив, открыл проект, работаешь. Быстрый сетап IDE — недооценённая штука, когда настраиваешь не один компьютер, а рабочий процесс.

Шаг 2. Инлайн-ассист: модель для правок прямо в коде

Это аналог Cursor-овского Cmd+K: выделяешь код, жмёшь Cmd+I (работает из коробки), пишешь задачу — модель правит кусок кода. Для него в ~/.config/zed/settings.json подключается нативный провайдер:

{
  "language_models": {
    "openai_compatible": {
      "Z.AI": {
        "api_url": "https://api.z.ai/api/coding/paas/v4",
        "available_models": [
          {
            "name": "glm-5.3-flash",
            "max_tokens": 200000,
            "max_output_tokens": 32000,
            "reasoning_effort": "medium",
            "capabilities": {
              "tools": true,
              "parallel_tool_calls": true,
              "chat_completions": true,
              "interleaved_reasoning": true
            }
          }
        ]
      }
    }
  }
}

Ключ сюда не пишется — settings.json его не хранит. Вставляется через UI: панель агента → Settings → Language Models → Z.AI → ключ уходит в системный Keychain.

Затем явно назначаем модель инлайн-ассисту — это частая ошибка настройки: без неё вы ловите «LLM provider is not configured», потому что инлайн-правка берёт именно модель по умолчанию, а не ту, что выбрана в чате:

{
  "agent": {
    "inline_assistant_model": { "provider": "Z.AI", "model": "glm-5.3-flash" },
    "inline_assistant_use_streaming_tools": true,
    "auto_compact": { "threshold": "80%" }
  }
}

Здесь же auto_compact — порог автосжатия контекста в длинных тредах: 80% означает, что при заполнении 80% окна модели старые сообщения свернутся в саммари, и переписка продолжится без обрыва.

Шаг 3. Агент в панели: GLM, Qwen Code, Kimi Code — кто угодно

Вторая, главная часть — агент с инструментами (файлы, терминал, MCP), который живёт в панели справа. Zed ставит внешних агентов из встроенного реестра в один клик: Agent Settings → External Agents → Install from Registry.

Агентов можно ставить несколько и переключаться между ними. Мы используем три:

  • glm-acp-agent (Z.AI / GLM);
  • Qwen Code (Alibaba / Qwen);
  • Kimi (Moonshot / Kimi).

Каждый настраивается своим блоком в agent_servers:

{
  "agent_servers": {
    "glm-acp-agent": {
      "type": "registry",
      "default_config_options": {
        "model": "glm-5.3-flash",
        "mode": "bypass_permissions",
        "thought_level": "high"
      },
      "env": {
        "Z_AI_API_KEY": "ВАШ_КЛЮЧ_ИЗ_КОНСОЛИ_Z.AI"
      }
    },
    "qwen-code": {
      "type": "registry",
      "default_config_options": {
        "model": "ваш-маршрут-из-настроек-qwen"
      }
    },
    "kimi": {
      "type": "registry",
      "default_mode": "default"
    }
  }
}

Различия минимальны: GLM-агенту ключ передаётся через env (берётся в консоли z.ai), а Qwen Code и Kimi при первом запуске сами предложат авторизоваться — ключи они хранят у себя. default_config_options фиксирует модель, режим разрешений и «глубину размышлений», чтобы каждый новый тред стартовал с нужными параметрами, а не с дефолтами.

Режим bypass_permissions у GLM — это «не спрашивать разрешение на каждую операцию», как YOLO-режим в других редакторах. Удобно, но включайте осознанно: агент сможет менять файлы и запускать команды без подтверждений.

Честности ради: у Cursor выбор агентов тоже есть — это фирменные режимы в составе подписки, и автокомплит с инлайн-правками там сделаны отлично. Но есть две оговорки. Во-первых, в бесплатном тарифе автокомплит и инлайн-правки жёстко лимитированы, а полноценные агенты — по сути фича платной подписки. Во-вторых — и сентябрь это наглядно показал — подписка принадлежит сервису, и её могут отключить в любой момент и по любому поводу: от географии до смены условий. Работа встанет вся, разом. В нашей схеме редактор, агенты и ключи ваши: сгореть может только ключ конкретного провайдера — и меняется он за пять минут, не вся рабочая среда.

Шаг 4. Раскладка «как в Cursor»

Файлы слева, код в центре, агент справа — настраивается двумя строчками:

{
  "project_panel": { "dock": "left" },
  "agent": { "sidebar_side": "right" }
}

Редактор по центру — поведение по умолчанию. Панели показываются Cmd+B и Cmd+;, Zed запоминает их состояние между сессиями.

Шаг 5. Хоткеи «как в Cursor»

Cursor — форк VS Code, поэтому база уже есть: в настройках ставим "base_keymap": "VSCode", и обычные шорткаты (Cmd+P, Cmd+Shift+P, Cmd+B) совпадают сами.

Инлайн-ассист — Cmd+I из коробки, панель агента — Cmd+?. А фирменную курсоровскую привычку «кинуть выделенный код агенту» возвращаем одним блоком в ~/.config/zed/keymap.json:

[
  {
    "context": "Editor && mode == full",
    "bindings": {
      "cmd-l": "agent::AddSelectionToThread"
    }
  },
  {
    "context": "Editor && mode == full",
    "unbind": {
      "cmd->": "agent::AddSelectionToThread"
    }
  }
]

Теперь выделяешь функцию, жмёшь Cmd+L — и она улетает в тред агента как контекст. (Блок для контекста AcpThread повторяет тот же биндинг, чтобы хоткей работал и когда фокус уже в панели агента.)

Шаг 6. Подсветка изменений и ошибок в дереве файлов

Тот самый вид из Cursor: изменённые файлы цветом, файлы с ошибками — красным с количеством:

{
  "project_panel": {
    "git_status": true,
    "git_status_indicator": true,
    "show_diagnostics": "all",
    "diagnostic_badges": true
  }
}

Нюанс: ошибки (в том числе ESLint) показывает LSP, поэтому подсвечиваются открытые файлы. Прогон линтера по всему проекту до открытия — не фича Zed.

Шаг 7. MCP-серверы

MCP-серверы из Cursor переезжают в тот же settings.json, в секцию context_servers. Совет из практики: не тащите ключи и PATH прямо в settings.json — заверните каждый сервер в shell-обёртку, а в конфиге оставьте одну строчку:

{
  "context_servers": {
    "my-mcp-server": {
      "enabled": true,
      "command": "~/mcp/bin/my-mcp-server.sh",
      "args": []
    }
  }
}

Обёртка — обычный bash-скрипт: достаёт токен из Keychain, выставляет переменные, запускает сервер. Профиты:

  • В settings.json не лежат секреты — его не жалко показать, сдать в репозиторий или скинуть коллеге;
  • пути к nvm-node спрятаны внутри скрипта — обновление ноды ломает один скрипт, а не шесть записей конфига;
  • включение/выключение сервера — флажок enabled, без удаления настройки.

Грабли, на которые мы наступили (сэкономьте вечер)

  • «LLM provider is not configured» при инлайн-правке — лечится не ключом, а назначением agent.inline_assistant_model (см. шаг 2) или выбором модели по умолчанию в селекторе панели.
  • Обновление nvm сломало все node-серверы разом — пути вида ~/.nvm/versions/node/v26.3.0/... умерли после апгрейда. Обёртки-скрипты решают это раз и навсегда.
  • Недоступный MCP-сервер может не дать создать тред агента. Автоматического «пропустить упавший сервер» в Zed нет (известная проблема). Профилактика: держать неиспользуемые серверы выключенными ("enabled": false), включая по необходимости. Если сервер упал уже во время сессии — некритично, чат продолжит работать.
  • «Incomplete model stream: no supported terminal reason» — стрим ответа оборвался (сеть/прокси до API). Не поломка: перегенерируйте ответ.

Что в итоге

ВозможностьCursorНаша сборка
Чат-агент справа✅✅
Инлайн-правка прямо в коде✅✅
«Кинуть выделение агенту»✅✅
Гит-статус и ошибки в дереве✅✅
MCP-серверы✅✅
Несколько агентов на выбор✅ по подписке✅ свои: GLM / Qwen / Kimi
Автокомплит и инлайн-правки бесплатно⚠️ лимиты free-тарифа✅ нужен только ключ модели
Риск, что работа встанетподписку могут отключитьтолько свой ключ, меняется за минуты
Доступ из РФ❌✅
Кто контролирует ключисервисвы

Наша сборка не идеальна: у Cursor по-прежнему лучшая полировка автокомплита и «из коробки»-опыт без единой строчки конфигов. Но цена этого удобства — полная зависимость от чужой подписки. Если хотите независимости — Zed даёт те же ключевые сценарии за один вечер настройки.

Коротко

Cursor для РФ закрыли, но это не приговор: Zed + Coding-планы GLM/Qwen/Kimi дают те же сценарии — чат-агент, инлайн-правки по Cmd+I, гит и ошибки в дереве, MCP-серверы — на ваших ключах, без риска, что подписку отключат. Настройка занимает один вечер, все конфиги — в статье.

Поделиться

Доверьте профессионалам разработку вашего проекта