- Зачем: плагин читает конфиг с O_NOFOLLOW и молча игнорирует симлинк
(проверено doctor: со слинкованным файлом применяются дефолты).
- Что: добавлен .stow-local-ignore; файл деплоится копией в
~/.config/opencode/, репозиторий остаётся источником истины.
- Проверка: doctor видит файл и применяет model=deepseek/deepseek-flash.
- Зачем: плагин больше не используется, а в OpenCode 2 он не грузится (V1-формат) и даёт ошибку на старте.
- Что: из opencode.json удалена опция plugin с репозиторием obra/superpowers.
- Проверка: opencode plugin list больше не показывает superpowers; JSON валиден; V1 и V2 читают конфиг как раньше.
- Зачем:
- необходимо подключить набор skills для расширения возможностей агента Opencode.
- Что:
- добавлена опция plugin с указанием репозитория superpowers в opencode.json.
- Проверка:
- cat opencode/.config/opencode/opencode.json.
- Зачем:
- порт 57458 попадал в динамический диапазон Hyper-V (49152–65535), что блокировало запуск контейнера на WSL2.
- Что:
- порт изменён с 57458 на 26745 в docker-compose.yml.
- обновлён SEARXNG_URL в конфиге MCP opencode.
- Проверка:
- docker compose up -d && curl -s -o /dev/null -w "%{http_code}" http://localhost:26745/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- модели в opencode не имели доступа к поиску без платных API.
- Что:
- добавлен docker-compose для SearXNG (localhost:57458, без valkey).
- секрет подставляется из .env через generate-config.sh при старте.
- добавлен MCP-сервер searxng в конфиг opencode.
- env_file с fallback: .env.sample работает из коробки, .env опционален.
- Проверка:
- cd docker/searxng && docker compose up -d.
- curl http://localhost:57458/search?q=test&format=json.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- duckduckgo-mcp (npx) требует bun, которого нет в системе.
- Что:
- убран websearch из permissions (инструмент не существует в opencode).
- команда заменена на uvx duckduckgo-mcp-server (Python, работает без bun).
- Проверка:
- перезапустить opencode, убедиться что инструменты duckduckgo доступны.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- доступ к поиску в интернете для моделей без внешних MCP-серверов.
- Что:
- добавлен "websearch": "ask" в секцию permission.
- Проверка:
- открыть opencode, убедиться что websearch доступен как инструмент.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Зачем:
- конфигурационный файл содержит лишние комментарии, которые можно удалить.
- Что:
- удалены комментарии с пояснениями в opencode.json.
- удалены лишние пустые строки для компактности.
- добавлен перевод строки в конце файла.
- Проверка:
- валидация JSON: cat opencode/.config/opencode/opencode.json | jq empty.
- Зачем:
- необходим дополнительный уровень безопасности для предотвращения случайных изменений в репозитории
- Что:
- создан агент safe-plan для безопасного планирования (read-only)
- создан агент safe-build с защищенным доступом к shell
- установлен default_agent: "safe-plan"
- обновлены глобальные permissions: все операции требуют подтверждения, git push запрещен
- добавлен share: "manual"
- Проверка:
- проверка конфигурации через OpenCode UI
Зачем: переход на новый формат хранения скиллов для лучшей организации и расширяемости.
Что: удалён .skill.md файл, создана директория skills/conventional-commits/ с новой структурой.
Проверка: ls -la opencode/.config/opencode/skills/
Зачем: настройка рабочего окружения для инструмента opencode с поддержкой conventional commits.
Что: созданы конфигурационные файлы, добавлен bashrc, gitignore, документация и skill для коммитов.
Проверка: git status, проверка наличия файлов в opencode/.config/.