Мій ШІ-тренер з бігу: репозиторій Git і агент Claude
Я закінчую пробіжку, годинник синхронізується, і через три хвилини аналіз уже записаний у мій репозиторій, тиждень перебудовано, а тренер залишив коментар під активністю в Strava. Жодного написаного застосунку, жодного сервера, жодного рахунку за токени: підписка Claude, AgentsRoom і файли Markdown. Ось уся збірка, яку можна повторити.
Я закінчую тренування. Годинник сам синхронізується зі Strava, як завжди. Я йду в душ.
Поки я миюся, три речі стаються без моєї участі. Аналіз тренування записаний у мій тренувальний репозиторій. Тиждень перебудовано, і поруч зазначено причину зміни. А під активністю в Strava висить коментар мого тренера: чого варте це тренування і що воно змінює для п'ятниці.
Цей тренер не застосунок, який я написав. Це репозиторій Git із файлами Markdown, підписка Claude і AgentsRoom, який тримає все разом. Жодного написаного сервера, жодного рахунку за токени, приблизно вихідні на збірку.
Усе це опубліковано як шаблон: github.com/AgentsRoomDev/running-performance-coach. Його можна клонувати і зробити своїм, заповнивши залишені порожніми місця. Ця стаття пояснює, як він працює, шматок за шматком, і розрахована на того, хто чув слово «API», але ніколи не писав вебхук.
Для контексту: бігаю я давно, 2:47 на марафоні, 1:13:59 на половинці, 33:45 на 10 км. Мета поточного циклу: знову вибігти 10 км із 34 хвилин. Це важливо для подальшого: універсальний тренер, який заново пояснює мені, що таке порогове тренування, мені марний, і саме цю проблему збірка розв'язує.
Що відбувається між кінцем пробіжки і коментарем
Увесь ланцюжок укладається в шість кроків:
- Годинник надсилає активність у Strava. Це й так відбувається в усіх.
- Кожні 15 хвилин маленький скрипт на Python питає у Strava, чи є щось нове.
- Знайшовши нове тренування, він збирає в моєму репозиторії картку тренування в Markdown: кола, відсічки, обсяг, пульс. Тільки виміряне.
- Він же переписує назву та опис активності в Strava, щоб у стрічці перестало висіти «Денна пробіжка».
- Потім він надсилає підписане повідомлення в AgentsRoom, і той відкриває агента Claude з тренуванням уже на руках.
- Цей агент робить тренерську роботу: читає, порівнює, пише аналіз, править тиждень, комітить, пушить, коментує в Strava і надсилає мені довгий звіт на пошту.
Перші п'ять кроків це технічна обв'язка. Шостий і є предметом цієї статті.
Щоденник тренувань живе в репозиторії Git, а не в базі даних
Це рішення змінює все, і воно ж дивує людей найдужче.
Одне тренування = один файл, journal/2026/2026-09-03.md. Один тиждень = один файл, plan/weeks/2026-W36.md. Одна зміна плану = один коміт, із причиною в повідомленні. Немає бази даних, немає схеми, немає міграцій, немає інтерфейсу.
Три наслідки, за спаданням важливості:
Тренер може перечитати власну історію. Він знає, що призначив три тижні тому, і може перевірити, чи спрацювало це. Чат-бот, якому ви розповідаєте про тренування, щоразу починає з нуля. В агента з репозиторієм є пам'ять, і цю пам'ять читає людина.
Свій план я читаю з телефона, у застосунку GitHub. README.md репозиторію це не сторінка-презентація, а моя панель керування. Контракт, записаний у CLAUDE.md, говорить про це прямо: планування не завершене, поки README його не відображає. Підсумок: мені нема чого підтримувати у вигляді інтерфейсу, і при цьому в мене є екран, який каже, що я роблю сьогодні.
Нічого незворотного. Усе, що пише агент, це коміт. Я можу його прочитати, оскаржити, відкотити. Це зовсім не те саме, що застосунок, який вирішує сам за себе.
Крок 1: Strava будить маленький скрипт
У Strava є API: спосіб для програми запитати «дай мені недавні активності цього атлета». Скрипт strava_sync.py робить саме це і перетворює відповідь на картку тренування.
Цікава не мережева частина, а відновлення. Годинник записує сирі кола. Скрипту треба зрозуміти, що це було за тренування:
Lap 1 : 4.40 km in 26'07 (5:56/km) ← розминка
Lap 2 : 1.00 km in 3'41 (3:41/km) ← відрізок 1
Lap 3 : 0.20 km in 1'59 (9:55/km) ← трюхання між відрізками
... → «5 x 1000m r' 2'»
Він перебирає всі розбиття виду «k найшвидших кіл це відрізки» і лишає найкраще з тих, що тримаються. Звучить тривіально, але це не так: наївна кластеризація за швидкістю потрапляє в пастку рівно тоді, коли розминка виявляється швидшою за трюхання.
Головне, форма тренування відновлюється з годинника, ніколи з плану. Спокусливо зробити навпаки (у плані написано 5 x 1000m, отже так і запишемо), і це саме та помилка: увесь сенс у тому, щоб піймати дні, коли я зробив щось інше. Коли ці двоє розходяться, саме розходження і є знахідкою, і тренер її бачить:
Заплановано 3 x 8' → біг безперервно
Два попередження перед стартом.
API Strava з червня 2026 року вимагає платної підписки розробника. Без неї кожен виклик відповідає 403 Application Status Inactive. Запасний шлях існує і закладений у шаблон: вивантажити файл TCX із годинника і віддати його import_tcx.py. Усе, що йде після імпорту, працює точно так само.
Квоти щедрі, але реальні. На моєму застосунку 300 запитів кожні 15 хвилин і 3 000 на день на читання. У сталому режимі скрипт витрачає один за прохід, тобто 96 на день. До стелі далеко, але це якраз те, що перевіряють до, а не після.

