Чтобы не тратить часы на ручное обновление контейнеров, автор настроил собственное окружение с AI-доступом к Git. Раньше он вручную проверял release notes каждого сервиса, искал breaking changes, запускал обновления и проверял, всё ли работает. Теперь, читая краткую сводку от AI, он тратит на это считаные минуты.
Сначала он пользовался Claude Code, но лимиты токенов от AI-провайдеров стали душить. Он искал агностическое решение с нормальной поддержкой плагинов. Выбор пал на OpenCode. Автор обнаружил, что у OpenCode есть встроенный веб-сервер и веб-интерфейс. Это натолкнуло его на мысль развернуть полноценную AI-платформу для хомячьей лаборатории.
Он поднял простую виртуальную машину на хосте TrueNAS с базовыми инструментами разработчика и зарегистрировал веб-сервер OpenCode как systemd unit. Среда получилась солидная: встроенный терминал, файловый менеджер, git diff’ы и поддержка git worktree для параллельных сессий. В мобильном веб-интерфейсе OpenCode всплывающие вопросно-ответные окна оказались лучшими из тех, что он видел.
OpenCode получил собственного пользователя на Git-сервере с выделенными SSH-ключами. AI может клонировать проекты и создавать ветки, но не может пушить прямо в deploy-ветку. Изменения проходят через PR-ревью: автор сам мерджит код. Это мило, но главное — невычитанный код не попадает в прод. Виртуалка имеет доступ в интернет и к Git-серверу, но не может достучаться до настоящих сервисов. Из-за маленького радиуса поражения автор спокойно даёт OpenCode root на этой VM, когда тому нужны билд-тулы или зависимости.
Рабочий процесс простой: автор планирует фичу или улучшение в OpenCode с помощью спецификации, плана реализации и саморевью. Проверяет изменения, если возможно. Повторяет, пока не понравится результат. OpenCode пушит изменения в feature-ветку. Автор открывает PR и мерджит его, когда доволен. Дальше работает GitOps: Arcane — для сервисов на Docker, GitOps-плагин — для конфигов Home Assistant, Cloudflare Pages — для блога.
Не хватает только CI-фидбека. На GitHub автор любил направлять кодинг-агента на логи Actions — это помогало отлавливать падающие тесты, ошибки линтера, исключения и изменения в IaC-планах. С Forgejo так не получается: Forgejo Actions не показывает логи через публичное API. Есть недокументированные пути, но автор не хочет на них завязываться.
В итоге он может вносить изменения в домашнюю инфраструктуру с любого устройства, не давая AI прямого доступа к сервисам. Можно начать правку на компьютере, проверить PR с телефона и отдать деплой GitOps’у.