24/7

Как запускать агентов для кода 24/7 на собственном сервере

Постоянно работающему агенту для кода нужны три вещи: машина, которая не засыпает, процесс, который переживает ваше подключение, и способ заметить, когда агенту нужны вы. Вот как получить каждую — от tmux до systemd и демона сессий, — плюс ограничения, которые задаёт ваша подписка.

Как запускать агентов для кода 24/7 на собственном сервере

Короткий ответ

Поместите агента на машину, которая никогда не засыпает (VPS или постоянно включённый домашний компьютер). Запускайте его под чем-то, что переживёт вашу SSH-сессию: tmux для интерактивной работы, пользовательская служба systemd (с включённым lingering), чтобы возвращать tmux при загрузке, или демон, который владеет сессиями. Дайте каждой параллельной сессии собственный git worktree. Агента, работающего 24/7, обычно останавливают лимиты использования вашего тарифа, а не железо: тарифы Claude сбрасываются каждые пять часов, и у них есть ещё и недельные лимиты.

Агент для кода на ноутбуке останавливается, когда закрывается крышка. Перенести его на машину, которая всегда включена, — простая часть. Люди пропускают другие: присмотр (что поддерживает процесс живым и что возвращает его после перезагрузки), изоляцию параллельных сессий и лимиты использования, которые остановят агента задолго до того, как сдастся железо. Это руководство разбирает каждую из них для Claude Code, Codex и других терминальных агентов.

Облако или свой сервер

Сначала решите, нужна ли вам машина вообще. Вендоры теперь сами запускают агентов за вас:

Облако вендора (например, облачные сессии Claude Code, облачные задачи Codex)Ваш собственный сервер или домашняя машина
НастройкаПодключить GitHub (Claude может также загрузить архив локального репозитория)VPS или постоянно включённая машина, плюс установка и вход
ОкружениеИзолированная ВМ на каждую сессию, настраиваемая скриптом; освобождается после бездействияВаши инструменты, ваши базы данных, ваши секреты, всё постоянное
Сеть и частные сервисыПо умолчанию ограничены (список разрешённых доменов); ваша частная сеть недоступнаВсё, до чего может добраться машина: VPN, tailnet, staging-базы
АгентыОдного вендораЛюбой CLI: Claude Code, Codex, OpenCode, Grok Build, agy
СтоимостьИспользование вашего тарифа (у Anthropic: без отдельной платы за вычисления)Использование вашего тарифа плюс несколько евро в месяц за машину

Если ваш проект живёт на GitHub и собирается скриптом настройки, облако вендора требует меньше всего работы. Начните с документации Anthropic по облачным сессиям; claude --cloud "…" запускает такую сессию из терминала. Выбирайте свой сервер, когда агенту нужно то, что есть только на вашей машине, или когда вы хотите агентов разных вендоров рядом. О выборе размера и актуальных ценах — в руководстве покупателя VPS. Mac mini дома тоже подойдёт, если отключить сон.

Присмотр за процессами

Интерактивные агенты — терминальные программы. Они умирают вместе с терминалом, если его не держит что-то другое. Есть четыре варианта, от простейшего к самому надёжному.

1. tmux

tmux new -A -s main
cd ~/src/api && claude        # detach: Ctrl-b d · re-attach: tmux attach -t main

tmux переживает разрывы связи, но не перезагрузки. Это правильный инструмент для интерактивной работы, и именно его документация Anthropic советует, чтобы поддерживать сессию Remote Control живой на удалённой машине. В нашем руководстве по tmux, mosh и Tailscale есть конфигурация, которая нужна агентам.

2. systemd + tmux, чтобы всё возвращалось после перезагрузки

Запустить интерактивный TUI напрямую как службу нельзя: ему нужен терминал. Но можно поручить systemd запускать при загрузке отсоединённую сессию tmux. От своего обычного пользователя создайте ~/.config/systemd/user/agents.service:

[Unit]
Description=tmux session for coding agents

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -d -s main
ExecStop=/usr/bin/tmux kill-session -t main

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now agents.service
sudo loginctl enable-linger "$USER"     # start user services at boot, without a login

Так возвращается пустая сессия, а не ваши разговоры. Их возобновление — отдельный шаг (см. Что происходит при перезагрузке ниже).

3. Headless-запуски по расписанию

Для повторяющихся задач — ночного обновления зависимостей, разбора новых issue или перегенерации документации — обойдитесь без TUI. Запускайте claude -p "…" или codex exec "…" из cron или таймера systemd. Подтверждать там некому, так что режим разрешений и список разрешённого задавайте осознанно. Как — описано в статье о безопасном запуске агентов с полными правами.

4. Демон сессий

Самый надёжный вариант — процесс, который владеет сессиями агентов: запускает их, хранит переписку и позволяет подключаться откуда угодно. Серверный режим Remote Control в Claude Code (claude remote-control) — один из них. По умолчанию он обслуживает до 32 одновременных сессий, что настраивается через --capacity, но запускать его всё равно нужно внутри tmux или службы. agy remote-control start регистрирует демон Antigravity как системную службу. Сторонние инструменты, в том числе Maude, разворачивают собственный демон, который работает с несколькими агентами.

Параллельные сессии и worktree

Два агента, правящие одну и ту же рабочую копию, будут перезаписывать изменения друг друга. Дайте каждой сессии собственный git worktree — отдельную рабочую папку и ветку с общей историей репозитория:

git worktree add ../api-auth -b feature/auth
git worktree add ../api-billing -b fix/billing
# one tmux window per worktree, one agent per window

