Начало работы¶
Впервые с opencode_initializer? Здесь всё — от нуля до полностью работающего AI-окружения.
Оценка времени
Полная установка занимает 15-30 минут в зависимости от интернета и скорости машины. Повторные запуски быстрее (идемпотентны).
Что нужно¶
Системные требования¶
| Требование | Минимум | Рекомендуется |
|---|---|---|
| ОС | Ubuntu 22.04+ / Debian 12 / WSL2 / Fedora 40+ | Ubuntu 24.04 LTS |
| RAM | 4 GB | 16 GB+ (для LLM) |
| Диск | 10 GB свободно | 50 GB+ (с моделями LLM) |
| Интернет | Широкополосный | Быстрый (много загрузок) |
| Оболочка | bash 4.0+ | zsh (будет установлен) |
Перед началом¶
- Свежая установка ОС рекомендуется
- Подключение к интернету — скрипт скачивает много пакетов
- Sudo доступ — нужно будет ввести пароль
- Просмотрите скрипт —
curl -fsSL <url> | lessперед запуском
Установка¶
Вариант 1: Одна команда (проще всего)¶
curl -fsSL https://raw.githubusercontent.com/AlexanderNarbaev/opencode_initializer/main/setup.sh | bash
Вариант 2: Клонировать и запустить (больше контроля)¶
git clone https://github.com/AlexanderNarbaev/opencode_initializer.git ~/opencode_initializer
cd ~/opencode_initializer
bash setup.sh
Вариант 3: Определённый режим¶
# Диагностика (без изменений)
bash setup.sh --health
# Интерактивный режим — выбрать что устанавливать
bash setup.sh --interactive
# Только новый проект (пропустить системные инструменты)
bash setup.sh --new ~/my-project
# Предпросмотр (dry-run)
bash setup.sh --dry-run
# Обновить инструменты, сохранить данные
bash setup.sh --reinit
# CI/CD headless режим (без GUI, Docker, ZSH)
bash setup.sh --ci
API-ключи¶
Укажите API-ключи для включения полной AI-функциональности. Все ключи опциональны — скрипт работает без них, но MCP-серверы и провайдеры, требующие ключей, будут отключены.
Быстрый старт с ключами¶
bash setup.sh --full \
--deepseek-key "sk-..." \
--github-token "ghp_..." \
--gitlab-token "glpat-..." \
--google-maps-key "..."
Все доступные опции ключей¶
| Флаг | Сервис | Для чего | Бесплатный тариф |
|---|---|---|---|
-k, --api-key | OpenCode Go | OpenCode провайдер | — |
--deepseek-key | DeepSeek | DeepSeek провайдер | |
--xai-key | xAI Grok | xAI/Grok провайдер | — |
--mimo-key | Xiaomi MiMo | MiMo провайдер | — |
--minimax-key | MiniMax M3 | MiniMax провайдер | — |
--github-token | GitHub (classic token) | GitHub MCP, gh CLI | |
--gitlab-token | GitLab | GitLab MCP | read_api scope |
--google-maps-key | Google Maps | Google Maps MCP |
Дополнительные переменные окружения¶
Для провайдеров без CLI-флагов задайте переменные перед запуском:
export OPENAI_API_KEY="sk-..." # OpenAI
export ANTHROPIC_API_KEY="sk-..." # Anthropic Claude
export GOOGLE_API_KEY="..." # Google Gemini
export GROQ_API_KEY="gsk_..." # Groq
export TOGETHER_API_KEY="..." # Together AI
export FIREWORKS_API_KEY="..." # Fireworks
export MISTRAL_API_KEY="..." # Mistral
export COHERE_API_KEY="..." # Cohere
export PERPLEXITY_API_KEY="..." # Perplexity
bash setup.sh --full
Все ключи хранятся в ~/.config/opencode/secrets.env с chmod 600 (только владелец).
Настройка WSL2¶
Пользователи Windows на WSL2 получают автоматические оптимизации:
Что настраивает скрипт¶
| Настройка | Значение | Зачем |
|---|---|---|
| DNS-серверы | 8.8.8.8, 1.1.1.1 | Исправляет проблемы с DNS в WSL2 |
| Лимит памяти | 50% RAM хоста | Предотвращает захват всей памяти WSL2 |
| Режим сети | Mirrored (Windows 11) | Лучшая совместимость сети |
| Chrome | --no-sandbox | Необходим для Chrome в WSL2 |
.wslconfig | Генерируется в %USERPROFILE% | Постоянные настройки WSL2 |
Ручная подготовка WSL2¶
Перед запуском setup.sh на WSL2:
# В PowerShell (администратор) — убедиться, что WSL2 по умолчанию
wsl --set-default-version 2
# Опционально: настроить ресурсы WSL2
# Редактировать %USERPROFILE%\.wslconfig:
[wsl2]
memory=8GB
processors=4
localhostForwarding=true
networkingMode=mirrored
Chrome в WSL2¶
Chrome установлен с совместимостью WSL2. Используйте обёртку chrome-open:
Производительность WSL2¶
- Работайте в
~/projects/(файловая система Linux) — не в/mnt/c/ - Избегайте межфайловых операций (медленнее в 10-100 раз)
- Установщик задаёт
~/projectsкак папку проектов по умолчанию
Что происходит при установке¶
Скрипт проходит следующие этапы (32 модуля):
| # | Этап | Что делает | ~Время |
|---|---|---|---|
| 1 | Проверка системы | Определяет ОС, пакетный менеджер, архитектуру | 1с |
| 2 | Системные пакеты | Устанавливает build tools, curl, git | 3м |
| 3 | Docker | Установка Docker Engine | 2м |
| 4 | Chrome | Google Chrome + ChromeDriver | 1м |
| 5 | ZSH | Zsh + Oh My Zsh + P10k + плагины | 2м |
| 6 | Языки | Java, Node, Python, Go, Rust, .NET, Zig | 10м |
| 7 | OpenCode CLI | OpenCode + Bun | 1м |
| 8 | MCP + LSP | 24 MCP-серверов + 12 LSP-серверов | 5м |
| 9 | ChromaDB | Векторная БД + Muninn | 1м |
| 10 | LLM | Ollama, vLLM, SGLang, Open WebUI | 5м |
| 11 | Проект | AGENTS.md, структура проекта | 1с |
| 12 | Финализация | PATH, git config, верификация | 1м |
Проверка после установки¶
Проверить всё¶
# Полная диагностика (115+ проверок в 11 разделах)
dev health
# Сравнить версии с последними релизами
dev version-check
# Список установленного
dev list
Что проверяет health check¶
| Раздел | Проверки | Примеры |
|---|---|---|
| Core CLI | OpenCode, dev CLI, setup.sh | Бинарник в PATH, версия |
| MCP Servers | Все настроенные MCP | Бинарники серверов, конфиг, холодный старт |
| LSP Servers | Конфигурации языковых серверов | Бинарники установлены, PATH |
| Services | Docker, PostgreSQL, Qdrant, Redis | Статус сервисов, порты |
| Config | opencode.json, AGENTS.md, .zshrc | JSON валиден, права корректны |
| Multimodal & ONNX | Мультимедиа + ONNX | Инструменты установлены |
| Interaction Modes | CLI режимы | Флаги режимов работают |
| Systemd Services | Ollama, Open WebUI, ChromaDB | Сервисы включены, запущены |
| Web Search (SearXNG) | Self-hosted поиск | Статус сервиса, прокси |
| Memory Chain | MemoryLayer, Muninn | Сервисы памяти работают |
| MCP Binaries | ~/.bun/bin/ записи | Бинарники присутствуют |
Первые шаги после установки¶
- Перезапустите оболочку или
source ~/.zshrc - Настройте Git:
- Проверьте AI-генерацию кода:
- Изучите MCP-серверы — они уже настроены в
opencode.json: - Запустите GPU-сервисы (если есть GPU):
- Откройте Web UI:
CLI dev¶
dev health # Полная диагностика (115+ проверок)
dev version-check # Сравнить версии с последними
dev update # Обновить инструменты
dev list # Список установленного
dev install docker # Установить компонент
dev remove java # Удалить компонент
dev config # Редактировать конфиг
dev autoupdate # Полное обновление системы
dev self-update # Обновить сам setup.sh
dev infra # Управление инфраструктурой (start/stop/status)
dev plugins # Управление плагинами (install/remove/list)
dev observability # Grafana + Prometheus мониторинг
dev gui # Веб-интерфейс управления
dev isolated # Режим Isolated Circuit (on/off/status)
dev models # Рекомендации моделей и управление
dev backup # Бэкап/восстановление конфигурации
Типовые сценарии¶
Сценарий 1: Свежая Ubuntu/WSL2 — всё сразу¶
curl -fsSL https://raw.githubusercontent.com/AlexanderNarbaev/opencode_initializer/main/setup.sh | bash
# Подождать 15-20 минут
# Перезапустить терминал или source ~/.zshrc
dev health
opencode "Чем ты можешь помочь?"
Сценарий 2: Добавление OpenCode на существующую машину¶
git clone https://github.com/AlexanderNarbaev/opencode_initializer.git ~/opencode_initializer
cd ~/opencode_initializer
bash setup.sh --interactive
# Выбрать: OpenCode CLI, MCP + LSP, ZSH
# Снять: языки, которые уже есть
Сценарий 3: CI/CD пайплайн¶
# В GitHub Actions workflow:
- name: Setup OpenCode CI
run: |
curl -fsSL https://raw.githubusercontent.com/AlexanderNarbaev/opencode_initializer/main/setup.sh | bash -s -- --ci
CI-режим устанавливает только: OpenCode CLI + Bun + основные MCP (filesystem, context7). Без Docker, ZSH, GUI.
Сценарий 4: Онбординг члена команды¶
# Отправьте эту команду новым членам команды:
bash setup.sh --full \
--deepseek-key "sk-team-key" \
--github-token "ghp_team-github-token" \
--gitlab-token "glpat-team-gitlab-token"
См. Руководство по командной установке.
Сценарий 5: ML/AI разработчик с GPU¶
bash setup.sh --full
# GPU автоопределён: NVIDIA → Ollama с CUDA
# Проверить GPU:
nvidia-smi
ollama run llama3.2 "Какой GPU ты используешь?"
Частые проблемы¶
"Permission denied" при curl|bash¶
Не запускайте от root. Скрипт использует sudo где нужно.
WSL2: DNS не работает¶
Скрипт добавляет Google DNS автоматически. Если не помогло:
Если проблема сохраняется после перезапуска:
"Package not found" на не-Ubuntu системах¶
Скрипт автоопределяет пакетный менеджер. При ошибке установите эквивалентные пакеты вручную и перезапустите.
Chrome не запускается в WSL2¶
Chrome настроен с --no-sandbox. Используйте:
MCP-серверы не запускаются¶
MCP-серверы используют абсолютные пути к ~/.bun/bin/. При ошибке "command not found":
Мало места на диске¶
Пропустите тяжёлые компоненты:
Далее¶
- Руководство — повседневное использование
- Продвинутое — кастомизация и WSL2
- Архитектура — как это работает
- Справочник — CLI и конфигурация
- FAQ — частые вопросы
- Сравнение — сравнение с альтернативами