Вайбкодинг, AI агенты
Focus OS: единый штаб моих проектов и AI-агентов
Как я собираю все проекты, задачи и решения в одном штабе, чтобы Codex, Gemini, Custom GPT и разные IDE продолжали работу без пересказа контекста.
Если узнал свою ситуацию, сначала посмотри направления и формат работы. Там же есть примеры того, что можно прислать.

Я сделал Focus OS — единый штаб, где собираются мои проекты, текущая работа, решения и история. Его задача — дать человеку и разным ИИ один актуальный контекст.
Продолжение:во второй версии я добавил задачи дня, фокус-сессии, таймер, отчёты по факту и безопасные предложения AI-агентов. Разбор нового рабочего цикла — в статье «Focus OS 2.0: от памяти проектов к управлению рабочим днём».
Короткий ответ:я один раз фиксирую проект, цель и следующий шаг. После этого Codex, Gemini, Custom GPT или агент в другой IDE могут продолжить работу без нового пересказа с нуля.
Сейчас в нём видны реестр проектов, текущая цель, следующие действия, сохранённые идеи и история результатов. Из него можно передать задачу Codex, Antigravity или другому агенту. А мой Custom GPT читает тот же список проектов и контекст, добавляет задачу, записывает прогресс или сохраняет новую идею.
Главное: я один раз фиксирую, что делаю, а дальше человек и разные ИИ работают с одним состоянием.
До Focus OS всё было разбросано:
- ChatGPT знал, что я хочу получить, но не видел состояние кода;
- Codex видел репозиторий, но не всегда знал, зачем я вообще меняю проект;
- Gemini мог проверить интерфейс, но не знал прошлых решений;
- задачи оставались в разных чатах;
- идеи терялись или начинали конкурировать с текущей работой;
- новому агенту приходилось заново объяснять проект, цель и ограничения.
В итоге у меня было несколько сильных ИИ, но не было места, где они могли понять общую картину.
Focus OS стал таким местом.
Для чего я это сделал
У меня несколько проектов, разные IDE и разные AI-инструменты. Я могу начать обсуждение в ChatGPT, продолжить разработку в Codex, открыть интерфейс в Antigravity и попросить Grok проверить идею.
Проблема в том, что каждый инструмент живёт в своём контексте.
Новый чат не знает, что мы уже решили. Coding-агент может хорошо выполнить техническую команду, но не понимает, какой результат сейчас главный. Идея, записанная в одном месте, не видна в другом. После паузы приходится самому восстанавливать историю: где остановился, что уже сделано и что делать дальше.
Фактически я работал связующим звеном между своими ИИ:
вспомнить контекст
→ найти нужный чат
→ пересказать задачу
→ дать ссылку на проект
→ объяснить ограничения
→ проверить, что агент понял правильно
Это повторялось при каждом переключении инструмента или проекта.
Поэтому я сформулировал для Focus OS пять конкретных задач:
- Хранить одну актуальную цель, а не двадцать «главных» задач.
- Показывать мне текущее состояние через простой человеческий интерфейс.
- Давать разным AI-агентам одинаковый контекст.
- Не смешивать общую память с кодом отдельных проектов.
- Сохранять итог работы, чтобы следующая сессия продолжалась с нужного места.
Какие референсы я использовал
Focus OS появился не из пустоты. Я соединил два подхода и добавил слой, которого мне не хватало.
Андрей Карпатый: память должна накапливаться, а не исчезать в чатах
Андрей Карпатый (Andrej Karpathy) — словацко-канадский исследователь в области машинного обучения и ИИ, сооснователь OpenAI и бывший директор по ИИ в Tesla. В своём LLM Wiki (откроется в новой вкладке) он описал базу знаний из трёх слоёв:
- Raw sources - неизменяемые первоисточники.
- Wiki - связанные Markdown-страницы, которые создаёт и поддерживает LLM.
- Schema -
CLAUDE.mdилиAGENTS.md, где записаны структура и правила работы.
Смысл в накоплении. Обычный чат или RAG каждый раз заново собирает ответ из фрагментов. В LLM Wiki модель один раз встраивает новый источник в существующую структуру: обновляет страницы, связи, противоречия, индекс и журнал. Хороший ответ тоже можно сохранить обратно, вместо того чтобы потерять его в истории чата.
Я не копировал LLM Wiki целиком. Мне была нужна не энциклопедия знаний, а оперативная память работы: что сейчас главное, где лежит проект, что уже сделано и какой следующий шаг.
Поэтому я адаптировал его три слоя:
| LLM Wiki Карпатого | Focus OS |
|---|---|
| Raw sources | Репозитории проектов и реальные рабочие файлы |
| Wiki | Issues, комментарии и Markdown с текущим состоянием |
| Schema | AGENTS.md и PROFILE.md с правилами для агентов |
Отсюда в Focus OS появились читаемая память вне конкретной модели, Git как история изменений и контекст, который можно дать разным агентам.
Серёжа Рис: стек должен показывать маршрут работы
В разборе AI-стека Серёжи Риса (откроется в новой вкладке) GitHub, Markdown, агенты и оркестраторы показаны не как случайный список сервисов, а как система доставки результата: от идеи до задачи, реализации, проверки и продакшена.
У него я взял три принципа:
- у каждого инструмента должна быть конкретная роль;
- GitHub может быть общей очередью и памятью;
- ценность находится не в количестве моделей, а в маршруте между ними.
Но его система рассчитана на более сложную агентную студию с Orca, OMP, несколькими моделями, параллельными задачами и отдельной инфраструктурой.
Мне сначала требовался более простой уровень: один человек, несколько проектов, один текущий результат и понятная передача задачи любому агенту.
Что я добавил под себя
Из этих референсов я собрал собственную схему:
- один центральный репозиторий для целей и контекста;
- один активный результат;
- очередь идей, которые не перебивают текущую работу;
- веб-интерфейс для человека;
- Custom GPT для работы с целями и задачами;
- готовый бриф для передачи работы coding-агенту;
- отдельные репозитории для кода каждого проекта;
- история выполненных и отменённых задач.
Как устроен Focus OS
У системы четыре основных слоя.
| Слой | Что делает |
|---|---|
| GitHub | Хранит задачи, статусы, комментарии и правила работы |
| Веб-интерфейс | Даёт мне понятный доступ к проектам, текущей задаче, идеям и истории |
| Custom GPT | Помогает сформулировать цель и управляет задачами через Actions |
| Coding-агенты | Выполняют работу в репозитории нужного проекта |
Схема выглядит так:
Я
│
┌──────────────┼──────────────┐
│ │ │
Focus Web Custom GPT Codex / IDE
│ │ │
└──────────────┼──────────────┘
│
Focus OS API
│
GitHub Issues
│
ссылка на нужный проект
│
репозиторий проекта
Центральный репозиторий
focus-os — отдельный GitHub-репозиторий и единый штаб. Он хранит каталог проектов, общий контекст и управление работой, но не смешивает код всех проектов в одной папке.
Внутри находятся:
PROFILE.md- моя цель, повторяющиеся ошибки и стиль общения;AGENTS.md- правила для AI-агентов;- GitHub Issues - текущая задача, идеи и история;
- код веб-приложения;
- API для Custom GPT и IDE.
Каждый настоящий проект остаётся отдельно:
focus-os → каталог проектов, цели, задачи и общая память
Lizgaro_site → код сайта lizgaro.ru
другой проект → его собственный код и документы
В Focus OS каждый проект получает короткую карточку: название, репозиторий, статус, последний результат и точку продолжения. Поэтому агент понимает сразу две вещи:
- в Focus OS - что и зачем сейчас делаем;
- в репозитории проекта - как это технически реализовано.
GitHub Issues как состояние работы
Один Issue - один конкретный результат.
В нём записано:
Результат
Зачем
Готово, когда
Следующее действие
Метрика
Срок
Проект и путь к нему
Что сейчас не делаем
Статусы максимально простые:
active- текущая работа;blocked- есть конкретный блок;idea- сохранено на потом;done- результат завершён;dropped- задачу сознательно отменили.
Одновременно может быть только один active. Остальные мысли не удаляются, но остаются в очереди и не забирают текущий фокус.
Веб-интерфейс для меня
GitHub удобен как хранилище, но каждый день работать через сырые Issues неудобно. Поэтому я сделал отдельный веб-интерфейс.
В нём три раздела:
- Сейчас - текущий результат, зачем он нужен, что считать завершением и что делать следующим.
- Задачи - активная работа и все сохранённые идеи.
- История - завершённые и отменённые результаты.
Я могу создать или отредактировать задачу, записать прогресс, отметить блокировку, завершить работу или запарковать новую идею.
Вебка не хранит отдельную копию данных. Она читает и обновляет те же GitHub Issues. Поэтому состояние не расходится между интерфейсом и агентами.
Custom GPT
Я создал GPT «Партнёр по результату» и подключил к Focus OS через Actions.
Через разговор с ним я могу:
- узнать текущую задачу;
- создать новый фокус;
- сохранить идею;
- записать прогресс;
- завершить результат.
Например, я пишу:
Запаркуй идею: сделать статью про Focus OS.
GPT вызывает API, а в GitHub появляется Issue с меткой idea. Активная задача при этом не меняется.
Или спрашиваю:
Что я сейчас делаю?
GPT читает актуальный Issue и отвечает по фактическому состоянию, а не пытается вспомнить старый разговор.
Coding-агенты
Для передачи технической работы в интерфейсе есть кнопка «Передать агенту».
Она копирует готовый бриф:
Центральный Focus OS: путь и ссылка
Текущий результат: что должно появиться
Готово, когда: условие завершения
Сейчас сделай: следующее действие
Проект: нужный репозиторий
Ограничения: что не менять
Этот текст я вставляю в Codex, Antigravity или другую IDE. Агент сначала читает общий контекст, затем открывает нужный проект и выполняет работу там.
Это не магическое автоматическое подключение любого ИИ. Агенту всё равно нужен доступ к репозиториям. Но мне больше не приходится вручную собирать задачу из нескольких чатов и файлов.
Как я работаю с системой на практике
Покажу на примере этой статьи.
1. Сохранил идею
Я попросил Custom GPT запарковать идею статьи. В Focus OS появился отдельный Issue с меткой idea. Идея сохранилась, но не перебила текущую работу.
2. Запустил её в работу
Когда предыдущая задача была завершена, я превратил идею в активный результат:
Результат: статья про Focus OS
Готово, когда: опубликована на lizgaro.ru
Следующее действие: дать задачу агенту
Проект: Lizgaro_site
3. Передал задачу Codex
Codex получил:
- контекст Focus OS;
- ссылку на активный Issue;
- путь к репозиторию сайта;
- критерий готовности;
- правила проекта.
Он не менял код Focus OS и не складывал статью в центральный репозиторий. Он перешёл в Lizgaro_site и создал черновик там, где хранятся статьи сайта.
4. Проверил результат как человек
Агент подготовил Markdown для сайта и DOCX для чтения. Я проверил текст и вернул его на переработку.
Это важная граница: Focus OS передаёт контекст и хранит состояние, но не заменяет моё решение о качестве результата.
5. Следующая сессия продолжила работу
Черновик не приняли, но задача не потерялась. В Issue осталось условие завершения - публикация на сайте, а следующим действием стала переработка текста.
Другой агент или новая сессия могут продолжить с этой точки без полного пересказа истории.
После публикации я добавлю ссылку на статью, закрою результат и увижу его в истории.
Как пользоваться Focus OS каждый день
Когда появилась новая задача
Если активной работы нет, я создаю новый фокус через вебку или GPT:
Что должно появиться?
Как понять, что готово?
Что нужно сделать сейчас?
В каком проекте работать?
Когда появилась новая идея
Я не начинаю её сразу, а сохраняю в разделе «Задачи» как idea. Позже её можно отредактировать или запустить в работу.
Когда нужен AI-агент
Я нажимаю «Передать агенту», вставляю бриф в нужную IDE и не пишу длинный промпт с нуля.
Когда работа продвинулась
Я или агент записываем только полезный факт:
- что изменилось;
- где находится результат;
- что делать дальше.
Вся переписка не превращается в память. Сохраняется только состояние, необходимое для продолжения.
Когда результат готов
Я добавляю ссылку или другое подтверждение, фиксирую фактический итог и закрываю задачу. Она переходит в историю, после чего можно активировать следующую.
Как внедрить такую систему себе
Не обязательно сразу писать веб-приложение. Базовую версию можно собрать вручную.
Уровень 1. GitHub и Markdown
- Создайте отдельный приватный репозиторий, например
focus-os. - Добавьте
PROFILE.mdс целями, правилами и важным личным контекстом. - Добавьте
AGENTS.mdс инструкцией для AI-агентов. - Создайте labels
active,blocked,idea,done,dropped. - Создавайте один active Issue с текущим результатом.
- После работы сохраняйте короткий итог в комментарии.
Минимальный Issue:
## Результат
Что должно появиться?
## Зачем
Для чего это делается?
## Готово, когда
Какой факт означает завершение?
## Следующее действие
Что нужно сделать прямо сейчас?
## Проект
Где лежат рабочие файлы?
Для начала работы достаточно дать агенту одну команду:
Прочитай PROFILE.md, AGENTS.md и единственный active Issue.
Затем работай в репозитории, указанном в задаче.
Уже на этом уровне разные coding-агенты смогут получать одинаковую исходную информацию.
Уровень 2. Веб-интерфейс
Если ручная схема работает, можно добавить интерфейс:
- Next.js для страниц и API;
- GitHub REST API для чтения и изменения Issues;
- Vercel для размещения;
- пароль для личного доступа.
Отдельная база данных не обязательна: источником состояния остаётся GitHub.
Уровень 3. Custom GPT Actions
Следующий шаг - описать API в OpenAPI-схеме и подключить его к Custom GPT.
Тогда задачами можно управлять прямо из разговора:
Покажи текущий фокус.
Запиши прогресс.
Сохрани эту идею на потом.
Уровень 4. Несколько агентов
Orca, OMP и параллельные агенты нужны только тогда, когда работа действительно делится на независимые части.
Для обычной задачи достаточно одного исполнителя:
Focus OS → Codex → проверка → результат
Сложная схема имеет смысл позже:
Grok исследует
→ Codex реализует
→ Antigravity проверяет интерфейс
→ итог сохраняется в Focus OS
Мой текущий стек
Память и задачи: GitHub Issues + Markdown
Человеческий интерфейс: Next.js + Vercel
Работа через разговор: Custom GPT + Actions
Основная разработка: Codex
Дополнительная IDE: Antigravity / Gemini
Исследование и критика: Grok
Код проектов: отдельные GitHub-репозитории
В веб-приложении нет встроенной LLM, векторной базы, RAG или автономного диспетчера. Его задача проще: хранить актуальное состояние и отдавать его тому инструменту, с которым я работаю сейчас.
Что в итоге получилось
До Focus OS каждый новый ИИ начинал почти с нуля. Мне приходилось быть памятью, диспетчером и ручным передатчиком контекста между чатами и проектами.
Теперь рабочий цикл выглядит так:
Я фиксирую результат один раз
→ Focus OS сохраняет его в GitHub
→ GPT и вебка видят одну задачу
→ coding-агент получает готовый контекст
→ работает в нужном проекте
→ итог возвращается в общую историю
Смысл Focus OS не в том, чтобы ещё сильнее автоматизировать мою жизнь. Он нужен, чтобы разные AI-инструменты перестали быть отдельными чатами и начали работать вокруг одной понятной задачи.
Если хотите собрать такую систему себе, начните не с сайта и оркестраторов. Создайте один репозиторий, два Markdown-файла и один active Issue. Проведите через них реальную задачу. Всё остальное добавляется только тогда, когда понятно, какого действия вам не хватает.
О том, как я собираю AI-инструменты и проверяю их на реальных проектах, пишу в Telegram (откроется в новой вкладке).
FAQ
Что такое Focus OS простыми словами?+
Это единый штаб проектов и веб-интерфейс, где хранятся ссылки на проекты, одна текущая цель, следующие действия, идеи и история результатов. GPT и coding-агенты получают оттуда одинаковый контекст.
Focus OS заменяет таск-менеджер?+
Нет. Он не управляет большой командой и сотнями задач. Его задача - удерживать один активный результат и передавать его между человеком и разными AI-инструментами.
Как AI-агент получает контекст?+
Custom GPT читает его через Actions. Для Codex или другой IDE вебка формирует готовый бриф с целью, критерием завершения, следующим действием, проектом и ссылкой на Issue.
Можно ли собрать Focus OS без программирования?+
Да. Для минимальной версии достаточно приватного GitHub-репозитория, файлов PROFILE.md и AGENTS.md, labels и одного active Issue. Вебку и API можно добавить позже.
Сохранить главное
Что забрать из статьи
- Focus OS становится единым штабом всех проектов и общей памятью для человека, GPT и coding-агентов.
- GitHub Issues отвечает за состояние работы, а код каждого проекта остаётся в отдельном репозитории.
- Минимальную версию можно собрать без вебки: приватный GitHub, PROFILE.md, AGENTS.md и один active Issue.
Проект
Посмотреть Focus OS целиком
Отдельная страница проекта: проблема, устройство, рабочий стек и сценарий передачи контекста между ИИ.
Дальше по теме
