GSD (Get Shit Done) 调研报告
GSD (Get Shit Done) 调研报告
一、项目概述
基本信息
| 指标 | 详情 |
|---|---|
| 项目名称 | GSD (Get Shit Done) |
| GitHub | https://github.com/gsd-build/get-shit-done |
| 当前版本 | v1.30.0 |
| Stars | ~45,000 |
| Forks | ~3,600 |
| 开源协议 | MIT |
| 作者 | TÂCHES |
| 主要形态 | Markdown Prompt 文件(元提示系统) |
| 支持运行时 | Claude Code, OpenCode, Gemini CLI, Codex, Copilot, Windsurf, Antigravity |
| 安装方式 | npx get-shit-done-cc@latest |
| npm 包 | get-shit-done-cc |
名称说明: 社区常称当前成熟版本为 "GSD-2" 以区别于早期简化版,但 GitHub 上只有一个仓库,并无独立的 "GSD-2" 产品。仓库用户名从
glittercowboy迁移到gsd-build(v1.29.0),但始终是同一个项目。
一句话介绍
GSD 是一个基于元提示(Meta-Prompting)的 AI 驱动软件开发框架,通过结构化的 XML 任务计划、多 Agent 编排和上下文工程,在 Claude Code 等 8+ 运行时上实现从需求到代码的端到端自动化。
发展历程
- 早期版本: 以
glittercowboy/get-shit-done发布,作为 Claude Code 的 Prompt 文件集合 - v1.22.4: 新增
--discuss快速模式,Windows 兼容性修复 - v1.23.0: UI-phase、节点修复(Node Repair)、Copilot 支持
- v1.24.0: Quick 研究模式、inherit 模型配置
- v1.25.0: Antigravity 支持、
/gsd:do、/gsd:note、完整文档目录 - v1.26.0: 开发者画像、
/gsd:ship、回归测试门禁、需求覆盖率门禁 - v1.27.0: Advisor 模式、Cursor CLI 支持、安全加固(路径遍历防护、提示注入检测、Shell 参数验证)
- v1.28.0: 工作流命名空间、法证分析、里程碑摘要、多项目工作区、CLAUDE.md 合规检查
- v1.29.0: Windsurf 支持、Agent 技能注入、安全扫描 CI、多语言文档、仓库迁移到
gsd-build - v1.30.0: GSD SDK(
@gsd-build/sdk)、--sdk安装选项,从 Prompt 工具向可编程平台演进
定位
GSD 自定位为 AI 软件开发的元提示框架,核心差异化:
- 元提示: 不直接编码,而是生成结构化 XML Prompt 让 AI Agent 执行
- 多运行时: 支持 Claude Code、Cursor、Windsurf、Gemini CLI 等 8+ 运行时
- 上下文工程: 通过文件系统管理上下文,解决"上下文腐化"问题
- 结构化工作流: 需求讨论 → 计划 → 执行 → 验证 → 发布
二、核心功能
功能概览
| 功能 | 说明 | 成熟度 |
|---|---|---|
| 元提示系统 | 44 个命令、46 个工作流、16+ Agent | ⭐⭐⭐⭐⭐ |
| 结构化工作流 | 讨论→计划→执行→验证→发布 | ⭐⭐⭐⭐⭐ |
| 上下文工程 | 文件驱动上下文管理,防腐化 | ⭐⭐⭐⭐⭐ |
| 多 Agent 编排 | 并行 Agent + 最小权限 | ⭐⭐⭐⭐⭐ |
| Wave 执行 | 依赖感知的并行执行 | ⭐⭐⭐⭐ |
| 计划检查 | 10 维度计划验证 | ⭐⭐⭐⭐⭐ |
| 节点修复 | 自动重试/分解/跳过失败任务 | ⭐⭐⭐⭐ |
| 多运行时支持 | 8+ AI 编码运行时 | ⭐⭐⭐⭐⭐ |
| 模型配置 | Quality/Balanced/Budget/Inherit | ⭐⭐⭐⭐ |
| Git 纪律 | 原子提交、分支策略 | ⭐⭐⭐⭐⭐ |
| 安全加固 | 路径遍历/注入/Shell 验证 | ⭐⭐⭐⭐ |
| UI 设计合约 | 6 维度 UI 质量评估 | ⭐⭐⭐ |
| Headless SDK | @gsd-build/sdk 编程接口 |
⭐⭐⭐ |
| 开发者画像 | 分析开发者行为模式 | ⭐⭐⭐ |
核心功能详解
1. 元提示系统(核心创新)
GSD 的核心不是直接让 AI 编码,而是生成结构化的 XML Prompt:
<task>
<name>实现 JWT 认证中间件</name>
<files>src/middleware/auth.ts, src/utils/jwt.ts</files>
<action>
1. 创建 JWT 工具函数
2. 实现认证中间件
3. 添加类型定义
</action>
<verify>npm run test -- --grep "auth middleware"</verify>
<done>所有认证中间件测试通过</done>
</task>
每个任务包含 5 个关键字段: - name: 人类可读的任务标识 - files: 任务涉及的文件列表 - action: 逐步操作指令 - verify: 验证成功的 Shell 命令 - done: 任务完成的条件
整个系统定义了 44 个 Slash 命令、46 个工作流、16+ 专用 Agent,全部以 Markdown Prompt 文件实现(无编译代码)。
2. 结构化工作流(Spec-Driven Development)
GSD 强制执行结构化的软件开发生命周期:
new-project → discuss-phase → plan-phase → execute-phase → verify-work → ship
| 阶段 | 命令 | 说明 |
|---|---|---|
| 新项目 | /gsd:new-project |
初始化 .planning/ 目录 |
| 讨论 | /gsd:discuss-phase |
3-4 个并行研究 Agent 收集需求,合成器合并 |
| 计划 | /gsd:plan-phase |
Planner Agent 生成 XML 执行计划 |
| 执行 | /gsd:execute-phase |
Executor Agent 按依赖波次执行任务 |
| 验证 | /gsd:verify-work |
UAT 级别验证 |
| 发布 | /gsd:ship |
最终提交、标签、里程碑管理 |
3. 上下文工程(Context Engineering)
GSD 解决"上下文腐化"(Context Rot)问题——AI 输出质量随上下文窗口填满而下降:
传统方式:
Agent 长会话 → 上下文膨胀 → 质量下降 → 上下文腐化
GSD 方式:
编排器(30-40% 上下文占用) → 分派到新子 Agent(各自 200K 全新上下文)
上下文管理文件系统(.planning/ 目录):
| 文件 | 作用 |
|---|---|
PROJECT.md |
项目描述和范围 |
REQUIREMENTS.md |
带 REQ-* ID 的正式需求 |
ROADMAP.md |
里程碑和阶段路线图 |
STATE.md |
当前执行状态(O_EXCL 原子文件锁) |
PLAN.md |
活跃的 XML 执行计划 |
SUMMARY.md |
会话摘要 |
CONTEXT.md |
当前工作的精选上下文 |
research/ |
背景研究产出 |
todos/ |
任务追踪 |
threads/ |
对话线程 |
seeds/ |
触发的未来动作 |
上下文监控: 编排器上下文占用 35% 时 WARNING,25% 时 CRITICAL,自动触发上下文压缩。
4. 多 Agent 编排(16+ 专用 Agent)
| 类别 | Agent 数量 | 职责 |
|---|---|---|
| 研究员 | 3-4 | 收集需求、调查代码库 |
| 分析师 | 2 | 分析代码结构 |
| 合成器 | 1 | 合并研究结果 |
| 规划师 | 1 | 生成 XML 执行计划 |
| 路线图 | 1 | 管理里程碑/阶段 |
| 执行器 | 1 | 执行任务、编写代码 |
| 检查器 | 3-4 | 10 维度验证计划 |
| 验证器 | 1 | UAT 级别验证 |
| 审计员 | 2 | 安全和质量审计 |
| 映射器 | 1 | 代码库结构映射 |
| 调试器 | 1 | 失败诊断和修复 |
| 用户画像 | 1 | 分析开发者行为 |
最小权限原则: 每个 Agent 只能访问必要的工具(如研究员不能写文件,执行器不能修改计划)。
5. Wave 执行
计划按依赖波次执行:
Wave 1(并行):
├── Plan A: 用户认证(独立)
└── Plan B: 数据库设计(独立)
Wave 2(等待 Wave 1):
└── Plan C: API 开发(依赖 A + B)
Wave 3(等待 Wave 2):
└── Plan D: 集成测试(依赖 C)
并发控制:
- 默认最大并发 Agent: 3
- STATE.md 使用 O_EXCL 原子文件锁防止并发写入冲突
- 并行 Agent 使用 --no-verify 提交避免构建锁争用
6. 计划检查(10 维度验证)
执行前,每个计划在 10 个维度上验证:
| 维度 | 检查内容 |
|---|---|
| 需求覆盖 | 每个 REQ-* 都被覆盖 |
| 任务原子性 | 每个任务自包含 |
| 依赖排序 | 无循环依赖 |
| 文件范围 | 无意外文件修改 |
| 验证命令 | 每个任务有测试 |
| 上下文适配 | 任务在上下文窗口内可完成 |
| 间隙检测 | 任务间无遗漏步骤 |
| Nyquist 合规 | 测试覆盖率映射到需求 |
| 跨计划数据契约 | 计划间通信正确 |
| CLAUDE.md 合规 | 遵循项目约定 |
7. 节点修复(Node Repair)
任务失败时的自动恢复策略:
| 策略 | 说明 |
|---|---|
| RETRY | 重试任务(默认最多 2 次) |
| DECOMPOSE | 将失败任务分解为更小的子任务 |
| PRUNE | 跳过任务并记录缺口 |
8. 模型配置
| Profile | 编排器 | 子 Agent | 检查器 | 适用场景 |
|---|---|---|---|---|
| quality | Opus | Opus | Sonnet | 关键项目 |
| balanced | Opus | Sonnet | Sonnet | 日常开发 |
| budget | Sonnet | Sonnet | Haiku | 成本敏感 |
| inherit | 使用运行时当前模型 | 灵活场景 |
9. UI 设计合约
6 维度 UI 质量评估系统,每项 1-4 分: 1. 文案(Copywriting) 2. 视觉(Visuals) 3. 色彩(Color) 4. 排版(Typography) 5. 间距(Spacing) 6. 注册安全(Registry Safety — shadcn 集成的安全门控)
10. 安全加固(v1.27+)
纵深防御策略: - 路径遍历防护 - 集中式提示注入检测 + Hook 级别守卫 - 安全 JSON 解析 - Shell 参数验证 - 工作流守卫 - 安全扫描 CI 管道
三、安装配置
环境要求
| 组件 | 版本 | 说明 |
|---|---|---|
| AI 运行时 | Claude Code / Cursor 等 | 至少一个支持的运行时 |
| Node.js | 18+ | 安装器需要 |
| Git | 2.5+ | 原子提交需要 |
安装
# 交互式安装(推荐)
npx get-shit-done-cc@latest
# 指定运行时
npx get-shit-done-cc@latest --runtime opencode # 或 gemini, codex, copilot, windsurf, antigravity
# 带 SDK 安装
npx get-shit-done-cc@latest --sdk
# 设置全局默认
# 编辑 ~/.gsd/defaults.json
安装器(~3,000 行)自动处理: - 运行时检测和适配 - 文件部署(命令、工作流、Agent、Hook、工具) - 运行时特定转换(工具名称、路径、frontmatter) - 补丁备份和清单追踪
配置文件
GSD 使用项目内的 config.json:
{
"mode": "default",
"granularity": "high",
"model_profile": "balanced",
"planning": {},
"workflow": {
"skip_discuss": false,
"skip_research": false,
"skip_verify": false,
"assumptions_mode": false,
"text_mode": false,
"ui_phase": false
},
"parallelization": {
"max_concurrent_agents": 3,
"min_plans_for_parallel": 2,
"task_level": false
},
"git": {
"branching_strategy": "none",
"atomic_commits": true,
"auto_stage": false
},
"gates": {
"regression_gate": true,
"coverage_gate": true
}
}
四、架构设计
整体架构
┌──────────────────────────────────────────────────────────────────┐
│ GSD 系统架构 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ AI 运行时层 │ │
│ │ Claude Code │ Cursor │ Windsurf │ Gemini CLI │ Codex ... │ │
│ └──────────────────────────┬───────────────────────────────┘ │
│ │ Slash 命令 │
│ ┌──────────────────────────▼───────────────────────────────┐ │
│ │ GSD 元提示层(Markdown Prompt 文件) │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │ │
│ │ │ 44 个 │ │ 46 个 │ │ 16+ 个 │ │ 安装器 │ │ │
│ │ │ 命令 │ │ 工作流 │ │ Agent │ │ (3,000 行) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ └──────────────┘ │ │
│ └──────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────▼───────────────────────────────┐ │
│ │ 上下文管理层(.planning/ 文件系统) │ │
│ │ PROJECT.md │ REQUIREMENTS.md │ STATE.md │ PLAN.md │ ... │ │
│ └──────────────────────────┬───────────────────────────────┘ │
│ │ │
│ ┌──────────────────────────▼───────────────────────────────┐ │
│ │ 编排层 │ │
│ │ 编排器(30-40%上下文) → 分派子Agent(各自200K全新上下文) │ │
│ │ Wave 执行 │ 上下文监控 │ 节点修复 │ 安全守卫 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘
核心设计原则
| 原则 | 说明 |
|---|---|
| 元提示 | GSD 不直接编码,而是生成 AI 可执行的结构化 Prompt |
| 最小权限 | 每个 Agent 只能访问必要的工具 |
| 磁盘驱动 | 状态持久化到 .planning/ 文件系统 |
| 上下文隔离 | 每个子 Agent 获得全新 200K 上下文 |
| 原子操作 | 每个任务独立 Git 提交 |
数据流(执行管线)
1. 用户输入需求
│
▼
2. /gsd:new-project → 初始化 .planning/ 目录
│
▼
3. /gsd:discuss-phase → 3-4 并行研究 Agent → 合成 REQUIREMENTS.md
│
▼
4. /gsd:plan-phase → Planner Agent 生成 XML 计划 → 10 维度检查
│
▼
5. /gsd:execute-phase → Wave 执行:
┌──────────────────────────────────┐
│ a. 编排器分发任务到子 Agent │
│ b. 子 Agent 获得全新 200K 上下文 │
│ c. 子 Agent 执行并返回结果 │
│ d. 原子 Git 提交 │
│ e. 上下文监控检查 │
│ f. 失败则节点修复 │
│ g. 下一波次 │
└──────────────────────────────────┘
│
▼
6. /gsd:verify-work → UAT 验证
│
▼
7. /gsd:ship → 最终提交和发布
五、使用场景
适用场景
| 场景 | 说明 | 典型用户 |
|---|---|---|
| 新项目开发 | 从需求到代码的完整流程 | 全栈工程师 |
| 大型功能开发 | 复杂功能端到端实现 | 技术负责人 |
| 代码重构 | 大规模代码重构 | 高级工程师 |
| 存量代码改造 | 已有项目的新功能开发 | 维护团队 |
| 多格式项目 | 需要 UI + 后端 + 测试 | 全栈团队 |
不适用场景
- 快速小修改(GSD 工作流过于重量级)
- 探索性编码(结构化流程限制自由度)
- 非 Claude Code 用户(需要支持的运行时)
- 对 AI 生成代码有严格合规要求的场景
社区反馈
YouTube 覆盖:
| 视频 | 播放量 | 倾向 |
|---|---|---|
| "I Created GSD For Claude Code" (TÂCHES TEACHES) | 45K | 正面(创始人深度演示) |
| "GSD 2 vs Claude Code: A New AI King?" (Chase AI) | 41K | 正面 |
| "GSD Is the Missing Piece For Claude Code" (AI LABS) | 39K | 正面 |
| "Stop Using Ralph Loops (Use This Instead)" (Chase AI) | 36K | 正面(替代 Ralph) |
| "Everyone Uses GSD. Smart Devs Use PAUL." (Charlie Automates) | 20K | 竞品对比(推荐 PAUL) |
Reddit 讨论(r/ClaudeCode):
| 帖子 | 倾向 |
|---|---|
| "Vibecoding GSD Just Made Me $70,000" | 强正面 |
| "GSD is already much better than plan mode" | 正面 |
| "Is GSD still relevant after Opus 4.6?" | 中性(质疑持续必要性) |
| "Is GSD still relevant, any controlled tests?" | 中性 |
社区情绪模式: 主流用户(39-45K 播放量视频)以正面为主。批评主要来自少数 YouTuber(Charlie Automates 等),认为 GSD 的线性流程过于僵化,并推荐竞品(PAUL、SEED)。
六、对比分析
GSD vs Claude Code(裸用)
| 维度 | Claude Code 裸用 | GSD + Claude Code |
|---|---|---|
| 上下文管理 | 手动,质量随窗口填满下降 | 自动,编排器分派到新子 Agent |
| 规划 | 即兴,依赖用户提示 | 结构化 XML 计划 + 10 维度验证 |
| 任务执行 | 顺序,单 Agent | 并行 Wave + 依赖管理 |
| 验证 | 手动或即兴 | 内置 UAT 验证(对照 REQ-* ID) |
| 状态持久化 | 会话级 | 文件系统 .planning/ 跨会话 |
| Git 纪律 | 手动 | 自动原子提交 |
| 错误恢复 | 手动重试 | 自主节点修复 |
| 学习曲线 | 低 | 中等 |
| 灵活性 | 最高 | 结构化但可配置 |
GSD vs 竞品框架
PAUL: - 定位为比 GSD 更灵活的替代方案 - 20K 播放量 YouTube 视频专门对比 - 常与 SEED 组合使用
Ralph Loops: - GSD 的前身框架 - 多个视频定位 GSD 为 Ralph 的替代 - "Stop Using Ralph Loops (Use This Instead)" — 36K 播放
Superpowers: - Reddit 讨论中与 GSD 的 plan mode 对比 - Claude Code 增强框架
BMAD: - 竞争格局中提及,较少详细覆盖
GSD v1 早期 vs GSD 当前
| 维度 | 早期版本 | 当前版本 (v1.30.0) |
|---|---|---|
| 运行时 | 仅 Claude Code | 8+ 运行时 |
| Agent | 基础 | 16+ 专用 Agent |
| 安全 | 无 | 深度防御 |
| SDK | 无 | @gsd-build/sdk |
| 文档 | 简单 | 多语言、全面 |
| 计划验证 | 无 | 10 维度 |
| UI 支持 | 无 | UI 设计合约 |
选型建议
- 选择 GSD: 大型功能开发、需要结构化流程、多阶段项目
- 选择 Claude Code 裸用: 快速任务、探索性编码、简单修改
- 选择 PAUL: 需要更灵活的工作流、不喜线性流程
- 选择 Cursor/Windsurf: 需要 IDE 深度集成、GUI 体验
七、最佳实践
推荐做法
- 遵循完整流程: 新项目走 discuss → plan → execute → verify → ship
- 利用
/gsd:quick: 小任务不需要完整流程,用 quick 模式 - 使用
balanced配置: 日常开发推荐 balanced 模型配置 - 开启原子提交: 确保每个任务有独立 Git 提交
- 让 Agent 并行: 设置
max_concurrent_agents: 3充分利用并行 - 善用
/gsd:map-project: 存量代码先映射再开发
避坑指南
- 不要跳过 discuss 阶段: 需求不清会导致后续大量返工
- 不要过度依赖 Auto 模式: 复杂项目建议分阶段手动推进
- 注意上下文监控: 编排器上下文超过 75% 时需要主动压缩
- 检查生成的计划: 10 维度验证不是万能的,人工审查仍有价值
- 关注 Token 消耗:
quality配置 + 并行执行会大量消耗 Token
八、总结
优势
- 元提示创新: 不直接编码而是生成 AI 可执行的结构化 Prompt,理念先进
- 上下文工程: 编排器 30-40% 上下文 + 子 Agent 各自 200K 全新上下文,有效解决上下文腐化
- 结构化流程: discuss → plan → execute → verify → ship 全生命周期覆盖
- 多运行时: 8+ AI 编码运行时支持,不锁定单一工具
- 10 维度验证: 执行前严格验证计划质量
- 生态最大: 45K Stars,社区活跃,持续迭代
- 安全加固: 路径遍历、注入检测、Shell 验证等纵深防御
- SDK 支持: v1.30.0 引入
@gsd-build/sdk,向可编程平台演进
劣势
- 学习曲线: 44 个命令 + 46 个工作流 + 16 个 Agent,概念体系庞大
- 流程僵化: 线性的 Spec-Driven 流程对灵活场景不够友好
- 重量级: 小任务用 GSD 过于繁琐
- 依赖运行时: GSD 本身不是独立工具,依赖 Claude Code 等宿主
- Token 消耗: 多 Agent + 并行执行消耗大量 Token
- 竞争激烈: PAUL、SEED、Superpowers 等竞品不断涌现
最终建议
GSD 在 AI 辅助开发框架领域建立了标杆——通过元提示和上下文工程,将 AI 编码从"对话式辅助"提升到"结构化自动化"。对于以下用户特别有价值:
- 推荐使用: 大型功能开发、需要结构化流程、已有 Claude Code 使用经验的团队
- 观望: 日常编码以小任务为主、偏好 IDE 集成、不需要结构化流程的开发者
- 关注趋势: GSD 代表的"元提示 + 上下文工程 + 多 Agent 编排"理念,是 AI Agent 工程化的重要方向
参考资料
- GitHub 仓库: https://github.com/gsd-build/get-shit-done
- npm 包: https://www.npmjs.com/package/get-shit-done-cc
- YouTube: "GSD 2 vs Claude Code: A New AI King?" (Chase AI, 41K views)
- YouTube: "I Created GSD For Claude Code" (TÂCHES TEACHES, 45K views)
- Reddit: r/ClaudeCode GSD 相关讨论
- 竞品: PAUL, SEED, Ralph Loops, Superpowers, BMAD