В августе 2026 года Dan Hopwood перестал запускать кодинг-агентов на ноутбуке. Причина простая: 40-минутный прогон /build умирал вместе с закрытой крышкой. Решение — арендованная Linux-коробка за €30 в месяц, которая не выключается, а ноутбук и телефон становятся окнами в неё. В этой статье — что он взял, как настроил и где конструкция упирается.

Сразу про €30: это аренда, а не покупка
Первое, что сбивает с толку в заголовке: €30 — это месячная аренда VPS, а не цена железа. Автор в тексте пишет прямо: «My agents don’t run on my laptop any more. They run on a €30-a-month Linux box that never turns off» — мои агенты больше не на ноутбуке, они работают на Linux-машине за €30 в месяц, которая никогда не выключается.
Этот момент цепляет даже читателей Hacker News. В единственном комментарии под тредом пользователь pascalfenkam пишет: «Humm I had hoped it was a fully owned €30 box as opposed to another hosted monthly expense. Mini PC are quite pricey nowadays» — я надеялся, что это полностью своя коробка за €30, а не ещё один ежемесячный хостинг-расход; мини-ПК сейчас дороговаты. Люди ждут кейс «купил железку за €30 и запустил модель локально», а получают кейс «арендовал VPS и вынес туда облачных агентов».

Кейс полезен именно этим: он отвечает не вкусовщиной, а замером — и на наболевший вопрос «зачем платить за облако, если модель влезает на мини-ПК дома».
Что взяли и почему не хостинг
Перед сборкой автор запустил шесть исследовательских агентов для сравнения готовых хостинговых продуктов и свёл 965 строк находок в один раннбук. Вердикт по пакетным продуктам оказался одинаковым.
Готовые облачные агенты (Claude Code on the web, Managed Agents от Anthropic, Codex cloud, Jules от Google) привязывают сессию к одному GitHub-репозиторию и одному вендору. А работе автора нужны 13 репозиториев, которые читают друг друга, 16 MCP-серверов (Gmail, Linear, Slack, браузер) и CLI нескольких вендоров, нацеленные на одни и те же файлы. Ни один продукт этого не видит целиком.
У облачных dev-сред, наоборот, проблема обратная — они спроектированы выключаться. Codespaces засыпает после 30 минут простоя, E2B ограничивает сессию 24 часами, а тот, что остаётся бодрым (Sprites), стоит около $460 в месяц. Простой VPS с вчетверо большим объёмом памяти — €30.
Итоговый выбор: VPS у Netcup, 12 ядер, 32 ГБ RAM, без минимального срока.

Стек: коробка первична, ничего не синхронизируется
Ментальная модель, от которой зависит всё остальное: на ноутбуке не запускается ничего. Дерево процессов живёт на коробке, устройства к нему подключаются и отключаются.
| Слой | Что используют | Зачем |
|---|---|---|
| Хост | VPS Netcup, 12 ядер, 32 ГБ, €30/мес | Коробка, которая не выключается |
| Сеть | Tailscale, без публичных портов | Приватная сеть для ноутбука и телефона; SSH-периметр не «закрывают», а убирают |
| Транспорт | mosh | SSH, переживающий смену IP, сон и вайфай в аэропорту |
| Постоянство | tmux, по сессии на проект | Экран никуда не девается, к нему просто присоединяются заново |
| Конфиг | git-репозиторий + 1Password | Всё в ~/.claude (скиллы, агенты, настройки) в dotfiles-репо; секреты из сервис-аккаунта 1Password |
| Телефон | Termius + Tailscale | Та же tmux-сессия, что и на ноутбуке |
| Браузер | Playwright MCP | Headless Chromium, которым агенты тестируют собранное, с залогиненным профилем |
Ключевой дизайн-выбор важнее любого слоя: коробка первична и ничего не синхронизируется. Соблазнительный вариант — ноутбук как основной с синхронизацией (Mutagen, Syncthing) — ломается, когда агенты одновременно правят незакоммиченные файлы с обеих сторон. Поэтому правило одно: только git-backed работа и commit + push перед сменой машины. «If it isn’t in git, it doesn’t exist on the laptop»: чего нет в git, того на ноутбуке нет.
Установка и запуск
Ниже — фрагменты, собранные из cloud-box (инсталляционный порядок — в README репозитория):
# 1. приватная сеть без публичных портов
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh
# 2. транспорт, переживающий смену IP и сон
sudo apt install mosh tmux
mosh box # зайти на коробку из любой сети
# 3. одна tmux-сессия на проект
tmux new -s project_orion
claude # агент живёт, пока живёт tmux
# 4. unattended-джобы через супервизор
claude agents # каждый джоб — в своём worktree, флот и статус PR видно из любого логина