Claude Code умеет делать это за вас: claude --worktree feature-auth (или -w) создаёт worktree в .claude/worktrees/ на новой ветке и запускает сессию внутри него. Смотрите документацию по worktree.

Сколько сессий выдержит одна машина, зависит от того, что они запускают, а не от самих агентов. Полезное практическое правило: 4 ГБ на первую сессию плюс 1–2 ГБ на каждую следующую, которая собирает или тестирует, и больше, если в каждом worktree работает свой dev-сервер или база данных. Прежде чем добавлять ещё одну, понаблюдайте за free -h в загруженный час. Диск тоже набегает, потому что у каждого worktree свои node_modules.

Квоты и ограничения скорости

Машина 24/7 полезна, только если тариф позволяет агенту продолжать работу, поэтому прочитайте о лимитах, прежде чем строить на них планы:

  • Claude (Pro, Max). Лимиты использования сбрасываются каждые пять часов, и есть ещё недельный лимит, согласно статье Anthropic о лимитах. Несколько параллельных сессий расходуют одну и ту же квоту. Проверить, сколько осталось, можно в Settings → Usage.
  • Codex (тарифы ChatGPT). Plus и похожие уровни используют скользящие пятичасовые окна, могут действовать и недельные лимиты. Локальное использование CLI и облачные задачи делят одну квоту. Смотрите страницу цен Codex от OpenAI для вашего тарифа.
  • Ключи API. Окна тарифа нет, но вы платите за токены, так что зациклившийся агент не останавливается, а тратит деньги. Задайте лимиты расходов в консоли провайдера.

На практике «24/7» значит, что агент может работать, когда есть работа и квота, а не что он целый день работает на пределе. Ставьте долгие задачи в очередь на время, когда вас нет, и будьте готовы, что он остановится до следующего сброса.

Что происходит при перезагрузке

Обновления ядра, обслуживание у провайдера и убийства по нехватке памяти — всё это перезапускает процессы. Разговоры агентов сохраняются на диске, так что ничего не теряется, но и само ничего не перезапускается:

  • Claude Code: claude --continue возобновляет последний разговор в текущей папке, а claude --resume позволяет выбрать.
  • Codex: codex resume --last или codex resume для выбора из списка.
  • tmux: сервера больше нет, а с ним и раскладки окон. Юнит systemd выше воссоздаёт сессию. Плагины вроде tmux-resurrect умеют восстанавливать и раскладки.

Всё, что было в процессе, когда машина упала, — недоделанную правку или запущенный тест — придётся проверить вручную. Это ещё одна причина, чтобы агент почаще делал коммиты.

Присмотр с телефона

Постоянно работающему агенту вы будете нужны в неожиданные моменты: запрос разрешения, вопрос, готовая задача на проверку. Варианты: SSH-приложение, подключённое к tmux, — бесплатно, но без уведомлений; приложения Remote Control от вендоров, которые работают для своего агента; хуки ntfy для пушей, о которых рассказано в статье о подтверждении запросов с телефона; или приложение, которое делает всё это.

Maude создана для такой схемы. Она разворачивает по SSH демон, который запускает ваши сессии на сервере 24/7, продолжает их, когда приложение закрыто, и работает с Claude Code, Codex, OpenCode, Grok Build и Antigravity на стольких серверах, сколько вы добавите. Вы получаете push-уведомления с «Разрешить/Отклонить», входящие со всем, что ждёт вас, а в каждой сессии — git worktree, проверку diff и терминал. Когда у одного агента заканчивается квота, сессию можно передать другому вместе со сводкой проделанной работы. Тариф или ключ API каждого агента по-прежнему нужен. Приложение стоит $2.99 в неделю после 3 дней пробного периода или $59.99 в год после 7 дней пробного периода.

Часто задаваемые вопросы

Позволит ли моя подписка работу 24/7?
Железо может работать весь день; сколько работы будет сделано, решают лимиты вашего тарифа. Тарифы Claude сбрасываются каждые пять часов, и у них есть ещё недельные лимиты; тарифы ChatGPT дают Codex скользящие пятичасовые окна с возможными недельными лимитами. У ключей API окна нет, но оплата идёт за токены.
Сколько сессий агентов выдержит один VPS?
Зависит от того, что запускают сессии. Примерная отправная точка — 4 ГБ на первую сессию плюс 1–2 ГБ на каждую дополнительную, которая собирает или запускает тесты. Дайте каждой сессии свой git worktree и следите за памятью через free -h, прежде чем добавлять новые.
Что происходит с моими агентами при перезагрузке сервера?
Процессы и сессии tmux исчезают, но разговоры сохранены на диске. Возобновите их через claude --continue или claude --resume и codex resume --last. Пользовательская служба systemd с включённым lingering может возвращать вашу сессию tmux при загрузке.
Можно ли запускать Claude Code на Mac mini дома 24/7?
Да. Отключите системный сон (например, sudo pmset -a sleep 0), подключите проводную сеть и добирайтесь до него через Tailscale или приложение, которое подключается наружу. Там работают и Remote Control, и tmux; уснувший Mac ставит на паузу всё.
Можно ли запускать Claude Code и Codex на одном сервере?
Да. Это независимые CLI с отдельными входами и каталогами конфигурации (~/.claude и ~/.codex). Запускайте их в разных окнах tmux или worktree, чтобы они не правили одни и те же файлы.

Ваши агенты — всегда в работе

Сессии работают на вашем сервере круглосуточно, а телефон сообщает, когда вы им нужны. iOS и Android.

Download Maude on the App Store Get Maude on Google Play