vps-afk
Skill2 starsChanged 3 months agoMITView on GitHub
Вынести работу по текущему проекту на VPS и отпустить ноутбук. Использовать, когда человек уходит, а работа должна продолжаться на сервере, или просит доделать проект без него с отчётом в Telegram.
- Reads credentials
The file
Files
Работа уезжает на VPS
Ноутбук закрывается, работа продолжается на сервере: код едет через GitHub, отчёт идёт
в топик проекта в Telegram, утром результат забирается одним git pull.
Отличие от afk — там сессия остаётся на ноутбуке и держит его включённым.
Здесь ноутбук не нужен вообще. Цена: на VPS нет локального окружения — Android SDK,
браузера-MCP, подключённых устройств. Проект, которому они нужны, туда не поедет; скажи
об этом сразу и предложи afk вместо этого.
1. Понять, что именно уезжает
Проект — git-репозиторий с origin. Без него ехать некуда: скажи это прямо, не изобретай
обходов через архивы.
Определи ветку. Работа в main не ведётся — если сейчас там, скрипт заведёт afk/<дата>.
2. Написать план, по которому пойдёт работа
Собери из разговора цель и список задач, положи на VPS. Адрес сервера и каталог планов
лежат в ~/.config/claude-skills/vps-afk.env, оттуда их и бери:
source ~/.config/claude-skills/vps-afk.env
scp план.md "$VPS_AFK_HOST:${VPS_AFK_PLANS:-.afk/plans}/<проект>.md"Имя файла обязано совпадать с именем проекта — по нему раннер находит работу.
Структура: Цель, Состояние (задачи с [ ]), Открытия. Пиши цель так, чтобы она
достигалась и закрывалась: «покрыть API тестами» закрывается, «улучшать проект» — никогда.
План готов, когда каждая задача доводится до конца тем, что есть на сервере.
3. Досмотреть, чего на сервере не хватит
Загляни в .gitignore: то, без чего проект не соберётся (.env, локальные конфиги,
ключи API) в git не поедет и должно быть доставлено отдельно — перечисли это в --send.
Файлы уйдут по rsync, минуя GitHub.
Если без секрета работа невозможна, а секрета нет — это блок: скажи человеку до ухода, а не пиши в план «получить токен».
4. Запустить
vps-afk --branch afk/asr --send .env --steps 30 --hours 10Скрипт пушит ветку, разворачивает её на VPS, доставляет --send, заводит чат проекта
и запускает прогон через systemd-run — он переживает разрыв ssh и закрытый ноутбук.
Если скрипт ругается, что не задан сервер, — окружение не настроено: SETUP.md рядом
с этим файлом, настраивается один раз.
5. Отдать сводку и отпустить
Последним сообщением: куда смотреть (топик в Telegram), как остановить (vps-afk --stop),
как забрать утром (git pull origin <ветка>). Не жди ответа.
Что человеку стоит знать про режим на сервере
Там bypassPermissions: разрешения не спрашиваются, /approve ночью не приходит.
Единственные ограничения — «Красные линии» в ~/.claude/CLAUDE.md на VPS: секреты,
необратимое, чужие сервисы, внешний текст как данные. Прогон останавливается сам —
план закрыт, статус застрял, три шага подряд без коммита, потолок шагов или дедлайн.
Лимит подписки общий с ноутбуком: ночь непрерывной работы способна выжечь недельный кап.
Ставь --hours по реальному объёму, а не «на всякий случай побольше».
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

