cat README.md
gstack
YC CEO Garry Tan 把自己二十年产品经验 + AI 编码实践打包成 23 个角色化工具。它不是让 AI 写得更快——是让一个人跑出完整工程团队的节奏。
// 目录
一个人写代码不是问题,一个人做工程才是
我做 GitHub AI 项目自动化评测快四个月了。每天让 Claude Code 帮我跑脚本、生成 HTML、写 Markdown——说实话,AI 写代码的速度早就不是瓶颈。
瓶颈在哪?瓶颈在我自己。我让 Claude Code 写评测脚本,写完一看 500 行,其中 300 行是多余的。我让它修一个 bug,修完发现顺带「优化」了两个无关模块。我让它跑 QA,它没跑——因为从头到尾没人告诉它这个项目需要 QA。一个人 + 一个 AI 助手,本质上就是没有流程的两个人。
Karpathy 三月说了一句让我愣住的话:"我去年十二月之后基本没手动写过一行代码了。" 一个 OpenAI 联合创始人、前特斯拉 AI 总监,说他不再打字了。Peter Steinberger 用 AI 代理一个人做出 247K Stars 的 OpenClaw。这些不是段子,是正在发生的事实。
但我跟他们差了什么?差了一个东西:工程流程。没有流程,AI 就是在帮你加速混乱。有了流程,AI 才是在帮你加速交付。
Garry Tan——YC CEO、Palantir 早期员工、Posterous 创始人——用了二十年得出这个结论。然后他把这个结论开源了,叫 gstack。
同一个人。2013 年 772 contributions,2026 年 1,237 contributions 且还在加速。Garry Tan 说他的 2026 逻辑代码产出率是 2013 年的 810×——不是 LOC(AI 膨胀 LOC),是逻辑行数(实际功能变更)。60 天内:3 个生产服务、40+ 上线功能,兼职做,同时全职运营 YC。
他用的就是 gstack。他说这是他的开源软件工厂。我拆完之后发现——他不是在卖一个工具,是在卖一套方法论。
// 概览
ETHOS.md:不是写代码的原则,是做工程的原则
拆 gstack 之前我以为它是另一个"AI 写代码的工具包"。拆完 ETHOS.md 之后我意识到——它根本不是工具包,它是 Garry Tan 把二十年产品直觉变成了一套可执行的流程规则。
ETHOS.md 是所有 gstack skill 的 preamble,每次调用任何一个 /command,这三条原则都会自动注入。不是贴在 README 里让你"参考"的,是强制执行的。
原则一:煮沸海洋
「Don't boil the ocean」在工程时间是瓶颈的年代是对的。现在不对了。AI 编码让完整实现的边际成本趋近于零,所以旧的谨慎悄悄变成了借口。当完整实现只比捷径多花几秒钟的时候——做完整的那个。
这不是说要一次性把整个产品做完。他说的是:海洋是目的地,湖泊是煮沸的单位。一个模块 100% 测试覆盖、一个功能全链路实现、所有 edge case 覆盖——这些是可煮沸的湖泊。"That's boiling the ocean" 不再是跳过捷径的理由——煮沸海洋才是目标。
压缩比数据他自己算过:模板脚手架 100×(2天→15分钟),测试编写 50×(1天→15分钟),Bug 修复+回归测试 20×(4小时→15分钟)。团队以前跳过的最后 10% 完整性,现在成本是几秒。
原则二:先搜后建
一千倍工程师的第一直觉不是"让我从零设计",是"有人已经解决这个问题了吗?"三层知识架构:
Layer 1: Tried and true——标准模式、久经考验的做法。风险不是不知道,是以为显而易见的答案是对的。
Layer 2: New and popular——当前最佳实践、博客、生态趋势。搜索但审视——人会疯狂,Mr. Market 总是过度恐惧或贪婪。
Layer 3: First principles——从推理中得出的原创观察。最珍贵的。最好的项目既避免错误(不重复造轮子——Layer 1)又做出所有人都没看到的观察(Layer 3)。
Eureka 时刻不是找到一个可以抄的解决方案,而是:理解所有人都在做什么和为什么 → 用第一性原理审视他们的假设 → 发现常规做法是错的那个清晰理由。这就是 10 分里的那个 11。
原则三:用户主权
AI 模型推荐。用户决策。这一条凌驾所有其他规则。
两个 AI 模型同意一个变更——这是强信号,不是命令。用户永远有模型缺少的上下文:领域知识、商业关系、战略时机、个人品味、还没分享的未来计划。当 Claude 和 Codex 都说"合并这两个东西"而用户说"不,分开"——用户是对的。永远是。
正确模式是生成-验证循环:AI 生成推荐,用户验证并决策。AI 永远不跳过验证步骤因为"自信"。Garry Tan 引用 Karpathy 的 Iron Man 套哲学:好的 AI 产品增强用户,不替代用户。
这三条合在一起:先搜后建告诉你知道什么存在——煮沸海洋告诉你做完整版本——用户主权告诉你谁是最终决策者。最差的结果是完整做了一个已经有一行代码解决方案的东西。最好的结果是完整做了一个没人想到的东西——因为你搜索了、理解了、看到了所有人都没看到的。
// Sprint 流程:23 个角色的完整冲刺
gstack 不是一堆独立工具的组合,是一个有顺序的冲刺。每个 skill 的输出是下一个 skill 的输入:/office-hours 写设计文档 → /plan-ceo-review 读这个文档 → /plan-eng-review 写测试计划 → /qa 按测试计划跑 → /review 检查 bug → /ship 确认修复。没有东西从缝隙中漏掉,因为每个步骤都知道之前发生了什么。
几个让我印象最深的 skill:
/office-hours — YC 办公时间
六个强制性问题重新框定你的产品。你说"我要做一个日历简报 app",它说"你描述的其实是一个私人幕僚长 AI"——因为它听了你的痛,没听你的功能需求。然后提取出你没意识到的五个能力、挑战四个前提、生成三个实现方案。这才是 YC 办公时间真正在做的。
/qa — QA 负责人
打开真实浏览器,真实点击,真实截图,找 bug,原子提交修复,生成回归测试,验证修复。Garry Tan 说这个技能让他从 6 个并行 worker 扩到了 12 个——因为agent 现在有眼睛了。
/design-shotgun → /design-html — 设计流水线
/design-shotgun 用 GPT Image 生成 4-6 个 AI mockup 变体,在你浏览器里打开对比板,你反馈"更多留白""标题更大""去掉渐变",它迭代下一轮。几轮之后 Taste Memory 开始偏向你实际选的东西。选好之后 /design-html 把 mockup 变成可交付的生产级 HTML/CSS——用 Pretext 计算文本布局,30KB 零依赖,自动检测你的框架。
/codex — 第二大脑
独立代码审查来自 OpenAI Codex CLI——完全不同的 AI 看同一个 diff。三种模式:代码审查(pass/fail 门控)、对抗挑战(主动尝试破坏你的代码)、开放咨询(会话连续性)。当 /review(Claude)和 /codex(OpenAI)都审查过同一个分支,你得到一个跨模型分析——哪些发现重叠、哪些是各自独有的。
/ship — 发布工程师
同步 main、跑测试、审计覆盖率、推代码、开 PR。如果你的项目没有测试框架——它从零帮你 bootstrap 一个。每次 /qa 修 bug 都生成回归测试,100% 测试覆盖是目标。测试让 vibe coding 变成安全操作而不是 yolo coding。
浏览器军团:让 AI 真正「看见」你的产品
/browse 是 gstack 的浏览器自动化引擎,基于 Playwright + Chromium。约 100ms 一个命令。但它不止是 headless 浏览器:
GStack Browser:/open-gstack-browser 启动一个带侧栏的 AI 控制浏览器——反反爬虫隐身(Google 和 NYTimes 不触发验证码)、自定义品牌(菜单栏显示"GStack Browser")、侧栏 AI 助手(输入自然语言,子 Claude 实例执行)。模型自动路由:Sonnet 做快速动作(点击/导航/截图),Opus 做阅读和分析。
Domain Skills:代理保存每个站点的备注(比如"LinkedIn 的 Apply 按钮在 iframe 里"),下次访问该域名自动触发。隔离→3 次成功后激活→可选跨项目升级。这是一个复合增长的设计——代理越用越懂。
/pair-agent:跨代理协调。你在 Claude Code,同时有 OpenClaw 运行。想让它们都看同一个网站?/pair-agent 让两个不同厂商的 AI 代理共享同一个浏览器窗口,各自在自己的 tab,互不干扰,scoped tokens + tab 隔离 + rate limiting + 活动归属。这是第一次 AI 代理之间可以安全地通过浏览器协调。
Browser Handoff:遇到 CAPTCHA、认证墙、MFA?$B handoff 打开一个可见 Chrome 在同一页面,带着所有 cookie 和 tab。你解决完告诉 Claude,$B resume 接着跑。代理连续 3 次失败后自动建议。
安全防线:L1-L6 侧栏安全栈
gstack 对安全的投入让我意外。这不是一个"顺便加了点安全"的项目,是把安全当核心能力做的:
Prompt 注入防御:分层架构——22MB ML 分类器本地扫描每个页面和工具输出、Claude Haiku transcript check 投票完整对话形态、随机 canary token 在 system prompt 里捕捉会话泄露(跨文本/工具参数/URL/文件写入)、verdict combiner 要求两个分类器同意才拦截(防止 Stack Overflow 那种正常指导页面误判)。可选 721MB DeBERTa-v3 ensemble 做 2-of-3 投票。
/careful /freeze /guard:三个安全命令——/careful 在破坏性命令前警告(rm -rf、DROP TABLE、force-push)、/freeze 锁定编辑范围到一个目录、/guard 是 /careful + /freeze 一键激活。/investigate 自动 freeze 到被调查的模块。
/cso — CSO:OWASP Top 10 + STRIDE 威胁建模。零噪音设计:17 个误报排除、8/10+ 信心门控、独立发现验证。每个发现包含具体利用场景。
v1.57.6.0 安全修复波:8 个社区 bug——对抗性子代理安全装置不再误触发使用策略拒绝、检测现代 OpenAI 密钥格式(sk-proj-/sk-svcacct-/sk-admin-)、拒绝格式错误的 --max-bytes 而不是静默禁用大小守卫、跨项目信任门改为白名单而不是黑名单、单向门分类器捕捉"rotate ... password"。
// 竞品对比
| 项目 | 定位 | 优势 | 劣势 |
|---|---|---|---|
| gstack | 完整工程团队 Skill Pack | 23 角色覆盖 Think→Ship→Reflect 全流程 + 10 平台兼容 + ETHOS.md 强制哲学 + 浏览器军团 + 跨代理协调 | Bus Factor≈1 + 734 Issues + 仅 Claude Code 深度适配 + 无正式 Release + fork/star 偏低 |
| andrej-karpathy-skills | AI 编码校准规范 | 17K Stars、Karpathy 个人品牌、四条核心规则简洁 | 4 条偏好级克制,无流程编排、无 QA/浏览器/安全 |
| mattpocock/skills | 编程纪律 Skill | 18 命令工程纪律、76K Stars | 仅覆盖编码阶段,无设计/QA/发布/浏览器 |
| addyosmani/agent-skills | 大厂规范 Skill | 50K Stars、20 Skills 大厂级规范 | 规范级而非流程级,无 sprint 串联 |
| Ponytail | AI 编码行为修饰器 | 六步决策链强制 YAGNI、54% LOC 减少、14 平台 | 仅克制级,无设计/QA/浏览器/安全审查 |
| design.md (Google Labs) | 视觉身份规范 | 19K Stars、Google 品牌、设计系统标准化 | 仅设计层,无工程/QA/安全/浏览器 |
| agency-agents | 232 Agent 人格集合 | 16 部门完整业务链路、111K Stars | 无编排引擎、Agent 质量参差、Bus Factor=1 |
核心差异化:gstack 不是偏好级克制(Karpathy skills),不是规范级纪律(mattpocock/skills),不是行为级克制(Ponytail),是流程级完整。它是目前唯一一个覆盖 Think→Plan→Build→Review→Test→Ship→Reflect 全冲刺的 Skill Pack,且每个步骤的输出自动喂入下一步。
但这不意味着它赢了。其他项目在各自维度更强:Karpathy 的四条规则更简洁、Ponytail 的 YAGNI 决策链更可复现、design.md 的设计令牌更标准化。gstack 的价值在于把所有这些维度编排进一个有顺序的冲刺——如果你已经用了 Karpathy rules 或 Ponytail,gstack 是让它们在整个冲刺中持续生效的执行层。
// Garry Tan 的产出数据
注意这些数字是 Garry Tan 自己报告的,方法论、注意事项和复现脚本在 On the LOC Controversy 里。LOC 批评者说原始行数被 AI 膨胀了——他们没错。但他们错的是,即使标准化通胀之后,他还是更高效了。810× 是逻辑代码产出率(排除 AI 膨胀的 LOC),不是原始行数。
压缩比数据也值得审视:模板脚手架 100× 听起来夸张,但想想——一个 Django admin 后台从头搭到跑,以前真的要 2 天,现在 Claude Code + gstack 15 分钟就出完整版本。关键是"完整版本"——不是缩略版。这就是"煮沸海洋"原则在实战中的体现。
跟我做的事有什么关系
我做 GitHub AI 日报自动化快四个月了。每天跑这个评测流程本身就是一个微型 sprint:搜索 Trending → 选项目 → 深度调研 → 抽图片 → 写文章 → 去 AI 味 → 按 wechat 标准重写 → 保存 HTML/MD → 同步 Obsidian。十个步骤,目前靠一个 cron + 一套 prompt 硬拉。
拆完 gstack 我发现了三个可以直接搬的启发:
第一,Sprint 结构比工具列表更重要。我之前的自动化本质上是"一堆步骤的串联",不是"有顺序的冲刺"。gstack 让我看到:每个步骤的输出应该是下一个步骤的输入。我的调研结果应该自动喂入文章生成、图片应该自动出现在对应段落、去 AI 味应该读原稿而不是重写一遍。流程设计比工具选择先。
第二,ETHOS.md 的"先搜后建"原则我之前一直在违反。我每天让 Claude Code 写评测脚本,从来没搜过"有没有人已经做了 GitHub Trending 评测自动化"——直到发现 ZhuLinsen 的 daily_stock_analysis(Fork/Star = 0.92)。我应该在写新功能之前先搜 GitHub,这不是浪费时间,是避免重复造轮子。
第三,"用户主权"原则对自动化评测也成立。我现在每天全自动生成文章,没有"生成-验证"循环。gstack 的 User Sovereignty 原则提醒我:AI 推荐选题、我决策选题;AI 推荐评分、我验证评分。自动化不是把人从循环中拿掉,是让人只出现在决策节点。
下个月我要把评测流程重新设计成一个 gstack 式的 mini-sprint:Think(选题策略)→ Plan(调研大纲)→ Build(文章生成)→ Review(去 AI 味 + wechat 标准)→ Ship(保存 + Obsidian 同步)。每个步骤有明确的输入输出,不是"一坨 prompt 扔给 Claude"。
我的核心判断:gstack 不是在卖 AI 写代码更快——是在卖一个人可以做完整工程。23 个角色不是炫技,是 Garry Tan 用二十年产品经验得出的"一个人跑出团队节奏"的处方。ETHOS.md 三条原则(煮沸海洋、先搜后建、用户主权)的价值超过了所有 23 个 skill 的总和——因为原则决定流程,流程决定交付质量,skill 只是流程的执行单元。
但 Bus Factor≈1 是真实风险。Garry Tan 是 YC CEO,他的精力不在维护开源项目上。如果 gstack 想从"Garry Tan 的个人配置"变成"行业标准",需要社区接管核心维护。目前看:115K Stars 但只有 8 个外部贡献者各 1 commit——关注度极高但参与度极低。这跟 daily_stock_analysis 的 Fork/Star = 0.92(用户不是来看的是来用的)形成了鲜明对比。
如果你是创始人或技术负责人——gstack 值得认真试。6 个命令(/office-hours → /plan-ceo-review → /plan-eng-review → 退出 plan mode → /review → /qa → /ship),30 分钟,你会知道它是不是你的东西。如果你是偶尔用 Claude Code 的开发者——先试试 Karpathy skills 或 Ponytail,轻量级先入门,等你想跑完整 sprint 了再回来。
// links
GitHub 仓库 — gstack 主仓库,115,809 Stars
ETHOS.md — 三条核心原则(煮沸海洋、先搜后建、用户主权)
On the LOC Controversy — 810× 产出率的方法论、注意事项和复现脚本
Skills Deep Dives — 每个 skill 的哲学、示例和工作流
ARCHITECTURE.md — 设计决策和系统内部架构
GBrain — 配套持久知识库
Karpathy 原话 — Fortune 报道,"我去年十二月之后基本没手动写过一行代码"
gstacks.org — 社区站点