# Zed швидкий. Але код агентові все одно треба знайти.

Canonical source: https://maguyva.ai/uk/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 і поставте запитання, яке можна перевірити.
