01Зачем GSD-2
Оригинальный GSD стал вирусным как промпт-фреймворк для Claude Code. Он работал, но боролся с инструментом — инжектил промпты через slash-команды и надеялся, что LLM их выполнит. Без реального контроля над контекстными окнами, сессиями или выполнением.
GSD-2 — другой. Это standalone CLI на Pi SDK, что даёт прямой TypeScript-доступ к самому agent harness. То есть GSD теперь может реально делать то, что v1 мог только попросить LLM сделать.
Контроль контекста
Чистит контекст между задачами программно. Каждый таск — свежее 200k-токеновое окно с предзагруженными нужными файлами.
Реальное auto mode
State machine читает .gsd/ файлы и диспатчит следующий unit. Не LLM в цикле — настоящий оркестратор.
Git worktree изоляция
Каждый маилстоун в своём worktree. Атомарные коммиты, squash merge, чистая история на main.
Crash recovery
Lock-файлы и session forensics. Если сессия упала — следующий запуск восстанавливает состояние.
Cost tracking
Per-unit учёт токенов и стоимости. Дашборд показывает текущие траты и проекции. Budget ceiling приостанавливает auto mode.
Stuck detection
Sliding-window детектор паттернов цикличности. Останавливается с диагностикой вместо бесконечного зацикливания.
02В чём разница с v1
Оригинальный GSD был коллекцией markdown-промптов. Полагался на то, что LLM прочитает их и сделает правильно. GSD-2 — TypeScript-приложение, которое контролирует agent-сессию.
| v1 (Промпт-фреймворк) | v2 (Agent-приложение) | |
|---|---|---|
| Рантайм | Slash-команды Claude Code | Standalone CLI через Pi SDK |
| Контекст | Надежда что LLM не забьёт окно | Свежая сессия на каждый таск |
| Auto mode | LLM в self-loop | State machine читает .gsd/ |
| Crash recovery | Нет — начинай заново | Lock-файлы + session forensics |
| Git стратегия | LLM пишет git-команды | Worktree изоляция, squash merge |
| Cost tracking | Нет | Per-unit ledger токенов и стоимости |
| Stuck detection | Нет | Retry один раз, потом stop с диагностикой |
| Timeout supervision | Нет | Soft / idle / hard timeouts |
| Skill discovery | Нет | Авто-детект и установка скиллов |
| Reporting | Нет | Self-contained HTML отчёты |
| Параллельное выполнение | Нет | Multi-worker оркестрация |
03Структура работы
GSD-2 структурирует работу в иерархию из трёх уровней. Железное правило: таск должен помещаться в одно контекстное окно. Если не помещается — это два таска.
Цикл слайса
Каждый слайс автоматически проходит через фазы:
Plan (с research) → Execute (per-task) → Complete → Reassess Roadmap → Next Slice
↓ (все готовы)
Validate Milestone → Done Plan — изучает кодовую базу, ресерчит документацию, разбивает слайс на таски с must-haves. Execute — каждый таск в свежем контекстном окне с предзагруженными файлами. Запускает verification commands (lint, test) с auto-fix retries. Complete — пишет summary, UAT-скрипт, отмечает roadmap, коммитит. Reassess — проверяет, актуален ли roadmap. Validate Milestone — финальный гейт перед закрытием.
04Установка
Шаг 1 — Установить пакет
$ npm install -g gsd-pi Нужен Node.js 22+ (рекомендуется 24 LTS). Если Node ставился через Homebrew на Mac — может быть development release вместо LTS, лучше пинить 24 LTS.
Шаг 2 — Логин в LLM-провайдер
$ gsd > /login Выбираешь из 20+ провайдеров: Anthropic, OpenAI, Google, OpenRouter, GitHub Copilot и других. Если есть подписка Claude Max или GitHub Copilot — OAuth-флоу делает всё сам. Иначе вставляешь API-ключ.
⚠️ Важно про Google Gemini OAuth
Использование OAuth-токенов от Gemini CLI или Antigravity в сторонних инструментах привело к блокировкам Google-аккаунтов. Это влияет на весь Google-аккаунт, не только на Gemini. Используй API-ключ Gemini вместо OAuth.
Шаг 3 — Использование
$ cd my-project
$ gsd Открывает интерактивную agent-сессию. Дальше два пути:
Step mode — /gsd
Выполняет один unit за раз, паузится между ними с визардом. Та же state machine что в auto mode, но ты в цикле принятия решений.
Auto mode — /gsd auto
Запустил, ушёл, вернулся. Ресерч → планирование → выполнение → верификация → коммит → следующий слайс. Полный маилстоун без babysitting'а.
Два терминала, один проект
Реальный воркфлоу: auto mode в одном терминале, рулёжка из другого.
# Терминал 1 — пусть строит $ gsd > /gsd auto # Терминал 2 — рулим параллельно $ gsd > /gsd discuss # обсудить архитектурные решения > /gsd status # проверить прогресс > /gsd queue # поставить в очередь следующий маилстоун Оба терминала читают и пишут одни .gsd/ файлы на диске. Решения из второго терминала подхватываются автоматически на следующей фазе — без остановки auto-режима.
05Auto Mode — главное
То, что отличает GSD-2 от всего остального. Запустил, ушёл, вернулся к построенному софту.
> /gsd auto Auto mode — это state machine на основе файлов на диске. Читает .gsd/STATE.md, определяет следующий unit работы, создаёт свежую agent-сессию, инжектит фокусированный промпт со всем нужным контекстом, и даёт LLM выполнить. Когда LLM закончил, auto mode снова читает диск и диспатчит следующий unit.
Что под капотом
Свежая сессия на unit
Каждый таск, ресерч, плановый шаг получает чистое 200k-токеновое окно. Никакого накопленного мусора.
Pre-loading контекста
Dispatch-промпт включает inline'ом таск-планы, slice-планы, прошлые summaries, dependencies, roadmap. LLM начинает со всем нужным.
Worktree изоляция
Каждый маилстоун — свой git worktree с веткой milestone/<MID>. Сquash-merge на main одним чистым коммитом.
Crash recovery
Lock-файл трекает текущий unit. Сессия умерла — следующий /gsd auto читает уцелевший session-файл, синтезирует recovery briefing из всех tool calls дошедших до диска.
Provider error recovery
Транзиентные ошибки (rate limits, 500/503) — авто-резюме после задержки. Permanent ошибки (auth, billing) — пауза для ручного ревью.
Timeout supervision
Soft timeout предупреждает LLM закругляться. Idle watchdog детектит зависания. Hard timeout ставит на паузу.
Cost tracking
Каждый unit captures токены и стоимость по фазе/слайсу/модели. Дашборд показывает running totals и проекции. Budget ceiling приостанавливает работу.
Adaptive replanning
После каждого слайса roadmap пересматривается. Если работа выявила новую информацию — слайсы переупорядочиваются, добавляются или удаляются.
Verification enforcement
Настраиваешь shell-команды (npm run lint, npm run test) — выполняются после execute. Failures триггерят auto-fix retries.
Escape hatch
Press Escape — пауза. Conversation сохранён. Поинтерактивил с агентом, посмотрел что произошло — /gsd auto резюмит с диска.
06Все команды
// ОСНОВНЫЕ
| Команда | Что делает |
|---|---|
| /gsd | Step mode — выполняет один unit за раз, паузится между ними |
| /gsd next | Явный step mode (то же что bare /gsd) |
| /gsd auto | Автономный режим — ресерч, план, выполнение, коммит, повтор |
| /gsd quick | Быстрый таск с гарантиями GSD, минуя планирование |
| /gsd stop | Остановить auto mode gracefully |
| /gsd steer | Hard-steer plan-документов во время выполнения |
| /gsd discuss | Обсуждение архитектуры и решений (работает параллельно с auto) |
| /gsd status | Дашборд прогресса |
| /gsd queue | Очередь будущих маилстоунов (безопасно во время auto) |
| /gsd prefs | Выбор моделей, таймауты, budget ceiling |
| /gsd migrate | Мигрировать v1 .planning в .gsd формат |
// ОТЛАДКА И УТИЛИТЫ
| /gsd help | Категоризированная справка по всем GSD-сабкомандам |
| /gsd mode | Переключить workflow (solo/team) с координированными дефолтами |
| /gsd forensics | Full-access GSD дебаггер для расследования провалов auto-mode |
| /gsd cleanup | Архивация phase-директорий завершённых маилстоунов |
| /gsd doctor | Health-check'и в реальном времени — issues всплывают в виджете и репортах |
| /gsd keys | Менеджер API-ключей — list, add, remove, test, rotate |
| /gsd logs | Просмотр activity, debug и metrics логов |
| /gsd export --html | Сгенерить HTML-отчёт текущего или завершённого маилстоуна |
| /worktree (/wt) | Git worktree lifecycle — create, switch, merge, remove |
| /voice | Real-time speech-to-text (macOS, Linux) |
| /exit | Graceful shutdown — сохраняет state перед выходом |
// CLI-ТЕРМИНАЛЬНЫЕ
| gsd config | Перезапустить setup wizard (LLM-провайдер + tool keys) |
| gsd update | Обновить GSD до последней версии |
| gsd headless [cmd] | Запустить /gsd-команды без TUI (CI, cron, скрипты) |
| gsd headless query | Мгновенный JSON-снэпшот — state, next dispatch, costs (без LLM, ~50ms) |
| gsd --continue (-c) | Резюм самой последней сессии для текущей директории |
| gsd --worktree (-w) | Запустить изолированную worktree-сессию для активного маилстоуна |
| gsd --web | Запустить web-интерфейс в браузере |
| gsd sessions | Интерактивный picker — просмотр и резюм любой сохранённой сессии |
// ГОРЯЧИЕ КЛАВИШИ
| Ctrl+Alt+G | Toggle оверлея дашборда |
| Ctrl+Alt+V | Toggle voice-транскрипции |
| Ctrl+Alt+B | Показать background shell-процессы |
| Alt+V | Вставить картинку из буфера (macOS) |
| Escape | Пауза auto mode — conversation сохранён |
07Конфигурация
Preferences GSD живут в ~/.gsd/preferences.md (глобально) или .gsd/preferences.md (проект). Управляются через /gsd prefs.
---
version: 1
models:
research: claude-sonnet-4-6
planning:
model: claude-opus-4-6
fallbacks:
- openrouter/z-ai/glm-5
- openrouter/minimax/minimax-m2.5
execution: claude-sonnet-4-6
completion: claude-sonnet-4-6
skill_discovery: suggest
auto_supervisor:
soft_timeout_minutes: 20
idle_timeout_minutes: 10
hard_timeout_minutes: 30
budget_ceiling: 50.00
unique_milestone_ids: true
verification_commands:
- npm run lint
- npm run test
auto_report: true
--- Ключевые настройки
Token-оптимизация
Координированная система снижения расхода на 40-60%. Один параметр координирует выбор моделей, пропуск фаз и сжатие контекста:
08Любая модель
GSD-2 не залочен на одного провайдера. Запускается на Pi SDK, поддерживающем 20+ провайдеров из коробки. Используй разные модели на разных фазах — Opus для планирования, Sonnet для выполнения, быструю модель для ресерча.
Встроенные провайдеры
Anthropic, Anthropic (Vertex AI), OpenAI, Google (Gemini), OpenRouter, GitHub Copilot, Amazon Bedrock, Azure OpenAI, Google Vertex, Groq, Cerebras, Mistral, xAI, HuggingFace, Vercel AI Gateway, и другие.
OAuth / Max планы
Если есть подписка Claude Max, Codex или GitHub Copilot — можешь использовать напрямую. Pi справляется с OAuth-флоу. API-ключ не нужен.
⚠️ Важно про OAuth
Использование OAuth-токенов от subscription-планов вне их нативных приложений может нарушить ToS провайдера. Google Gemini — приводило к блокировкам аккаунтов. Используй API-ключи вместо OAuth для Google Gemini.
OpenRouter
OpenRouter даёт доступ к сотням моделей через один API-ключ. Используй для запуска GSD на Llama, DeepSeek, Qwen или чём угодно ещё.
Per-phase выбор моделей
models:
research: openrouter/deepseek/deepseek-r1
planning:
model: claude-opus-4-6
fallbacks:
- openrouter/z-ai/glm-5
execution: claude-sonnet-4-6
completion: claude-sonnet-4-6 Используй дорогие модели где важно качество (планирование), и дешёвые/быстрые где важна скорость (ресерч). Каждая фаза принимает строку модели или объект с model и fallbacks — если основная модель упала, GSD пробует следующую.
09Headless mode — CI и скрипты
gsd headless запускает любую /gsd команду без TUI. Создан для CI-пайплайнов, cron-джобов, скриптовой автоматизации.
# Auto mode в CI $ gsd headless --timeout 600000 # Создать и выполнить маилстоун end-to-end $ gsd headless new-milestone --context spec.md --auto # По одному unit за раз (cron-friendly) $ gsd headless next
# Мгновенный JSON-снэпшот (без LLM, ~50ms) $ gsd headless query
# Заставить выполнить конкретную фазу пайплайна $ gsd headless dispatch plan Headless авто-отвечает на интерактивные промпты, детектит завершение, выходит со структурированными кодами: 0 — complete, 1 — error/timeout, 2 — blocked. Авто-рестарт на крэшах с exponential backoff.
Web-интерфейс. Запусти gsd --web — получишь полное управление проектом из браузера через server-sent events. Real-time прогресс и multi-project поддержка.
10Миграция с v1
Если есть проекты с .planning директориями от оригинального Get Shit Done — можно мигрировать в формат GSD-2 .gsd:
# Из директории проекта > /gsd migrate # Или указать путь > /gsd migrate ~/projects/my-old-project Миграционный тул:
- Парсит старые
PROJECT.md,ROADMAP.md,REQUIREMENTS.md, директории фаз, планы, summaries и research - Маппит phases → slices, plans → tasks, milestones → milestones
- Сохраняет состояние (готовые фазы остаются готовыми, summaries переносятся)
- Консолидирует research-файлы в новую структуру
- Показывает превью перед записью
- Опционально запускает agent-driven ревью результата
Поддерживает варианты форматов: milestone-секционированные roadmaps с <details>, bold phase entries, bullet-format requirements, decimal phase numbering.
Обратная миграция (GSD-2 → v1) — через команду /gsd-from-gsd2 в оригинальном GSD.
11Глоссарий GSD-2
.gsd/ файлы и диспатчит unit'ы один за другим без вмешательства человека.milestone/<MID>. Squash-merge на main одним коммитом..gsd/reports/ после каждого маилстоуна. Дерево прогресса, dependency graph (SVG DAG), метрики стоимости, timeline. Без внешних зависимостей.preferences.md для команд: имена маилстоунов с 6-символьным random suffix (M001-ush8s3) чтобы не было коллизий между разработчиками.