Результаты замеров: сколько тянет железо
Главный числовой результат — не скорость токенов, а потребление памяти на сессию. Автор пишет: «once one Claude Code session is running, each extra one adds ~200MB, plus whatever its own MCP servers need» — как только запущена одна сессия Claude Code, каждая следующая добавляет примерно 200 МБ, плюс то, что нужно её собственным MCP-серверам.
| Что мерят | Значение | Источник |
|---|---|---|
| Стоимость коробки | €30/мес (VPS Netcup, 12 ядер/32 ГБ) | danhopwood.com |
| Прирост RAM на сессию | ~200 МБ на сессию + её MCP-серверы | danhopwood.com |
| Минимум памяти | 16 ГБ «с запасом достаточно» | danhopwood.com |
| Для чего автор взял 32 ГБ | Запас + браузер | danhopwood.com |
| Аналог в облаке на 4× меньше RAM | €30 (тот же порядок цены) | danhopwood.com |
| «Спящий» аналог на 24 ч (Sprites) | ~$460/мес | danhopwood.com |
Важная оговорка: это VPS с облачными агентами (Claude Code, Codex, Gemini CLI), а не локальная модель. 32 ГБ нужны под процессы и MCP-серверы, а не под веса модели в VRAM. Вопрос «дешёвая коробка против дешёвой модели на ноутбуке» решается здесь не квантизацией, а архитектурой: считать на арендованном железе.
Чем это отличается от локальной модели на ноутбуке
Это разные задачи, и путаница между ними стоит денег.
Локальная модель (например, через Ollama) требует VRAM под веса — по практическому руководству Хабра, если модель не влезает в память, скорость падает в 5–30 раз. Коробка Hopwood же не считает модель вообще: она гоняет чужой инференс по подписке, а своё железо нужно только под процессы агентов и MCP.
Отсюда и ответ на разочарование из HN-треда: €30 за аренду против €30 за «свою коробку» — не одно и то же, потому что во втором случае вы вкладываетесь ещё и в GPU под модель, и в электричество. Про локальные open-weight варианты вроде GLM — в разборе «GLM-5.3 open-weight локально». Кейс Hopwood — про третью схему: железо своё, инференс чужой, но постоянно живой.
Что реально можно поручить такой коробке
Из «дня из жизни» автора вырисовывается рабочий набор:
- Интерактивные сессии — присоединиться к tmux с любого устройства и продолжить разговор.
- Unattended-прогоны (
claude agents) — супервизор запускает каждый джоб в своём worktree, флот и статус PR видны из любого логина. - Always-on автоматизация:
/loopи проверочные прогоны становятся круглосуточными. - Браузерное тестирование через Playwright MCP — работает из всех трёх CLI, потому что MCP у них общий.
Где упёрлись: честные ограничения
Автор отдельно перечисляет то, что не сработало:
- Remote Control всё равно требует tmux. Функция
claude remote-controlкладёт живую сессию в iOS-приложение, но документация Anthropic советует запускать её внутри tmux или screen, чтобы пережить обрыв: это вид на телефон поверх tmux, а не замена. --teleportи веб-запуск идут на машинах Anthropic — без ваших MCP-серверов и кросс-репозиторных чтений.- Песочница оборачивает только Bash. Встроенная песочница Claude Code ограничивает инструмент Bash, а MCP-серверы и хуки выполняются на хосте без ограничений. Работает здесь не песочница, а слой прав: auto-режим, allow-list read-only инструментов и ask-list, который притормаживает всё, что отправляет, удаляет или публикует.
- Codex и Gemini не имеют телефонного моста. Только tmux, ничего похожего на Remote Control.
- Gitignored
.envне путешествуют. Автор переносил их руками, так что пересборка стартует без них, пока они не окажутся в 1Password. - Prompt injection никуда не делась. Риск с инструментом, умеющим отправить сообщение, ровно такой же, как на ноутбуке, и гасится так же. Реальную изоляцию (контейнер на джоб) автор добавит в тот день, когда unattended-джоб сам начнёт тралить недоверенный контент и выбирать себе работу.
- И главная честность напоследок: «the research got the architecture right and the specifics wrong» — исследование дало верную архитектуру и неверные детали: у выбранного хоста не оказалось ресурсов, отвергнутое мобильное приложение оказалось нормальным, а одиннадцать секретов записались пустыми без единой ошибки.
Российские реалии
Кейс целиком построен на зарубежной инфраструктуре, и в РФ каждый слой упирается в свою стену.
- Оплата VPS. Российские Visa и Mastercard не проходят: транзакция отклоняется на уровне BIN-кода страны эмитента ещё до проверки баланса. Рабочие схемы: сервис-посредник с оплатой в рублях по СБП, виртуальная карта с иностранным BIN, иностранная карта (Казахстан, Армения, Грузия) или отечественный хостер с зарубежными локациями и приёмом МИР вроде HOSTKEY. Разбор всех вариантов — на vc.ru (Raketa Pay).
- Tailscale в РФ работает нестабильно. Официальный control plane уже блокировал российские IP (октябрь 2024, issue #13119), а поверх WireGuard регулярно режет РКН. Практика: self-hosted Headscale, развёрнутый за границей, работает «у любого провайдера РФ», плюс обсуждаются ZeroTier и NetBird (Habr: VPN на WireGuard).
- Своя коробка как альтернатива аренде. Путь, о котором мечтал комментатор HN, в рунете расписан подробно: «Два года, один человек, 66 контейнеров» — AI-платформа на мини-ПК и RTX 3090 против «от 40–80 тысяч в месяц в облаке при нуле пользователей», и «Локальный AI: прагматичное руководство» — когда своё железо вообще оправдано.
- Оплата самих агентов. Claude Code, Codex и Gemini имеют те же ограничения по входу и оплате из РФ, что и соответствующие подписки: оплата через посредников и виртуальные карты. Общий разбор бесплатных и условно бесплатных инструментов кодинга — в статье «Бесплатные инструменты агентного кодинга».
Стоит ли повторять
Если у вас один проект и ноутбук, который вы почти не закрываете, — не стоит: экономии нет, а слоёв становится больше. Коробка окупается в трёх случаях: работа идёт параллельно в нескольких репозиториях и MCP-серверах; нужны unattended-прогоны и always-on циклы; вы часто переключаетесь между устройствами и не хотите терять сессии.
Тогда €30 в месяц покупают не «вычислительную силу», а непрерывность. Это честнее, чем «агент на коробке за €30». И держите в голове две оговорки автора: песочница тут защищает только Bash, а от prompt injection через инструмент, умеющий отправлять, спасает только ручной ask-list.
Связанные статьи
- Локальные нейросети для кодинга: Qwen3-Coder и Ollama — если нужна именно локальная модель, а не арендованный инференс
- Маленькие модели для кодинга — что вообще влезает в скромное железо
- GLM-5.3 open-weight локально — вариант открытых весов для своего сервера
- Бесплатные инструменты агентного кодинга — что из агентских инструментов доступно дешевле
Читайте также: Локальный или облачный кодинг-агент: где запускать в 2026 · Кейс: 1.7 ГБ в кеше Codex: зачем агенту полный LibreOffice