Крок 2: скрипт будить агента, з підписом
Ось тут стає цікаво.
Вебхук це протилежність запитанню. Замість того щоб кожні п'ять хвилин питати, чи є щось нове, ви віддаєте програмі вебадресу, і вона сама надсилає повідомлення, коли подія стається. Поки нічого не стається, ви не платите нічого.
AgentsRoom пропонує саме це: вебхук-тригер. Ви створюєте тригер у застосунку, він повертає вам URL і секрет. Будь-хто, хто надішле JSON-повідомлення на цю URL, відкриє агента з вашим промптом і вже вкладеним у нього вмістом повідомлення.

Повідомлення, яке надсилає мій скрипт, навмисно крихітне:
{
"type": "created",
"title": "03/09 · 5 x 1000m r' 2'",
"body": "Тренування від 03/09/2026, імпортоване зі Strava.\n\nЯкісне тренування: 5 x 1000m r' 2'\nВідсічки: 3'41 - 3'40 - 3'38 - 3'40 - 3'35\n\nЗагальний обсяг: 12.51 km за 1h07'42 (5:25/km), набір висоти 56 m\nЗаплановане тренування: RP10-5x1000\n\nКартка тренування: journal/2026/2026-09-03.md\nКартка тижня: plan/weeks/2026-W36.md"
}
Зверніть увагу, чого там немає: тексту плану. Вебхук несе код запланованого тренування і шлях до карток, але ніколи їхній вміст. Агент, у якого є репозиторій, прочитає їх сам; агентові, у якого його немає, нема чого робити з моїми внутрішніми вказівками. Правило те саме, що й для описів, які публікуються в Strava.
Підпис і пастка, яка йде з ним
Публічна URL, що відкриває агента, не може лишатися відкритою для будь-кого, хто її знайде. Тому тригер підписаний: скрипт рахує відбиток повідомлення зі спільним секретом (HMAC-SHA256, якщо це словосполучення вам про щось говорить) і надсилає його в заголовку X-AgentsRoom-Signature. Сервер перераховує той самий відбиток у себе; якщо вони не збігаються, він відмовляє.
Без підпису відповідь коротка:
{"error":"REJECTED","message":"Signature missing."}
І ось пастка, яка коштувала мені вечора. Підпис покриває рівно ті байти, що йдуть у мережу, а не об'єкт у пам'яті. Якщо ви підписали файл у тому вигляді, в якому він лежить на диску, а потім дали іншому шару заново серіалізувати об'єкт (зайвий пробіл, інший порядок ключів, інакше екранований символ), ви отримаєте цілком правильний підпис для повідомлення, якого сервер ніколи не отримає. Відмову не налагодити: з обох боків усе виглядає правильно.
Виправлення вміщається в одну фразу: серіалізуємо і підписуємо в одному місці. У шаблоні це робить функція post_json, і більше нічому не дозволено чіпати тіло повідомлення.
Крок 3: три шари кажуть тренерові, хто він, як тут усе влаштовано і що робити просто зараз
Агент, який тренує, це не один великий промпт. Це три окремі тексти, і поділ між ними важить.
Шар 1, персона: хто він
Системний промпт, прикріплений до агента в AgentsRoom. Він несе філософію тренувань і навмисно не прив'язаний до виду спорту: він тренував би будь-кого.
Ваше завдання не просто генерувати тренувальні плани. Ви безперервно тренуєте атлета: аналізуєте його тренування, розумієте його поточну форму, адаптуєте майбутні заняття. […] Говоріть як досвідчений тренер, а не як мотиваційний чат-бот.
Він також каже, чого не робить: не судить тренування лише за тим, чи витриманий цільовий темп, прямо говорить про невизначеність прогнозу на змагання і не схвалює мету просто тому, що атлетові так хочеться. Саме останній рядок робить тренера корисним.
Писати його самому не треба: ця персона опублікована в каталозі агентів AgentsRoom під назвою Running Performance Coach. Один клік, і вона встановлена, готова до роботи.
Шар 2, CLAUDE.md: як тут усе влаштовано
Це контракт, який читається на початку кожної сесії. У ньому розкладка файлів, правила, що тримають її в порядку, тренувальні принципи, які обмежують будь-яку пропозицію, і головне ритуал: точна послідовність дій, коли про тренування доповіли.
Один витяг, бо він показує рівень точності:
Порядок жертв, коли тиждень розвалюється: спершу зайві хвилини на легких пробіжках, потім силова робота, потім довжина довгого бігу, потім одне якісне тренування. Ніколи весь тиждень цілком.
Ось тут тренер перестає бути чат-ботом. Він не вигадує порядок дій щоразу, а йде за тим, який я написав одного разу. Якщо з репозиторію-шаблону ви прочитаєте лише один файл, читайте цей.
Шар 3, промпт тригера: що робити просто зараз
Це повідомлення, яке передається агентові, коли прилітає тренування. Активність приходить до нього через змінні шаблону: {{event.title}}, {{event.body}}, {{event.url}}. Тож агент стартує з тренуванням уже на руках, а не йде його шукати.

