# Zed быстрый. Но код агенту всё равно нужно найти.

Canonical source: https://maguyva.ai/ru/for-zed

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Агент Zed работает с файлами, которые вы открыли, и с инструкциями, которые вы дали. Maguyva индексирует весь репозиторий и возвращает его через MCP, поэтому агент спрашивает, где находится символ, а не гадает.

> Одна запись в context_servers: URL и заголовок Authorization.

## Что нужно знать о Zed

Четыре факта именно о Zed. Ни один не сложный.

### settings.json

Удалённые серверы задаются в `context_servers`. Откройте файл командой `zed: open settings file` или добавьте сервер через Settings → AI → MCP Servers.

### Удалённо, по URL

Zed подключается к удалённой точке доступа Maguyva напрямую по HTTP. Без локального процесса и без Node.js.

### Заголовок как есть

В этом руководстве ключ записывается прямо в заголовок `Authorization`: подстановка переменных окружения в заголовках Zed здесь не проверена. Храните его в пользовательских настройках, а не в файле, который коммитите.

### Права на инструменты

По умолчанию Zed спрашивает перед каждым вызовом инструмента. Разрешайте инструменты Maguyva по одному в `agent.tool_permissions.tools` с ключами вида `mcp:maguyva:find_symbol`.

## Инструкции проекта — это рабочее соглашение. Используйте их.

```text
# .rules
- Запускай команду тестов репозитория, прежде чем считать изменение готовым.
- Редактируй только тот пакет, который просили изменить.
```

Zed загружает один файл инструкций проекта: первое совпадение из фиксированного списка, который начинается с `.rules` и включает `AGENTS.md` и `CLAUDE.md`. Личные инструкции кладите в `~/.config/zed/AGENTS.md`. Используйте их для:

- Команд сборки, тестов и lint.
- Соглашений, в которых агент постоянно ошибается.
- Каталогов, которые агенту трогать нельзя.

Файл инструкций говорит агенту, как работать. Он не может сказать, какие из четырёх тысяч файлов вызывают функцию, которую агент вот-вот изменит.

## Где открытого буфера уже не хватает

Три вещи, которые агент Zed не узнает из файлов перед глазами.

### // открытый файл — это не репозиторий

Агент видит то, что открыли вы, и то, что он нашёл через grep. Хелпер с тем же именем в другом пакете выглядит точно так же — пока в продакшен не уйдёт не тот.

### // вызывающих не видно на экране

“Что сломается, если я изменю эту сигнатуру?” — вопрос для графа. Без индекса агент читает файлы по одному, пока не кончатся ходы или контекст.

### // у контекста есть бюджет

Каждый файл, который агент открывает, чтобы сориентироваться, тратит токены, которых потом не хватит на само изменение. Один ранжированный ответ с file:line дешевле десяти пробных чтений.

## Maguyva как контекстный сервер Zed

Одна запись в context_servers даёт агенту Zed:

- **11 инструментов для вашего проиндексированного репозитория**: семантический, структурный (AST), графовый и текстовый поиск, а также поиск символов, зависимые и получение файлов.
- **Ответы с путями к файлам и номерами строк**: по более чем 285 языкам, чтобы агент сразу открывал нужный файл.
- **Всегда актуальный список инструментов**: Zed перезагружает инструменты сервера, когда тот сообщает об изменениях, без перезапуска.

> Zed даёт агенту *быстрый редактор*.
> Maguyva даёт агенту *карту кода*.

## Два рабочих процесса

Сначала спросите карту, потом редактируйте.

### 01. Найти реализацию до того, как агент откроет вкладку

```text
zed agent> где политика повторов для исходящих вебхуков?

find_symbol("retryPolicy")
  src/webhooks/dispatch.ts:41   retryPolicy()   ← реализация
  src/webhooks/__mocks__/dispatch.ts:9   ← мок

→ Агент открывает dispatch.ts:41, а не мок.
[exit 0]
```

Один ранжированный запрос заменяет круг grep. Ответ приходит в виде пути и строки, которые агент может сразу открыть.

### 02. Проверить зависимых перед сменой сигнатуры

```text
zed agent> добавь в fetchInvoice аргумент timeout

dependency_search("fetchInvoice", dependents)
  7 вызывающих в 4 пакетах

→ Агент обновляет все семь мест вызова за один проход.
[exit 0]
```

Радиус влияния виден до первой правки, а не после падения сборки.

## Настройка в Zed

Три шага. Тариф Free: 3 репозитория, До 50 тыс. проиндексированных строк, без банковской карты.

### 01. Проиндексируйте репозиторий на maguyva.ai

Выберите тот, который вы уже знаете, чтобы оценить ответы.

### 02. Добавьте Maguyva в context_servers в настройках Zed

`~/.config/zed/settings.json`

```json
{
  "context_servers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. Замените заглушку и задайте вопрос

Замените `mgv_xxxx` своим API-ключом и сохраните. Задайте агенту вопрос, ответ на который вы уже знаете, и откройте процитированный файл.

В [документации Zed по MCP](https://zed.dev/docs/ai/mcp) описаны контекстные серверы, профили агента и права на инструменты.

## Проиндексируйте один репозиторий, который вы уже знаете.

Подключите Zed через MCP и задайте вопрос, который можно проверить.
