Zed + Ollama: Полноценная агентная разработка (macOS / Linux)

Руководство по настройке Zed для работы с локальными или удалёнными моделями Ollama.

Подходит для:

  • macOS
  • Linux
  • локального Ollama
  • удалённого Ollama по SSH
  • Agent Panel
  • Inline Assistant
  • Edit Prediction

Архитектура #

                 Git
                  │
                  ▼
        ┌────────────────────┐
        │        Zed         │
        │────────────────────│
        │ Agent Panel        │
        │ Inline Assistant   │
        │ Edit Prediction    │
        └─────────┬──────────┘
                  │
          SSH Tunnel / VPN
                  │
                  ▼
        ┌────────────────────┐
        │ Remote Ollama      │
        │────────────────────│
        │ qwen3-coder        │
        │ gemma4             │
        │ deepseek-r1        │
        └────────────────────┘

Такой вариант безопаснее, поскольку API Ollama не публикуется наружу. Zed умеет работать как с локальным, так и с удалённым Ollama через настройку api_url. Поддерживаются Agent Panel, Inline Assistant и другие AI-функции. Zed.Dev


Требования #

Сервер #

  • Ollama
  • SSH
  • одна или несколько моделей

Рабочая машина #

  • Zed
  • SSH

Установка и настройка Ollama (Сервер) #

1. Установка Ollama #

macOS #

brew install ollama

или установить приложение Ollama.

Запуск:

ollama serve

Linux #

curl -fsSL https://ollama.com/install.sh | sh

Запуск:

sudo systemctl enable ollama
sudo systemctl start ollama

или

ollama serve

2. Загрузка моделей #

Например:

ollama pull qwen3-coder:30b

или

ollama pull gemma4

Посмотреть установленные модели:

ollama list

3. Проверка API #

curl http://127.0.0.1:11434/api/tags

Если всё настроено правильно, вернётся список моделей.


Рабочая машина #

1. Настройка SSH #

Создать новый ключ (рекомендуется) на рабочей машине #

На macOS и Linux одинаково:

ssh-keygen -t ed25519 -C "your_email@example.com"

Далее будут вопросы.

Есть два варианта:

  • Оставить пустыми (два раза Enter) — удобнее, если сервер личный.
  • Задать пароль — безопаснее, но придётся вводить его при использовании ключа (или добавить ключ в ssh-agent).

В итоге появятся файлы:

~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub

где:

  • id_ed25519 — приватный ключ (никому не показывать);
  • id_ed25519.pub — публичный ключ, который нужно скопировать на сервер.

Добавить ключ на сервер #

Самый простой способ:

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

После этого вход будет выполняться по ключу.


Если ssh-copy-id отсутствует (часто на macOS), сделай вручную:

Посмотреть публичный ключ:

cat ~/.ssh/id_ed25519.pub

Получишь что-то вроде:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... user@macmini

Полностью скопируй эту строку.

Подключись к серверу по паролю:

ssh user@server

Создай каталог (если его ещё нет):

mkdir -p ~/.ssh
chmod 700 ~/.ssh

Открой файл:

nano ~/.ssh/authorized_keys

Вставь туда одну строку с публичным ключом.

Сохрани (Ctrl+O, Enter) и выйди (Ctrl+X).

Установи права:

chmod 600 ~/.ssh/authorized_keys

Теперь можно подключаться по ключу:

ssh user@server

SSH-Config на рабочей машине #

Добавьте в ~/.ssh/config

Host ollama-server
    # адрес сервака
    HostName 192.168.1.10
    # username на сервере для ssh
    User username
    # локальный закрытый ключ
    IdentityFile ~/.ssh/id_ed25519

    # прокидывание портов на себе на localhost
    # LocalForward LOCAL_PORT HOST_ON_SERVER:PORT_ON_SERVER
    LocalForward 11434 127.0.0.1:11434

    ServerAliveInterval 30
    ServerAliveCountMax 3
    ExitOnForwardFailure yes

Запуск туннеля:

ssh -N ollama-server

Теперь локально доступен

http://127.0.0.1:11434

2. Проверка туннеля #

curl http://127.0.0.1:11434/api/tags

Если пришёл список моделей — туннель работает.


3. Настройка Zed #

Откройте:

⌘⇧P

(macOS)

или

Ctrl+Shift+P

(Linux)

Выберите:

Open Settings

или откройте вручную:

macOS

~/Library/Application Support/Zed/settings.json

Linux

~/.config/zed/settings.json

Добавьте:

