Руководство по настройке 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

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