OpenCode + DeepSeek: собираем личного ИИ-агента на Windows и macOS
OpenCode обычно воспринимают как альтернативу Claude Code или Codex.
То есть:
Но технически код здесь вообще не главное.
OpenCode — это оболочка, которая даёт LLM возможность пользоваться инструментами.
А значит, можно построить совсем другую схему:
То есть:
Но технически код здесь вообще не главное.
OpenCode — это оболочка, которая даёт LLM возможность пользоваться инструментами.
А значит, можно построить совсем другую схему:
разработчик → агент → исходный код
человек
↓
OpenCode
↓
DeepSeek
↓
tools / MCP
↓
почта
календарь
файлы
браузер
внутренние системыИ получить своего личного агента.
Начнём с установки.
Начнём с установки.
Шаг 1. Устанавливаем OpenCode на macOS
Если установлен Homebrew:
Именно свой tap OpenCode рекомендует использовать для получения наиболее свежих версий.
Проверяем:
Альтернативный вариант — официальный install script.
После установки запускаем:
Именно свой tap OpenCode рекомендует использовать для получения наиболее свежих версий.
Проверяем:
Альтернативный вариант — официальный install script.
После установки запускаем:
brew install anomalyco/tap/opencode
opencode --version
curl -fsSL https://opencode.ai/install | bash
opencodeШаг 2. Устанавливаем OpenCode на Windows
На Windows сами разработчики OpenCode рекомендуют использовать WSL.
Причина простая: агент активно работает с shell, файлами и внешними инструментами, поэтому Linux-окружение даёт наиболее предсказуемое поведение.
Если WSL уже настроен, внутри него:
Проверяем:
Но OpenCode можно поставить и нативно.
Через Chocolatey:
Через Scoop:
Или через npm:
После этого:
Причина простая: агент активно работает с shell, файлами и внешними инструментами, поэтому Linux-окружение даёт наиболее предсказуемое поведение.
Если WSL уже настроен, внутри него:
Проверяем:
Но OpenCode можно поставить и нативно.
Через Chocolatey:
Через Scoop:
Или через npm:
После этого:
curl -fsSL https://opencode.ai/install | bash
opencode --version
choco install opencode
scoop install opencode
npm install -g opencode-ai
opencodeШаг 3. Получаем API-ключ DeepSeek
Нужен аккаунт в DeepSeek Platform.
В консоли создаём новый API key.
Выглядеть он будет примерно так:
Ключ не надо складывать в исходники, README или отправлять в Git.
OpenCode умеет хранить credential отдельно.
В консоли создаём новый API key.
Выглядеть он будет примерно так:
Ключ не надо складывать в исходники, README или отправлять в Git.
OpenCode умеет хранить credential отдельно.
sk-xxxxxxxxxxxxxxxxxxxxxxxxШаг 4. Подключаем DeepSeek к OpenCode
Запускаем:
Внутри OpenCode вводим:
В списке провайдеров выбираем:
Вставляем API key.
После этого:
И выбираем нужную модель DeepSeek.
OpenCode прямо поддерживает DeepSeek как отдельного provider, поэтому вручную настраивать OpenAI-compatible endpoint для обычного сценария не требуется.
Получилась первая версия:
Внутри OpenCode вводим:
В списке провайдеров выбираем:
Вставляем API key.
После этого:
И выбираем нужную модель DeepSeek.
OpenCode прямо поддерживает DeepSeek как отдельного provider, поэтому вручную настраивать OpenAI-compatible endpoint для обычного сценария не требуется.
Получилась первая версия:
opencode
/connect
DeepSeek
/modelsУже можно разговаривать с моделью.
Но личного агента пока нет.
Но личного агента пока нет.
Вы
↓
OpenCode
↓
DeepSeekШаг 5. От чата к агенту
LLM сама по себе не умеет открыть вашу почту.
И это хорошо.
Доступ к внешнему миру нужно давать отдельно.
OpenCode позволяет добавлять инструменты, в том числе через MCP — Model Context Protocol.
Например:
И это хорошо.
Доступ к внешнему миру нужно давать отдельно.
OpenCode позволяет добавлять инструменты, в том числе через MCP — Model Context Protocol.
Например:
DeepSeek
↓
OpenCode
↓
Gmail MCP
↓
search_email
read_email
create_draft
send_emailМодель принимает решение, какой инструмент вызвать.
OpenCode выполняет вызов.
Результат возвращается модели.
Модель анализирует его и решает, что делать дальше.
Получаем уже не один запрос к LLM, а цепочку:
OpenCode выполняет вызов.
Результат возвращается модели.
Модель анализирует его и решает, что делать дальше.
Получаем уже не один запрос к LLM, а цепочку:
получить письма
↓
прочитать
↓
классифицировать
↓
найти дедлайн
↓
понять, что требуется
↓
подготовить ответЭто и есть агентский сценарий.
Шаг 6. Не даём агенту делать всё подряд
Вот здесь начинается действительно важная часть.
Если агент умеет читать почту, это ещё не значит, что ему нужно разрешать безусловно:
• отправлять письма;
• удалять письма;
• менять календарь;
• удалять файлы;
• выполнять произвольные shell-команды.
В OpenCode есть три базовых режима permission:
allow
ask
deny
Например:
Если агент умеет читать почту, это ещё не значит, что ему нужно разрешать безусловно:
• отправлять письма;
• удалять письма;
• менять календарь;
• удалять файлы;
• выполнять произвольные shell-команды.
В OpenCode есть три базовых режима permission:
allow
ask
deny
Например:
чтение почты → allow
поиск → allow
анализ → allow
создание draft → allow
отправка → ask
удаление → askТо есть агент может выполнить 20 безопасных действий самостоятельно и остановиться ровно там, где требуется решение человека.
Это сильно отличается от двух крайностей: «ИИ ничего не может делать» и «ИИ разрешено всё».
Нормальный агент находится между ними.
Это сильно отличается от двух крайностей: «ИИ ничего не может делать» и «ИИ разрешено всё».
Нормальный агент находится между ними.
Шаг 7. Первый сценарий — разбираем почту
После подключения почтового инструмента задача может выглядеть так:
Разбери мою почту за последние 24 часа.
Раздели письма на:
1. Срочно.
2. Требует моего ответа.
3. Просто информация.
4. Можно проигнорировать.
Для первых двух категорий:
• коротко объясни содержание;
• скажи, чего от меня хотят;
• найди deadline;
• предложи следующее действие;
• подготовь draft ответа.
Ничего не отправляй без моего подтверждения.Я хочу получить не Inbox из 60 сообщений.
Я хочу получить:
Я хочу получить:
СРОЧНО — 2
1. Клиент ждёт согласования договора
Deadline: сегодня 16:00
Нужно: подтвердить пункт 4
Draft: готов
2. Университет ждёт программу
Deadline: завтра
Нужно: проверить приложение
Draft: готов
ОТВЕТИТЬ — 4
ИНФОРМАЦИЯ — 18
МОЖНО ПРОПУСТИТЬ — 36Человек остаётся в контуре.
Но вместо чтения 60 писем он принимает четыре решения.
Но вместо чтения 60 писем он принимает четыре решения.
Зачем здесь OpenCode
Можно спросить: почему просто не открыть ChatGPT?
Потому что чат и агент — разные модели взаимодействия.
Чат:
Агент:
Потому что чат и агент — разные модели взаимодействия.
Чат:
Агент:
Чат:
вопрос → ответ
Агент:
цель
↓
план
↓
инструмент
↓
результат
↓
следующее действие
↓
готовая работаИ OpenCode интересен именно как оболочка для второго варианта.
Почему DeepSeek
В этой конструкции модель вообще заменяемая.
Сегодня это может быть DeepSeek:
Завтра:
или другая совместимая модель.
Сегодня это может быть DeepSeek:
Завтра:
или другая совместимая модель.
OpenCode → DeepSeek
OpenCode → QwenТо есть мы отделяем две вещи:
мозг агента — LLM.
тело агента — инструменты, permissions и интеграции.
И это, на мой взгляд, намного интереснее очередного сравнения benchmark'ов LLM.
мозг агента — LLM.
тело агента — инструменты, permissions и интеграции.
И это, на мой взгляд, намного интереснее очередного сравнения benchmark'ов LLM.
Что дальше
Следующий шаг — практический.
Подключим почту и соберём первый реальный сценарий:
«Разбери мой Inbox и скажи,
где от меня реально что-то хотят».
После этого добавим календарь.
А затем попробуем связать несколько инструментов в одну цепочку:
Подключим почту и соберём первый реальный сценарий:
«Разбери мой Inbox и скажи,
где от меня реально что-то хотят».
После этого добавим календарь.
А затем попробуем связать несколько инструментов в одну цепочку:
письмо
↓
понять задачу
↓
найти документ
↓
подготовить ответ
↓
проверить календарь
↓
предложить встречуВот здесь личный ИИ начинает становиться не чат-ботом, а агентом.
30.08.2026
