В октябре 2026 года мы прогнали восемь бесплатных моделей OpenCode через один конвейер: бриф ниши, шаблон промпта, а дальше агент сам пишет сайт-каталог на Astro, чинит сборку, ищет в сети материал для статьи, дорабатывает сайт и выкладывает его на Vercel. Ключ API не нужен, платить не за что. Итог: 8 работающих сайтов по 19–21 странице, ноль битых внутренних ссылок и заметная разница между моделями — в скорости, надёжности и качестве текста.
Коротко
- Для сборки и деплоя лучше всех показала себя Beam: сайт за 12 минут, статья за 7, деплой за 11, без сбоев. Она недоступна из ряда стран, включая Россию. Запасной вариант — DeepSeek V4.1 Flash: сборку не ломал ни разу, но под нагрузкой работает медленно.
- Для статей самые глубокие тексты у MiniMax M3.1 Flash, но агент плохо доводит работу до конца и допускает опечатки. Ровный вариант — GLM-5.3-Flash.
- Модель разумнее назначать на шаг, а не на сайт. Один и тот же конвейер можно собрать из разных моделей.
- Две модели из восьми не дошли до результата: у Flint 40B не собрался сайт, LongCat 2.5 Preview не ответила на пробный запрос.
Как устроен конвейер
Для каждого сайта есть бриф в JSON: ниша, аудитория, примеры сервисов, нишевые поля для фильтров, тема статьи, название проекта. Скрипт подставляет бриф в шаблон промпта и запускает агента командой opencode run -m opencode/<модель> (документация CLI). Каждый шаг — отдельная новая сессия с таймаутом 60 минут и одним повтором при сбое агента.
бриф (JSON) ─► шаблон промпта ─► opencode run -m opencode/<модель>
1. site Astro-сайт: данные, страницы, SEO-разметка
2. npm run build проверка скриптом; при ошибке — fix-build (до 2 раз)
3. article статья 10–12 тыс. знаков, веб-поиск
4. deploy логотипы, OG-картинка, проверка ссылок, vercel deploy --prod
5. проверка ответ 200 на главной и статье, метрики качества
Что входит в каждый шаг:
- Сайт. Статический Astro без UI-фреймворков, 12 реально существующих сервисов в
tools.json, главная с фильтрами и сортировкой, страница сервиса, сравнение, раздел статей с тремя текстами, «О проекте», 404, JSON-LD, sitemap и robots.txt. - Починка сборки. Агент получает текст ошибки и исправляет код, пока
npm run buildне пройдёт. - Статья. Агент сам ищет в сети (встроенные инструменты
websearchиwebfetch), выбирает структуру и пишет текст в инфостиле: цифры, таблицы, без штампов. - Доработки и деплой. Логотипы сервисов, склонения числительных, OG-картинка 1200×630, проверка всех внутренних ссылок в
dist/, затем деплой через Vercel CLI и проверка живых адресов.
Сокращённый шаблон шага «сайт»
Рабочие шаблоны были на русском, ниже — сокращённая версия:
Ты собираешь статический сайт-каталог в ТЕКУЩЕЙ папке. Работай только внутри неё.
## Ниша
«{{NICHE}}» — каталог и рейтинг. {{NICHE_DESCRIPTION}}
Аудитория: {{AUDIENCE}}. Язык сайта — русский.
## Стек (строго)
- Astro, output: 'static', без SSR и адаптеров.
- Без React/Vue: только .astro-компоненты и обычный CSS.
- Без интерактивных генераторов: package.json создай вручную.
## Данные
src/data/tools.json — {{COUNT}} реально существующих сервисов.
Поля: slug, name, url, short, description, free_plan, price_from,
features, pros, cons, best_for, rating + {{FILTER_FIELDS}}.
## Страницы
/ (фильтры на JS, сетка карточек), /tools/[slug]/, /compare/,
/articles/ + 3 статьи, /about/, 404.
## Готово, когда
npm run build проходит без ошибок, в dist/ есть все страницы,
sitemap и robots.txt.
Временные файлы — только в ./.tmp/. Пути /tmp и вне проекта недоступны.
Условия эксперимента
- Даты: 21–22 октября 2026 года.
- Модели: восемь бесплатных моделей OpenCode: Beam, DeepSeek V4.1 Flash, GLM-5.3-Flash, MiniMax M3.1 Flash, MiMo-V2.6-Flash, Nemotron 3 Ultra, Flint 40B, LongCat 2.5 Preview.
- Задачи: 9 запусков, по одной нише на сайт. Сайты — каталоги сервисов в разных тематиках, ниши в статье не раскрываются.
- Нагрузка: до 6 сессий одновременно. Время в таблицах завышено из-за параллельной работы — об этом ниже.
- Выборка: один–два сайта на модель. Это сравнение на практических задачах, а не бенчмарк.
Сводка по моделям
| Модель | Сайтов | Сайт → статья → деплой, мин | Дошла до продакшена | Главное |
|---|---|---|---|---|
| Beam | 1 | 12 → 7 → 11 | сама, без сбоев | Самая быстрая и беспроблемная. Недоступна из России |
| DeepSeek V4.1 Flash | 2 | 60–68 → 18 → 24–37 | сама в 1 запуске из 2 | Надёжный сборщик, чинить сборку не пришлось. Под нагрузкой медленный |
| GLM-5.3-Flash | 1 | 27 → 9 → 29 | после перезапуска деплоя | Ровный результат, самая табличная статья (5 таблиц) |
| MiniMax M3.1 Flash | 2 | 25–28 → 5–6 → 55–145 | 0 из 2 сама | Самые глубокие статьи и самопроверка, но зависания и опечатки |
| MiMo-V2.6-Flash | 1 | 45 → 31 → 29 | после перезапуска | Медленный, статья беднее по структуре |
| Nemotron 3 Ultra | 1 | 25 → 47 → 27 | сама | Очень медленная статья, артефакты разметки в заголовках |
| Flint 40B | 0 | — | нет | Сайт не собрался за 3 попытки: эндпоинт недоступен |
| LongCat 2.5 Preview | 0 | — | нет | Ошибка сервера на пробном запросе |
Время деплоя включает перезапуски шага: у MiniMax из-за недоступного эндпоинта и закрытых сессий шаг приходилось запускать заново.
Метрики по запускам
| Запуск | Сайт, мин | Статья, мин | Деплой, мин | Починок сборки | Страниц | Статья, знаков | H2 / таблиц / внешних ссылок |
|---|---|---|---|---|---|---|---|
| Beam | 12 | 7 | 11 | 0 | 21 | 11 940 | 10 / 2 / 2 |
| GLM-5.3-Flash | 27 | 9 | 29 | 0 | 21 | 12 857 | 9 / 5 / 0 |
| DeepSeek V4.1 Flash, №1 | 60 (таймаут) | 18 | 37 | 0 | 21 | 11 921 | 9 / 2 / 0 |
| DeepSeek V4.1 Flash, №2 | 68 | 18 | 24 | 0 | 21 | 10 639 | 10 / 2 / 4 |
| MiniMax M3.1 Flash, №1 | 25 | 5 | 55 | 0 | 21 | 11 198 | 9 / 4 / 0 |
| MiniMax M3.1 Flash, №2 | 28 | 6 | 145 | 0 | 21 | 11 445 | 10 / 1 / 1 |
| MiMo-V2.6-Flash | 45 | 31 | 29 | 1 | 21 | 11 980 | 9 / 1 / 0 |
| Nemotron 3 Ultra | 25 | 47 | 27 | 1 | 19 | 12 540 | 8 / 3 / 7 |
| Flint 40B | 9 | — | — | 2 (без успеха) | — | — | — |
Первый запуск DeepSeek упёрся в 60-минутный таймаут шага «сайт», но сборка при этом прошла. Для сравнения: отдельный тестовый запуск DeepSeek в одиночку занял 14 минут на сайт, ещё 3 на починку сборки, 4,5 на статью (около 11 тыс. знаков и 10 веб-поисков) и 9 на доработки с деплоем. Под параллельной нагрузкой шаг «сайт» у той же модели растянулся в 4–5 раз.
Что получилось в готовых сайтах
- 0 битых внутренних ссылок во всех 8 сайтах, 0 служебных фраз в публичном тексте.
- 19–21 страница на сайт, 12 сервисов с логотипами, главная и статья отвечают 200.
- Статьи по 10,6–12,9 тыс. знаков, 8–10 разделов, от 1 до 5 таблиц. Штампов («является», «стоит отметить») — от 0 до 3 на статью.
- Дизайн у всех приличный, но модели сходятся к одному «дефолтному» стилю: кремовый фон, антиква в заголовках, моноширинные подписи заглавными буквами. Для сетки сайтов, которые не должны выглядеть одинаково, стиль нужно задавать в брифе: палитра, шрифты, форма карточек.
Модели по отдельности
Beam
Самый быстрый запуск и единственный без единого сбоя: 30 минут от пустой папки до живого сайта. Статья на 11,9 тыс. знаков, 10 разделов, чистый текст. Ограничение — недоступность из ряда стран, включая Россию (блокировка по IP).
DeepSeek V4.1 Flash
Ни разу не ломал сборку и писал аккуратные статьи с минимумом штампов. Под нагрузкой из шести сессий шаг «сайт» занимал 60–68 минут. Один из двух запусков агент закрыл сам: он полез во временную папку вне проекта, и OpenCode завершил сессию.
GLM-5.3-Flash
Самая длинная статья (12,9 тыс. знаков) и пять таблиц. В черновике попались гибридные слова из латиницы и кириллицы, но модель сама нашла и вычистила их на шаге доработок. Падение деплоя вызвал конфликт в базе OpenCode, а не модель.
MiniMax M3.1 Flash
Лучшая фактура: самые глубокие статьи и самопроверка — агент писал собственные скрипты для проверки ссылок и вёрстки через Playwright. Минусы: зависания, недоступный эндпоинт, опечатки. Ни один из двух запусков не дошёл до продакшена без ручного перезапуска.
MiMo-V2.6-Flash
Сайт за 45 минут, статья за 31, одна починка сборки. В статье одна таблица и ни одной внешней ссылки. Работоспособно, но медленнее и беднее конкурентов.
Nemotron 3 Ultra
Сайт готов за 25 минут и одну починку сборки (ещё 22 минуты), но статья заняла 47 минут. В заголовках остались якоря вида {#formatting-issues}, часть ссылок оформлена текстом-адресом, страниц 19 вместо 21. Зато больше всего внешних ссылок — 7.
Что ломалось и как исправили
| Проблема | Причина | Решение |
|---|---|---|
| «Failed to execute statement» при параллельных запусках | Все сайты лежали в одном git-репозитории, и у OpenCode был один проект в локальной базе | Отдельный git init для каждого сайта |
| Сессия закрывается посреди шага | Агент лезет в /tmp, а доступ вне проекта запрещён | Правило во всех шаблонах: временные файлы только в ./.tmp/ |
| Шаг висит часами | Зависание модели или эндпоинта; opencode run --continue тоже подвисал | Таймаут 60 минут, новая сессия на каждый шаг, один повтор при сбое |
| Остаются запущенные локальные серверы | Агент проверял сайт и не останавливал сервер | Правило «останавливать сервер после проверки» |
| Конкуренция за ресурсы | 6 сессий одновременно | Практичный предел — 2–3 параллельные сессии |
Условия бесплатного доступа
- Только через OpenCode. Прямой запрос к API бесплатной модели возвращает 403
FreeTierErrorс пояснением, что бесплатный тариф работает только внутри OpenCode. Ключ не нужен. - Веб-поиск бесплатен. Встроенный в OpenCode поиск работает через сервер OpenCode, отдельная подписка не требуется.
- Список меняется по дням. За сутки эксперимента две бесплатные модели пропали из списка, а MiniMax появилась. Актуальный перечень смотрите в каталоге OpenCode и в документации.
Политики данных у моделей разные:
| Модель | Что известно о данных |
|---|---|
| DeepSeek, GLM, MiniMax, LongCat | Провайдер заявляет политику zero-retention: запросы не сохраняются |
| MiMo, Flint | Данные могут использоваться для обучения |
| Nemotron | Пробный доступ NVIDIA с логированием запросов |
| Beam | Недоступна из ряда стран, включая Россию |
Для публичных каталогов это не критично, но приватный код, ключи и клиентские данные лучше не отправлять моделям, которые могут учиться на запросах.
Вывод: модель на шаг, а не на сайт
| Шаг | Кого назначить | Почему |
|---|---|---|
| Сборка сайта и починка | Beam, запасной вариант — DeepSeek V4.1 Flash | Самая быстрая и самая надёжная сборка |
| Деплой | Beam или DeepSeek V4.1 Flash | Beam довела деплой без перезапусков, DeepSeek — в одном запуске из двух |
| Статья | MiniMax M3.1 Flash с вычиткой или GLM-5.3-Flash | Глубина и таблицы; у MiniMax нужна проверка опечаток, у GLM — гибридных слов |
| Не стоит на длинные шаги | Nemotron 3 Ultra, MiMo-V2.6-Flash | Статья занимает 30–47 минут, результат беднее |
Практические правила для такого конвейера:
- Давайте каждому сайту собственный git-репозиторий, а шагу — новую сессию.
- Ограничивайте время шага (60 минут оказалось разумным пределом) и повторяйте его при сбое.
- Запретите временные файлы вне папки проекта, это самая частая причина закрытых сессий.
- Запускайте 2–3 сессии параллельно, а не 6: время шага при этом заметно сокращается.
- Задавайте стиль в брифе, иначе сайты получатся одинаковыми.
- Проверяйте результат скриптом: сборка, ответ 200, битые ссылки, служебные фразы в тексте.
Если вы только настраиваете OpenCode, начните с руководства как подключить бесплатные модели к Cursor, Cline и OpenCode, а подборку моделей для кода смотрите на странице бесплатных моделей для программирования.