Вайбкодинг, AI агенты

Focus OS: единый штаб моих проектов и AI-агентов

Как я собираю все проекты, задачи и решения в одном штабе, чтобы Codex, Gemini, Custom GPT и разные IDE продолжали работу без пересказа контекста.

2026-07-16/12 мин/Артём Лизгаро

Если узнал свою ситуацию, сначала посмотри направления и формат работы. Там же есть примеры того, что можно прислать.

Иллюстрация к статье «Focus OS: единый штаб моих проектов и AI-агентов»

Я сделал 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 пять конкретных задач:

  1. Хранить одну актуальную цель, а не двадцать «главных» задач.
  2. Показывать мне текущее состояние через простой человеческий интерфейс.
  3. Давать разным AI-агентам одинаковый контекст.
  4. Не смешивать общую память с кодом отдельных проектов.
  5. Сохранять итог работы, чтобы следующая сессия продолжалась с нужного места.

Какие референсы я использовал

Focus OS появился не из пустоты. Я соединил два подхода и добавил слой, которого мне не хватало.

Андрей Карпатый: память должна накапливаться, а не исчезать в чатах

Андрей Карпатый (Andrej Karpathy) — словацко-канадский исследователь в области машинного обучения и ИИ, сооснователь OpenAI и бывший директор по ИИ в Tesla. В своём LLM Wiki (откроется в новой вкладке) он описал базу знаний из трёх слоёв:

  1. Raw sources - неизменяемые первоисточники.
  2. Wiki - связанные Markdown-страницы, которые создаёт и поддерживает LLM.
  3. Schema - CLAUDE.md или AGENTS.md, где записаны структура и правила работы.

Смысл в накоплении. Обычный чат или RAG каждый раз заново собирает ответ из фрагментов. В LLM Wiki модель один раз встраивает новый источник в существующую структуру: обновляет страницы, связи, противоречия, индекс и журнал. Хороший ответ тоже можно сохранить обратно, вместо того чтобы потерять его в истории чата.

Я не копировал LLM Wiki целиком. Мне была нужна не энциклопедия знаний, а оперативная память работы: что сейчас главное, где лежит проект, что уже сделано и какой следующий шаг.

Поэтому я адаптировал его три слоя:

LLM Wiki КарпатогоFocus OS
Raw sourcesРепозитории проектов и реальные рабочие файлы
WikiIssues, комментарии и Markdown с текущим состоянием
SchemaAGENTS.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 неудобно. Поэтому я сделал отдельный веб-интерфейс.

В нём три раздела:

  1. Сейчас - текущий результат, зачем он нужен, что считать завершением и что делать следующим.
  2. Задачи - активная работа и все сохранённые идеи.
  3. История - завершённые и отменённые результаты.

Я могу создать или отредактировать задачу, записать прогресс, отметить блокировку, завершить работу или запарковать новую идею.

Вебка не хранит отдельную копию данных. Она читает и обновляет те же 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

  1. Создайте отдельный приватный репозиторий, например focus-os.
  2. Добавьте PROFILE.md с целями, правилами и важным личным контекстом.
  3. Добавьте AGENTS.md с инструкцией для AI-агентов.
  4. Создайте labels active, blocked, idea, done, dropped.
  5. Создавайте один active Issue с текущим результатом.
  6. После работы сохраняйте короткий итог в комментарии.

Минимальный 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 целиком

Отдельная страница проекта: проблема, устройство, рабочий стек и сценарий передачи контекста между ИИ.

Дальше по теме