Ось його каркас, яким він лежить у тригері:
Нове тренування імпортоване зі Strava.
**{{event.title}}** · активність {{event.id}}
{{event.url}}
{{event.body}}
---
Ти в репозиторії `training-plan`. Спершу прочитай `CLAUDE.md`: це закон.
Ти пишеш моєю мовою і всюди звертаєшся до мене напряму (§3).
Ритуал §6 застосовується, але його **крок 1 уже зроблено**: `strava_publish.py`
створив картку тренування і закомітив її. Ти продовжуєш із кроку 2 і йдеш
до самого кінця. Три результати, у такому порядку: **аналіз у репозиторії**,
**коментар під активністю в Strava**, **лист**.
⚠️ **Ти працюєш без нагляду: запитання ніхто не прочитає.** Ніколи не проси
розсудити: ти вирішуєш, ти дієш і кажеш у звіті, що саме ти обрав і чому.
## 1 · Проаналізувати і виправити план (ритуал §6, кроки з 2 до 6)
1. Спершу `git pull --rebase`: картка може прийти із сервера.
2. Читай у такому порядку: картку сьогоднішнього дня, картку тижня,
`athlete/zones-and-paces.md` і **останні 3 картки тренувань**:
тренування ніколи не судять окремо.
3. Напиши розділ `## Analysis`: **спершу вердикт**, потім сигнали, які
його несуть, потім що це змінює.
⛔ Якщо `## Analysis` уже заповнений, не переписуй його.
4. Онови картку тижня і запиши **кожну** зміну плану під
`## Adjustments`, з її причиною.
5. **Перезбери `README.md`**: це екран, який я читаю з телефона.
6. Коміть і пуш, явні шляхи, ⛔ ніколи `git add -A`.
## 2 · Кудос і коментар у Strava
⛔ Коментар у Strava ПУБЛІЧНИЙ: без цільового пульсу, без болячок,
без внутрішніх компромісів, без прогнозу фінішного часу.
## 3 · Повний звіт листом
Найбільше роботи робить рядок посередині: «запитання ніхто не прочитає». Агент, який працює без людини перед екраном і просить розсудити, не помиляється, він просто зупиняється, а ви дізнаєтеся про це наступного дня.
Яка модель і чому мільйон токенів це не примха
| Налаштування | Значення |
|---|---|
| Модель | Claude Opus, контекст 1M |
| Зусилля міркування | Високе |
| Режим дозволів | Автономний |
| Доступ до браузера | Увімкнено |