{
  "language_models": {
    "ollama": {
      "api_url": "http://127.0.0.1:11434",
      "context_window": 131072
    }
  }
}

По умолчанию Zed использует всего 4096 токенов контекста для Ollama. Размер можно увеличить через context_window либо max_tokens для конкретной модели. Zed.Dev


4. Явное описание моделей (необязательно) #

Если не хочется использовать автообнаружение:

{
  "language_models": {
    "ollama": {
      "api_url": "http://127.0.0.1:11434",
      "auto_discover": false,
      "available_models": [
        {
          "name": "qwen3-coder:30b",
          "display_name": "Qwen3 Coder",
          "max_tokens": 131072,
          "supports_tools": true,
          "supports_thinking": true
        },
        {
          "name": "gemma4",
          "display_name": "Gemma 4",
          "max_tokens": 131072,
          "supports_tools": true,
          "supports_thinking": true
        }
      ]
    }
  }
}

5. Запуск Agent Panel #

Нажмите

⌘⇧P

или

Ctrl+Shift+P

и выполните

agent: new thread

или нажмите кнопку ✨ в нижней панели.

Agent Panel умеет:

  • читать проект;
  • искать файлы;
  • изменять несколько файлов;
  • запускать команды;
  • показывать diff;
  • запускать несколько агентов параллельно. Zed.Dev

9. Первый запуск #

Не просите модель сразу писать код.

Лучше начать так:

Изучи структуру проекта.

Пока ничего не изменяй.

Определи:

- точки входа
- архитектуру
- основные зависимости
- как запускаются тесты

После этого составь план реализации.

6. После анализа #

Теперь реализуй первый этап.

Не изменяй архитектуру.

После каждого изменения запускай тесты.

Покажи diff.

Перечисли изменённые файлы.

7. Создание AGENTS.md #

Создайте файл

AGENTS.md

в корне проекта.

Пример:

# Project Rules

## Python

- Python 3.13

## Style

- Использовать pathlib
- Использовать logging
- Не использовать print()

## Code

- Не менять публичные интерфейсы без необходимости
- Минимальные изменения

## Validation

После изменения запускать

ruff check .

pytest

8. Работа через Git Worktree #

Если требуется несколько агентов:

git worktree add ../feature-review
git worktree add ../feature-tests

Получится:

main/

feature-review/

feature-tests/

Каждый агент работает независимо.


9. Рекомендуемые модели #

Планирование #

  • Gemma 4
  • DeepSeek R1

Написание кода #

  • Qwen3 Coder

Code Review #

  • Gemma 4

10. Настройка безопасности #

Рекомендуется разрешить автоматически:

  • чтение файлов
  • поиск
  • pytest
  • ruff

Запрашивать подтверждение для:

  • git commit
  • docker build
  • docker compose
  • kubectl
  • terraform

Никогда автоматически не выполнять:

rm -rf
git reset --hard
git clean -fd
kubectl delete
terraform apply

11. Рекомендуемый workflow #

Открыть проект

↓

Новый Agent Thread

↓

"Изучи проект"

↓

Получить план

↓

"Реализуй первый этап"

↓

Просмотреть diff

↓

Запустить тесты

↓

Commit

↓

Новый Thread

↓

"Проведи Code Review"

Полезные советы #

Не начинаем с огромных задач #

Вместо

Реализуй полностью новую систему

лучше

Реализуй первый этап.


Ограничиваем область изменений #

Хороший запрос:

Измени только следующие файлы:

- api.py
- config.py

Остальные файлы не трогай.

Просим сначала анализ #

Практика показывает, что локальные модели работают значительно стабильнее, если сначала выполнить анализ проекта, а уже затем переходить к реализации. Zed.Dev


Итоговая схема #

                GitHub / GitLab
                       │
                       ▼
              ┌────────────────┐
              │      Zed        │
              │────────────────│
              │ Agent Panel    │
              │ Inline AI      │
              │ Edit Prediction│
              └───────┬────────┘
                      │
                 SSH Tunnel
                      │
                      ▼
              ┌────────────────┐
              │ Remote Ollama  │
              │────────────────│
              │ Qwen3 Coder    │
              │ Gemma 4        │
              │ DeepSeek R1    │
              └────────────────┘

Полезные ссылки #

  • Документация Zed по локальным моделям: https://zed.dev/docs/ai/use-a-local-model
  • Интеграция Ollama с Zed: https://docs.ollama.com/integrations/zed
  • Обзор AI-возможностей Zed: https://zed.dev/docs/ai/overview

Жми класс
Обновлено 12.08.2026

Оцените документ




0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

0