Довгий контекст тут не оздоба. Щоб правильно оцінити одне тренування, тренер читає картку дня, картку тижня, таблицю опорних темпів і три попередні тренування. Тренування ніколи не судять окремо: накопичене навантаження, порядок днів і поточні точки уваги повністю змінюють вердикт. Три відрізки по 3'38 наступного дня після двогодинного довгого бігу розповідають зовсім не ту історію, що ті самі 3'38 після дня відпочинку.
Автономний режим це не недбалість, а наслідок: у запуску, за якого перед екраном нікого немає, немає й того, хто схвалить git push. А доступ до браузера це те, що дозволяє агентові піти прокоментувати в Strava і надіслати листа: дві речі, у яких тут немає зручного API.
Що автоматизовано, а що навмисно ні
Це проєктне рішення, яким я задоволений найбільше, і його легко проґавити.
Завдання імпорту записує і публікує, але ніколи не судить.
| Що скрипт робить | Чого він не робить |
|---|---|
| Забирає нові активності | Заповнює розділ Analysis |
| Створює картку тренування | Чіпає картку тижня |
| Пише назву і опис у Strava | Чіпає опорні темпи |
| Комітить створені картки | Висловлює думку |
Скрипт, який почав би судити, видавав би вердикти без контексту, з логікою, застиглою в коді, який ніхто не перечитує. Судити означає тримати разом навантаження тижня, поточну форму і те, що було сказано минулого разу: це тренерська робота, і її робить агент, у якого перед очима вся справа цілком.
Практична вигода видна одразу: коли агент не відпрацював (машина вимкнена, API лежить), картка все одно є. Нічого не втрачено, бракує тільки коментаря, і досить повторити подію.
Ще один вибір у той самий бік: скрипт не веде файл стану, щоб пам'ятати, що він уже обробив. Джерело істини це опис у Strava. Порожній, він пише; зі своїм підписом, він проходить повз; непорожній і без підпису, отже його написали ви, і він його не чіпає. Локальний файл стану нічого не сказав би про те, що зробила інша машина; так само дві машини можуть працювати паралельно, не наступаючи одна одній на ноги.
Ще два правила поділу, викарбувані в репозиторії, і обходити їх не можна:
- опис, що публікується в Strava, ніколи не копіює текст плану: у моїй картці тижня є цільові пульси і компроміси, яким нема чого робити на публічній активності;
- опис, написаний вручну, ніколи не перезаписується.
Коментар, який з'являється під активністю
Сенс не в самопохвалі. Сенс у тому, що вердикт тренера читається з телефона, просто під активністю, без відкривання репозиторію, і лишається там, прив'язаний до тренування, назавжди.
Тому коментар навмисно вузький: емодзі вердикту, цифра, яка його несе, і що це змінює для наступного тренування. Близько 250 знаків.
✅ П'ять відрізків у середньому по 3'39 за цілі 3'38-3'44, і пульс рівний на всьому блоці. Таблиця темпів тримається. П'ятниця лишається легкою: запас тижня ти вже витратив.
Довга версія, та, що з пульсами, позначеною мною точкою уваги і рішенням щодо обсягу наступного тижня, іде в репозиторій і в лист. Два канали, дві аудиторії, і межу тримає промпт.
Три речі, які ламаються тільки в бою
Кожен із цих рядків існує тому, що без нього щось зламалося. Вони повчальніші, ніж уся решта статті.
1. Закріпити браузер. У мене в Chrome підключені два розширення Claude. Ніщо не гарантує, яке з них дістанеться агентові, а сесія Strava живе тільки в одному. Підсумок: через раз агент опинявся не в тому браузері, без входу в акаунт, і не міг нічого прокоментувати. Вибір браузера за ідентифікатором пристрою не зберігається від сесії до сесії, тож йому місце в промпті, разом із прямою забороною йти питати в користувача, який обрати. Без нагляду запитання це глухий кут.
2. У поля коментаря в Strava немає maxlength. Ніщо в браузері не заважає написати надто довго: відмовляє сервер при надсиланні. Агент, який склав гарний абзац на 600 знаків, набирає його цілком, тисне «Опублікувати» і дістає незрозумілу йому помилку. Отже, промпт має вимагати стислості до написання і передбачити цей випадок: якщо надсилання не пройшло, скоротити і опублікувати заново, але ніколи не розбивати на два коментарі.
3. Один коментар тренера на активність. Коли ви повторюєте подію для перевірки (а на початку це робиш часто), без цього правила агент нагромаджує коментарі на вже оброблену активність. Тому промпт змушує його прочитати вкладку «Коментарі» перед тим, як писати, і пропустити хід, якщо він там уже є. Та сама логіка на боці репозиторію: якщо розділ ## Analysis уже заповнений, його не переписують.
У що це обходиться
| Частина | Де | Вартість |
|---|---|---|
| Агент-тренер | Моя машина, через AgentsRoom | моя підписка Claude |
| Опитування кожні 15 хвилин | Невелика машина на Linux, завжди увімкнена | ~5 €/місяць або нуль на Raspberry Pi |
| Щоденник | Приватний репозиторій Git | безкоштовно |
| API Strava | Strava Developer Program | див. тарифи Strava |
У цій збірці немає ключа API з оплатою за токени. Це той момент, який, як на мене, недооцінюють найдужче: те саме, побудоване на API з оплатою за використання, крутило б лічильник на кожному тренуванні, і я б, найпевніше, його не зберіг.
Зібрати це на вихідних
Кроки по порядку. Розраховуйте на вечір, якщо у вас уже є акаунт Strava і підписка Claude.
1. Клонувати шаблон і зробити його своїм.
git clone https://github.com/AgentsRoomDev/running-performance-coach.git my-coach
cd my-coach
rm -rf .git && git init
Зробіть свою копію приватною. Щоденник тренувань містить дані про здоров'я: пульс, сон, травми. Шаблон публічний, ваша копія такою бути не повинна.
Далі заповніть у такому порядку: athlete/profile.md (який ви бігун), athlete/records.md (ваші особисті рекорди), athlete/constraints.md (вікна, які у вас справді є), athlete/zones-and-paces.md (ваші опорні темпи), plan/objective.md (старт і мета), потім CLAUDE.md, де ви заміняєте кожне місце {{...}}.
Насамкінець відкрийте репозиторій своїм агентом Claude і скажіть йому: «прочитай CLAUDE.md і athlete/, потім збери мені перший тиждень».
2. Під'єднати Strava.
cp .env.example .env && chmod 600 .env
python3 scripts/strava_oauth.py # один клік у браузері, один раз
python3 scripts/strava_sync.py --dry-run
--dry-run друкує те, що було б записано, нічого не записуючи. Це момент перевірити, що відновлення тренувань вас влаштовує.
3. Створити тригер в AgentsRoom. У розділі Triggers, New trigger:
| Поле | Значення |
|---|---|
| Тип | Webhook, джерело generic |
| Промпт | вміст docs/trigger-prompt.md |
| Роль / персона | docs/coach-persona.md |
| Режим дозволів | Автономний |
| Доступ до браузера | Увімкнено |
AgentsRoom видає URL і секрет для підпису. Покладіть обидва у свій .env:
WEBHOOK_URL=https://agentsroom.dev/api/triggers/t_xxxxxxxxxxxx
WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxxxx
4. Перевірити його, перш ніж йому довіряти.
python3 scripts/webhook_replay.py scripts/examples/webhook-session.json --dry-run
python3 scripts/webhook_replay.py scripts/examples/webhook-session.json
Це проганяє тренування через тригер, не чекаючи вашої наступної пробіжки і не чіпаючи стан автоматичного завдання. Ви маєте побачити ✅ HTTP 202, і в AgentsRoom має відкритися вкладка агента.
5. Запускати кожні 15 хвилин.
bash scripts/systemd/install.sh # на сервері під Linux
Юніт oneshot плюс таймер: жодного резидентного процесу, а прохід, пропущений, поки машина була вимкнена, надолужується під час наступного запуску.
Якщо постійно увімкненої машини немає, пропустіть цей крок: запускайте strava_sync.py руками, коли заманеться, або просто розкажіть про своє тренування агентові в розмові. Ритуал із CLAUDE.md працює точно так само. Ви втрачаєте автоматизацію, але не тренера.
Що я з цього виніс, поза бігом
У цій збірці немає нічого специфічного для бігу. Вона показує прийом, який можна повторити майже для будь-якої галузі, де ви накопичуєте особисті дані і хотіли б отримати щодо них компетентну думку.
Три частини, і все. Репозиторій Git із файлами Markdown як пам'ять, читабельна і машиною, і вами. Подія, яка будить агента, замість агента, який опитує по колу і палить токени намарно. Три шари конфігурації, що чисто розділяють, хто такий агент, як він працює у вас і що йому робити цієї миті.
Замініть «бігове тренування» на «виписку з банку», «сесію кодингу», «вимір цукру в крові» або «нотатку про прочитане»: механіка не змінюється.
Часті запитання
Чи треба вміти програмувати, щоб зібрати ШІ-тренера з бігу?
Треба вміти запустити команду в терміналі та відредагувати текстовий файл. Репозиторій-шаблон готовий до клонування, скрипти на Python не використовують нічого, крім стандартної бібліотеки (жодного pip install), а тренерська частина налаштовується звичайною прозою у файлах Markdown. Справжня робота тут не технічна: чесно описати, який ви бігун і до чого йдете.
Скільки це коштує на місяць?
Агент працює на підписці Claude, яка у вас уже є (Pro або Max): ключа API з оплатою за токени тут немає. Зверху може знадобитися невелика машина, увімкнена постійно, щоб опитувати Strava кожні 15 хвилин: близько 5 євро на місяць на VPS або нуль на Raspberry Pi. Приватний репозиторій Git безкоштовний. Залишається API Strava, який із червня 2026 року вимагає платної підписки розробника.
Чому репозиторій Git, а не база даних?
Бо історія стає читабельною: і для тренера, і для вас. Кожне тренування записане як файл Markdown, кожна зміна плану як коміт зі своєю причиною. Агент може перечитати те, що призначив три тижні тому, і перевірити, чи спрацювало це, а ви читаєте свій план із телефона в застосунку GitHub, не написавши жодного рядка інтерфейсу.
Що таке вебхук, якщо пояснити просто?
Вебхук працює навпаки: не ви запитуєте сервіс, а сервіс сам звертається до вас. Замість того щоб кожні п'ять хвилин питати, чи є щось нове, ви віддаєте програмі вебадресу, і вона надсилає повідомлення, коли подія сталася. Тут це повідомлення надсилає скрипт, який імпортує тренування, а отримує його AgentsRoom і за секунду відкриває агента Claude. Звідси ж і дешевизна збірки: агент, який опитує по колу, палить токени на кожному ході, а вебхук-тригер не коштує нічого, поки нічого не стається.
Чи працює це для іншого виду спорту, не для бігу?
Так. Імпорт відновлює кола з годинника, а велосипед і плавання теж пишуть кола. Змінюються файли стратегії та каталог тренувань, а це текст, який ви переписуєте. Механіка (імпорт, вебхук, агент, репозиторій) залишається тією самою.
Чи може агент помилитися і зламати мій план?
Помилитися може, але зламати багато чого не зуміє: усе, що він пише, це коміт Git, який ви можете прочитати, оскаржити і відкотити. Файл CLAUDE.md прямо забороняє йому переписувати історію, вигадувати дані, яких ви не давали, змінювати план без зазначення причини і давати медичні поради. Підозрілий біль, і він відправляє вас до фахівця.
Репозиторій-шаблон лежить тут: AgentsRoomDev/running-performance-coach. Клонуйте його, впишіть свої темпи, і у вас є свій тренер. Якщо хочете подивитися на ту частину, яка будить агента, вона описана на сторінці вебхук-тригери, а AgentsRoom завантажується тут.
Завантажити AgentsRoom
Запускайте всіх своїх AI-агентів на всіх своїх проєктах з одного вікна.
Додаток-компаньйон: контролюйте своїх агентів на ходу
Використовуйте свого: Claude, Codex, Antigravity CLI або іншого AI-провайдера.
Надсилайте баги та запити прямо у свій публічний беклог.
Погляд на AgentsRoom в дії.
Читати далі
Antigravity CLI тримає один вхід Google на всю машину. Ось що працює натомість.
Чому дві підписки Google AI Pro не можна чергувати в Antigravity CLI, де він насправді зберігає ваш вхід, що перемикачі облікових записів справді роблять із системною зв'язкою ключів, чому сімейний тариф не подвоює квоту, і єдиний підхід, який справді запускає кілька облікових записів паралельно.
Читати статтюСкільки токенів у мене залишилося в Claude? Такого числа не існує.
Ваша підписка Claude вимірюється не в токенах, тому жоден екран не показує балансу токенів. Ось що насправді обліковується, де це подивитися і чому воно витрачається, поки ви нічого не пишете, і що змінюється для тижневого вікна 14 вересня 2026 року.
Читати статтюТепер код пишуть агенти. Ось чим стала робота розробника.
Писати код було лише однією ланкою з шести, і саме її забрали агенти. Решта п'ять поважчали. Розбір роботи, яка лишилася: почути запит, вирішити, скласти бриф, вести виконання, переглянути, випустити.
Читати статтю