跳到主要内容
GStack · prolist
返回项目库查看仓库原始简介 Use Garry Tan's exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA
来自项目 README 项目解读 README
项目解读由 AI 根据历史资料整理,尚未经人工复核。仓库资料更新于 2026-09-08,与历史解读分开保留。
项目概览 GStack 是围绕 Claude Code 构建的开源工具体系,定位为“虚拟工程团队”,通过 23 个角色 Skill 和 8 个工具 Skill,将 Claude Code 配置成 CEO、设计师、工程经理、QA、安全官等角色自动协作。其核心原理是角色化 Slash Command 系统,每个斜杠命令对应一个工程角色,如 /review 为代码审查员、/qa 为测试工程师。GStack 支持多 Agent 兼容,不只支持 Claude Code,还支持 Codex CLI、Cursor、OpenCode、Kiro 等 8 个 AI 编码 Agent。安装结构为纯 Markdown 文件,没有代码依赖和框架锁定,通过 ./setup --team 可让整个团队共享同一套工具,自动更新,零版本漂移。报告提及 Garry Tan 本人 60 天写了 60 万行代码(35% 测试),日均 10-20k 行,作为真实验证过的产出数据。
解决什么问题 GStack 主要解决个人开发者缺乏“团队级”工程保障的问题。报告指出,个人用 AI 开发,大部分只做了“编码实现”这一步,没有评审、没有 Review、没有测试、没有安全检查,导致代码质量不稳定、线上事故频发、安全漏洞和发布混乱。GStack 通过将 Claude Code 配置成 23 个角色自动协作,让一个人 + AI Agent 达到甚至超越一个传统工程团队的产出效率。
工作方式 GStack 的核心原理是角色化 Slash Command 系统,即“23 个角色 Skill + 8 个工具 Skill + 1 个 Setup 脚本”。每个斜杠命令对应一个工程角色,如 /review 为代码审查员、/qa 为测试工程师。安装结构为纯 Markdown 文件,没有代码依赖和框架锁定。安装步骤包括:git clone 到 ~/.claude/skills/gstack 并运行 ./setup,团队模式使用 ./setup --team。GStack 支持多 Agent 兼容,不只支持 Claude Code,还支持 Codex CLI、Cursor、OpenCode、Kiro 等 8 个 AI 编码 Agent。
核心能力
个角色 Skill,覆盖产品、设计、工程、审查、QA、发布、效率等类别
个工具 Skill,包括浏览器工具和 Chrome 连接
角色即命令,/review 为代码审查员,/qa 为测试工程师
零抽象层,所有角色都是纯 Markdown 文件
多 Agent 兼容,支持 8 个 AI 编码 Agent
团队模式 ./setup --team,共享同一套工具,自动更新,零版本漂移
工作流程编排覆盖从产品定义到发布上线的完整链路
使用前需要了解
AI 整理 · 本地测试,未经人工复核;依据历史报告节选,不代表当前产品状态。
报告未明确说明 GStack 的适用边界或限制条件。根据报告内容,GStack 不替代 IDE,它叠加在 Claude Code 之上提供团队级流程,可以和 Cursor 并行使用。报告提及 Garry Tan 本人 60 天写了 60 万行代码(35% 测试),日均 10-20k 行,作为真实验证过的产出数据,但未说明该数据是否适用于所有用户或场景。
简体中文 · AI 译文 原文
AI 中文译文,非官方翻译;安装命令与技术细节请对照原文。
gstack
“我想,自去年十二月以来,我大概一行代码都没写过,这真是一个巨大的变化。” — Andrej Karpathy ,No Priors 播客,2026年3月
当我听到 Karpathy 这么说时,我想知道他是怎么做到的。一个人如何能像二十人团队一样交付?Peter Steinberger 构建了 OpenClaw —— 247K GitHub 星标 —— 基本上靠 AI 智能体独自完成。革命已经到来。一个拥有正确工具链的独立开发者,可以比传统团队跑得更快。
我是 Garry Tan ,Y Combinator 的总裁兼 CEO。我与数千家初创公司合作过——Coinbase、Instacart、Rippling——当时他们只有一两个人在车库里创业。在加入 YC 之前,我是 Palantir 最早期的工程师/产品经理/设计师之一,联合创立了 Posterous(被 Twitter 收购),并构建了 YC 的内部社交网络 Bookface。
gstack 就是我的答案。 我从事产品开发已有二十年,而现在我交付的产品比以往任何时候都多。在过去 60 天里:3 个生产服务、40+ 个已上线功能,兼职完成,同时全职运营 YC。按逻辑代码变更(而非 AI 膨胀的原始代码行数)计算,我 2026 年的运行速度是 ~810 倍于 2013 年的水平 (11,417 对比 14 逻辑行/天)。年初至今(截至 4 月 18 日),2026 年已经产出了 2013 年全年的 240 倍 。统计范围涵盖 40 个公开 + 私有garrytan/*仓库,包括 Bookface,排除一个演示仓库后。大部分代码由 AI 编写。重点不在于谁敲的键盘,而在于交付了什么。
批评 LOC 的人说得没错,原始行数确实会因 AI 而膨胀。但他们错在认为经过通胀调整后,我的生产力下降了。我的生产力更高,而且高出很多。完整方法论、注意事项和复现脚本:关于 LOC 争议 。
2026 年 —— 1,237 次贡献,并且还在增加:
2013 年 —— 我在 YC 构建 Bookface 时(772 次贡献):
同一个人。不同的时代。区别在于工具。
gstack 就是我的做法。 它将 Claude Code 变成一个虚拟工程团队——一个重新思考产品的 CEO、一个锁定架构的工程经理、一个能发现 AI 垃圾设计的设计师、一个能找出生产 bug 的审查者、一个打开真实浏览器的 QA 负责人、一个运行 OWASP + STRIDE 审计的安全官,以及一个负责发布 PR 的发布工程师。二十三个专家和八个强力工具,全部是斜杠命令,全部是 Markdown,全部免费,MIT 许可证。
这是我的开源软件工厂。我每天都在使用它。我分享它,是因为这些工具应该对所有人开放。
Fork 它。改进它。让它成为你的。如果你想抨击免费开源软件——欢迎,但我更希望你先试试再说。
适用人群:
创始人和 CEO —— 尤其是仍然想亲自交付的技术型创始人
Claude Code 新手 —— 结构化角色,而不是空白提示词
技术负责人和资深工程师 —— 对每个 PR 进行严格审查、QA 和发布自动化
快速开始
安装 gstack(30 秒——见下文)
运行 /office-hours —— 描述你要构建的内容
对任何功能想法运行 /plan-ceo-review
对任何有改动的分支运行 /review
对你的预发布 URL 运行 /qa
到此为止。你会知道这是否适合你。
安装 —— 30 秒 要求: Claude Code 、Git 、Bun v1.0+、Node.js (仅 Windows)。macOS 推荐: Aside 浏览器(macOS 15+)——浏览器技能、/make-pdf 和 /diagram 会优先驱动它,使用你真实登录的会话。如果没有它,./setup 会构建 gstack 自带的捆绑浏览器,同样的技能会使用那个。
第 1 步:在你的机器上安装 打开 Claude Code 并粘贴以下内容。Claude 会完成其余操作。
安装 gstack:运行 git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup ,然后在 CLAUDE.md 中添加一个“gstack”部分,说明所有网页浏览都应使用 gstack 的 /browse 技能,绝不使用 mcp__claude-in-chrome__* 工具,并列出可用技能:/office-hours、/plan-ceo-review、/plan-eng-review、/plan-design-review、/design-consultation、/design-shotgun、/design-html、/review、/ship、/land-and-deploy、/canary、/benchmark、/browse、/connect-chrome、/qa、/qa-only、/design-review、/scrape、/setup-browser-cookies、/setup-deploy、/setup-gbrain、/retro、/investigate、/document-release、/document-generate、/codex、/cso、/autoplan、/plan-devex-review、/devex-review、/careful、/freeze、/guard、/unfreeze、/gstack-upgrade、/learn。然后询问用户是否也想将 gstack 添加到当前项目,以便团队成员也能使用。
第 2 步:团队模式 —— 共享仓库自动更新(推荐) 在你的仓库内粘贴以下内容。切换到团队模式,引导仓库使团队成员自动获得 gstack,并提交更改:
(cd ~/.claude/skills/gstack && ./setup --team) && ~/.claude/skills/gstack/bin/gstack-team-init required && git add .claude/ CLAUDE.md && git commit -m "require gstack for AI-assisted work"
你的仓库中没有捆绑文件,没有版本漂移,没有手动升级。每次 Claude Code 会话都会以快速自动更新检查开始(限频为每小时一次,网络故障安全,完全静默)。
如果你更倾向于温和提醒队友而不是阻止他们,可以将 required 替换为 optional。
OpenClaw OpenClaw 通过 ACP 生成 Claude Code 会话,因此当 Claude Code 安装了 gstack 时,每个 gstack 技能都能正常工作。将以下内容粘贴到你的 OpenClaw 智能体:
安装 gstack:运行 git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup 为 Claude Code 安装 gstack。然后在 AGENTS.md 中添加一个“编码任务”部分,说明:当为编码工作生成 Claude Code 会话时,告诉会话使用 gstack 技能。包括这些示例——安全审计:“加载 gstack。运行 /cso”,代码审查:“加载 gstack。运行 /review”,QA 测试 URL:“加载 gstack。运行 /qa https://...”,端到端构建功能:“加载 gstack。运行 /autoplan,实施计划,然后运行 /ship”,构建前规划:“加载 gstack。运行 /office-hours 然后 /autoplan。保存计划,不要实施。”
设置完成后,只需自然地与你的 OpenClaw 智能体对话:
原生 OpenClaw 技能(通过 ClawHub) 四个方法论技能可直接在你的 OpenClaw 智能体中使用,无需 Claude Code 会话。从 ClawHub 安装:
clawhub install gstack-openclaw-office-hours gstack-openclaw-ceo-review gstack-openclaw-investigate gstack-openclaw-retro
这些是对话式技能。您的 OpenClaw 代理直接通过聊天运行它们。
其他 AI 代理 gstack 适用于 10 种 AI 编码代理,而不仅仅是 Claude。安装程序会自动检测您已安装的代理:
git clone --single-branch --depth 1 https://github.com/garrytan/gstack.git ~/gstack
cd ~/gstack && ./setup
或使用 ./setup --host <name> 指定特定代理:
仅指令层级(任何能读取规则的代理 — Zed、Amp、Jules、副项目):
将 agents-digest/gstack-AGENTS.md
中的 2KB 摘要复制到您的代理读取的位置(例如,附加到您项目的 AGENTS.md)。
它承载了 gstack 的理念、复用阶梯和语音规则 — 无需安装。摘要的第一行显示其 gstack 版本;升级后请重新复制。
对于 Codex,安装程序读取顶层 model 从
${CODEX_HOME:-~/.codex}/config.toml 并生成匹配的行为
配置文件。 gpt-5.6-sol 自动接收有界范围的指令,这些指令
完成所请求的任务,而不会扩展到相邻的清理或投机性
加固。Sol 配置文件仅精确匹配:带日期的快照和其他 5.6
变体获得通用 GPT 配置文件,安装程序会对近似匹配发出警告,例如
gpt-5.6-sol-2026-08-01。使用 ./setup --host codex --model <id> 覆盖检测 — 该
覆盖仅适用于该次运行;在您的 Codex model 以
使其在升级后保持。更改 Codex 模型后,重新运行
config.toml 中设置 ./setup --host codex 以重新生成技能。
查看效果 You: I want to build a daily briefing app for my calendar.
You: /office-hours
Claude: [asks about the pain — specific examples, not hypotheticals]
You: Multiple Google calendars, events with stale info, wrong locations.
Prep takes forever and the results aren't good enough...
Claude: I'm going to push back on the framing. You said "daily briefing
app." But what you actually described is a personal chief of
staff AI.
[extracts 5 capabilities you didn't realize you were describing]
[challenges 4 premises — you agree, disagree, or adjust]
[generates 3 implementation approaches with effort estimates]
RECOMMENDATION: Ship the narrowest wedge tomorrow, learn from
real usage. The full vision is a 3-month project — start with
the daily briefing that actually works.
[writes design doc → feeds into downstream skills automatically]
You: /plan-ceo-review
[reads the design doc, challenges scope, runs 10-section review]
You: /plan-eng-review
[ASCII diagrams for data flow, state machines, error paths]
[test matrix, failure modes, security concerns]
You: Approve plan. Exit plan mode.
[writes 2,400 lines across 11 files. ~8 minutes.]
You: /review
[AUTO-FIXED] 2 issues. [ASK] Race condition → you approve fix.
You: /qa https://staging.myapp.com
[opens real browser, clicks through flows, finds and fixes a bug]
You: /ship
Tests: 42 → 51 (+9 new). PR: github.com/you/app/pull/42
您说“每日简报应用”。代理说“您正在构建一个幕僚长 AI”——因为它倾听的是您的痛点,而不是您的功能请求。八个命令,端到端。这不是副驾驶。这是一个团队。
冲刺 gstack 是一个流程,而不是工具的集合。技能按冲刺运行的顺序执行:
思考 → 计划 → 构建 → 审查 → 测试 → 发布 → 反思
每个技能都馈入下一个。/office-hours 编写设计文档,/plan-ceo-review 读取。/plan-eng-review 编写测试计划,/qa 接手。/review 捕获错误,/ship 验证已修复。没有任何遗漏,因为每一步都知道之前发生了什么。
我应该使用哪个审查?
高级工具
独立二进制文件 除了斜杠命令技能外,gstack 还附带独立的 CLI,适用于不适合在会话内完成的工作流:
./setup 还在 ~/.claude/settings.json:
gstack-timeline-stop 中注册了一个默认开启的停止钩子(当会话被中断时关闭悬空的会话时间线条目;故障开放——2 秒内部预算,始终退出 0,永远不会阻塞会话)。用 ./setup --no-timeline-stop-hook 持久地选择退出——该选择落在 timeline_stop_hook 配置键中,在升级后仍然存在,显式的“否”会移除实时注册。 GSTACK_TIMELINE_STOP_HOOK=no 和
gstack-config set timeline_stop_hook no 也有效(标志 > 环境变量 > 配置)。
./setup --no-team 为该次运行跳过它,gstack-settings-hook remove-source --source gstack-timeline-stop removes it by hand, and gstack-uninstall
也会移除它。
钩子注册仅限规范路径:每个钩子命令都指向稳定的
~/.claude/skills/gstack 安装,而非运行它的树设置,因此删除工作树或 Conductor 工作区不会在你的会话中留下死钩子报错。每次 ./setup 运行也会先自愈:gstack-settings-hook prune-stale --repoint 移除死掉的 gstack 钩子条目,将过时的条目重新指向稳定安装,并合并重复项,仅在更改了某些内容时打印一行(并在文件旁边写入备份)。
连续检查点模式(可选加入,默认本地) 设置 gstack-config set checkpoint_mode continuous 和技能,让它们在您工作时自动提交工作内容,使用 WIP: 前缀加上结构化的 [gstack-context] 正文(决策、剩余工作、失败的方法)。在崩溃和上下文切换时也能幸存。/context-restore 读取这些提交以重建会话状态。/ship 在 PR 之前过滤并压缩 WIP 提交(保留非 WIP 提交),以便 bisect 保持干净。推送是可选加入的,通过 checkpoint_push=true — 默认仅本地,这样您不会在每个 WIP 提交时触发 CI。
领域技能 + 原始 CDP 逃生舱口 gstack 自身引擎中的两个浏览器原语(当 Aside 不存在时的回退路径)会随着时间增强代理:
$B domain-skill save — 代理保存每个站点的笔记(例如,“LinkedIn 的申请按钮位于 iframe 中”),下次访问该主机名时自动触发。隔离 → 在 3 次成功使用后激活 → 可选地通过 $B domain-skill promote-to-global 进行跨项目推广。存储与 /learn 的每个项目学习文件并存。完整参考:docs/domain-skills.md .
$B cdp <Domain.method> — 原始 Chrome DevTools 协议逃生舱口,用于策展命令遗漏的罕见情况。默认拒绝:方法必须显式添加到 browse/src/cdp-allowlist.ts 中,并附一行理由。两级互斥锁将浏览器范围的 CDP 调用与每个标签页的工作串行化。数据外泄方法的输出被包裹在 UNTRUSTED 信封中。
想要没有护栏、没有白名单、没有守护进程的原始 CDP — 只是从代理到 Chrome 的轻量传输?browser-use/browser-harness-js 是另一种理念(代理编写的助手 vs gstack 的策展命令),如果您不想要 gstack 的安全栈,它很适合。两者可以共存:gstack 的 $B cdp 和 harness 都可以通过 Playwright 的 newCDPSession 附加到同一个 Chrome。
Karpathy 的四种失败模式?已经覆盖。 Andrej Karpathy 的 AI 编码规则 (17K 星)指出了四种失败模式:错误假设、过度复杂、正交编辑、命令式优于声明式。gstack 的工作流技能强制执行这四种。/office-hours 在编写代码之前将假设暴露出来。Confusion Protocol 阻止 Claude 在架构决策上猜测。/review 捕获不必要的复杂性和顺手编辑。/ship 将任务转化为可验证的目标,并采用测试优先执行。如果您已经在使用 Karpathy 风格的 CLAUDE.md 规则,gstack 是工作流执行层,让它们在整个冲刺中坚持,而不仅仅是单个提示。
并行冲刺 gstack 在一个冲刺中表现良好。同时运行十个时更有趣。
设计是核心。 /design-consultation 从零构建您的设计系统,研究现有方案,提出创意风险,并编写 DESIGN.md。但真正的魔力在于 shotgun-to-HTML 管道。
/design-shotgun 是您探索的方式。 您描述想要的内容。它使用 GPT Image 生成 4-6 个 AI 模型变体。然后在浏览器中打开一个比较面板,并排显示所有变体。您选择喜欢的,留下反馈(“更多空白”、“更粗的标题”、“去掉渐变”),它会生成新的一轮。重复直到您喜欢某个东西。几轮后品味记忆开始生效,它会偏向您真正喜欢的风格。不再需要用文字描述您的愿景并希望 AI 理解。您看到选项,选择好的,然后视觉迭代。
/design-html 让它成为现实。 将批准的模型(来自 /design-shotgun、CEO 计划、设计评审或只是描述)转化为生产质量的 HTML/CSS。不是那种在一个视口宽度下看起来不错、在其他地方就崩掉的 AI HTML。这使用 Pretext 进行计算文本布局:文本在调整大小时真正重排,高度适应内容,布局是动态的。30KB 开销,零依赖。它检测您的框架(React、Svelte、Vue)并输出正确的格式。智能 API 路由根据是落地页、仪表板、表单还是卡片布局选择不同的 Pretext 模式。输出是您真正会发布的东西,而不是演示。
/qa 是一个巨大的解锁。 它让我从 6 个并行工作器增加到 12 个。Claude Code 说 “我看到问题了” 然后真正修复它,生成回归测试,并验证修复 — 这改变了我的工作方式。代理现在有眼睛了。
智能评审路由。 就像运营良好的初创公司一样:CEO 不必查看基础设施 bug 修复,后端更改不需要设计评审。gstack 跟踪运行了哪些评审,找出合适的,然后做聪明的事。Review Readiness Dashboard 在您发布前告诉您所处的位置。
测试一切。 /ship 如果您的项目没有测试框架,则从零引导。/ship 每次运行都会生成覆盖率审计。/qa 每个 bug 修复都会生成回归测试。100% 测试覆盖率是目标 — 测试让 vibe coding 安全,而不是 yolo coding。
/document-release 是您从未有过的工程师。 它读取项目中的每个文档文件,交叉引用 diff,并更新所有漂移的内容。README、ARCHITECTURE、CONTRIBUTING、CLAUDE.md、TODOS — 全部自动保持最新。现在 /ship 自动调用它 — 文档无需额外命令即可保持最新。
Aside 是 gstack 首先驱动的浏览器。 在 Mac 上打开 Aside AI 浏览器时,/qa, /qa-only, /design-review, /canary, /benchmark, /scrape 和 /browse 都在其中运行 — 您的真实浏览器,使用您真实登录的会话,代理为自己打开标签页并在完成后关闭。无需 cookie 导入,无需“打开浏览器”步骤,无需 CAPTCHA 交接舞蹈:遇到登录墙,在 Aside 中登录,说“完成”,代理继续。页面返回的任何内容都被视为不受信任的内容 — 代理从中获取语法,绝不获取指令。/make-pdf, /diagram 和设计预览也通过 Aside 打印和截图(从您的机器在 loopback 上提供,每个脚本一次渲染),规划技能在调用搜索工具之前通过 Aside 自己的代理进行网络研究。
当 Aside 不存在时,gstack 自己的浏览器自动接管。 Linux、Windows 或关闭 Aside 的 Mac:相同的技能使用 ./setup 构建的捆绑无头 Chromium,产生相同的证据,并点亮以下功能,这些功能只有在浏览器是 gstack 的而不是您的时才有意义。
真实浏览器模式。 /open-gstack-browser 启动 GStack 浏览器,这是一个由 AI 控制的 Chromium,具备反机器人隐身、自定义品牌标识,并内置侧边栏扩展。Google 和 NYTimes 等网站无需验证码即可正常访问。菜单栏显示“GStack 浏览器”而非“Chrome for Testing”。您常用的 Chrome 浏览器不受影响。所有现有的浏览命令均可正常使用。 $B disconnect 返回无头模式。只要窗口保持打开,浏览器就会一直存活……不会因为空闲超时而中断您的工作。
侧边栏代理——您的 AI 浏览器助手。 在 Chrome 侧边面板中输入自然语言,子 Claude 实例将执行该指令。“导航到设置页面并截图。”“使用测试数据填写此表单。”“遍历此列表中的每一项并提取价格。”侧边栏会自动路由到正确的模型:Sonnet 用于快速操作(点击、导航、截图),Opus 用于阅读和分析。每个任务最多可运行 5 分钟。侧边栏代理在隔离会话中运行,因此不会干扰您的主 Claude Code 窗口。可从侧边栏底部一键导入 Cookie。
个人自动化。 侧边栏代理不仅适用于开发工作流。示例:“浏览我孩子的学校家长门户,并将所有其他家长的姓名、电话号码和照片添加到我的 Google 联系人中。”有两种身份验证方式:(1) 在有头浏览器中登录一次,您的会话将保持有效,或 (2) 点击侧边栏底部的“cookies”按钮,从您真实的 Chrome 浏览器导入 Cookie。身份验证后,Claude 将浏览目录、提取数据并创建联系人。
提示注入防御。 恶意网页试图劫持您的侧边栏代理。gstack 提供了分层防御:每次页面读取时都进行内容过滤(数据标记、隐藏元素剥离、ARIA 清理、URL 黑名单),外加一个在本地 sidecar 子进程中运行的 22MB 机器学习分类器,在代理查看页面派生内容之前对其进行扫描,并采用裁决组合器,在阻止前要求分类器达成一致(防止在 Stack Overflow 风格的指令页面上出现单模型误报)。一切都在您的机器上运行,无网络调用。紧急停止开关:GSTACK_SECURITY_OFF=1。请参阅 ARCHITECTURE.md 了解完整技术栈。
AI 卡住时的浏览器交接。 遇到 CAPTCHA、身份验证墙或 MFA 提示? $B handoff 会在完全相同的页面打开一个可见的 Chrome 窗口,并保留您所有的 Cookie 和标签页。解决问题后,告诉 Claude 您已完成, $B resume 会从上次中断的地方继续。代理甚至会在连续 3 次失败后自动建议此操作。
/pair-agent 是跨代理协调。 您正在使用 Claude Code。您同时也在运行 OpenClaw。或者 Hermes。或者 Codex。您希望它们同时查看同一个网站。输入 /pair-agent,选择您的代理,GStack 浏览器窗口将打开供您观看。该技能会打印一段指令。将该指令块粘贴到另一个代理的聊天中。它会交换一次性设置密钥以获取会话令牌,创建自己的标签页,并开始浏览。您可以看到两个代理在同一个浏览器中工作,各自在自己的标签页中,互不干扰。如果安装了 ngrok,隧道将自动启动,以便另一个代理可以在完全不同的机器上运行。同一台机器上的代理可获得零摩擦快捷方式,直接写入凭据。这是不同供应商的 AI 代理首次能够通过共享浏览器进行安全协调:作用域令牌、标签页隔离、速率限制、域限制和活动归因。
多 AI 第二意见。 /codex 从 OpenAI 的 Codex CLI 获得独立审查——一个完全不同的 AI 查看相同的差异。三种模式:带有通过/失败门槛的代码审查、主动尝试破坏您的代码的对抗性挑战,以及具有会话连续性的开放咨询。当 /review(Claude)和 /codex(OpenAI)都审查了同一分支时,您将获得跨模型分析,显示哪些发现重叠,哪些是各自独有的。
按需安全护栏。 说“小心点”,/careful 会在任何破坏性命令(rm -rf、DROP TABLE、强制推送、git reset --hard)之前发出警告。 /freeze 在调试时将编辑锁定到一个目录,这样 Claude 就不会意外“修复”无关代码。 /guard 同时激活两者。 /investigate 自动冻结到正在调查的模块。
主动技能建议。 gstack 会注意到您所处的阶段——头脑风暴、审查、调试、测试——并建议合适的技能。不喜欢?说“停止建议”,它会跨会话记住。
10-15 个并行冲刺 gstack 在单个冲刺中表现出色。同时运行十个时,效果则具有变革性。
Conductor 并行运行多个 Claude Code 会话——每个会话都在其独立的隔离工作区中。一个会话在新想法上运行 /office-hours,另一个在 PR 上执行 /review,第三个实现功能,第四个在暂存环境上运行 /qa,还有六个在其他分支上运行。所有这些同时进行。我经常运行 10-15 个并行冲刺——这是目前的实际上限。
冲刺结构是并行工作得以实现的关键。没有流程,十个代理就是十个混乱之源。有了流程——思考、计划、构建、审查、测试、发布——每个代理都确切知道该做什么以及何时停止。您像 CEO 管理团队一样管理它们:检查重要决策,让其余部分自行运行。
语音输入(AquaVoice、Whisper 等) gstack 技能具有适合语音的触发短语。自然地说出您的需求——
“运行安全检查”、“测试网站”、“进行工程审查”——相应的
技能就会激活。您无需记住斜杠命令名称或缩写。
卸载
选项 1:运行卸载脚本 ~/.claude/skills/gstack/bin/gstack-uninstall
这将处理技能、符号链接、全局状态(~/.gstack/)、项目本地状态、浏览守护进程和临时文件。使用 --keep-state 保留配置和分析数据。使用 --force 跳过确认。
选项 2:手动移除(无本地仓库) 如果您没有克隆仓库(例如,您通过 Claude Code 粘贴方式安装,之后删除了克隆):
# 1. Stop browse daemons
pkill -f "gstack.*browse" 2>/dev/null || true
# 2. Remove per-skill directories whose SKILL.md points into gstack/
# (rm -rf, not rmdir — installed dirs also contain runtime-asset links)
find ~/.claude/skills -mindepth 1 -maxdepth 1 -type d ! -name gstack 2>/dev/null |
while IFS= read -r dir; do
link="$dir/SKILL.md"
[ -L "$link" ] || continue
target=$(readlink "$link" 2>/dev/null) || continue
case "$target" in
gstack/*|*/gstack/*)
rm -rf "$dir"
;;
esac
done
# Directories gstack created carry a .gstack-owned marker (the only signal on
# Windows, where installs are file copies with no symlink to read)
for marker in ~/.claude/skills/*/.gstack-owned; do
[ -f "$marker" ] && rm -rf "$(dirname "$marker")"
done
# Alias skills install as copies (no symlink to detect) — remove by name
rm -rf ~/.claude/skills/_gstack-command ~/.claude/skills/connect-chrome 2>/dev/null
# 3. Remove gstack
rm -rf ~/.claude/skills/gstack
# 4. Remove global state
rm -rf ~/.gstack
# 5. Remove integrations (skip any you never installed)
rm -rf "${CODEX_HOME:-$HOME/.codex}/skills/gstack"* 2>/dev/null
rm -rf ~/.factory/skills/gstack* 2>/dev/null
rm -rf ~/.kiro/skills/gstack* 2>/dev/null
rm -rf ~/.openclaw/skills/gstack* 2>/dev/null
rm -rf ~/.cursor/skills/gstack* 2>/dev/null
rm -rf ~/.config/opencode/skills/gstack* 2>/dev/null
# 6. Remove temp files
rm -f /tmp/gstack-* 2>/dev/null
# 7. Per-project cleanup (run from each project root)
rm -rf .gstack .gstack-worktrees .claude/skills/gstack 2>/dev/null
rm -rf .agents/skills/gstack* .factory/skills/gstack* 2>/dev/null
手动移除会在 ~/.claude/settings.json
中留下 gstack 的钩子条目(卸载脚本会为您移除所有这些条目,包括那些
_gstack_source 标签已被剥离的条目)。编辑该文件,删除每个命令路径指向 .claude/skills/gstack/ 的钩子:SessionStart 自动更新钩子、AskUserQuestion PreToolUse/PostToolUse 钩子,以及 Stop 钩子(会话时间线,以及如果您选择加入的验证门)。如果保留这些条目,一旦安装目录被删除,它们会在每次匹配事件时出错。
清理 CLAUDE.md 卸载脚本不会编辑 CLAUDE.md。在每个添加了 gstack 的项目中,移除 ## gstack 和 ## Skill routing 部分。
Playwright ~/Library/Caches/ms-playwright/(macOS)会保留,因为其他工具可能共用。如果没有其他工具需要,可以移除。
Aside gstack 从未安装 Aside,因此也不会卸载它。像其他应用一样,保留或移除均可。
免费,MIT 许可,开源。没有高级版,没有等待名单。
我开源了我构建软件的方式。你可以 fork 它并让它成为你自己的。
GBrain — 为你的编码代理提供持久记忆 GBrain 是面向 AI 代理的持久知识库 — 可以把它想象成你的代理在会话之间真正保留的记忆。GStack 为你提供一条从零到“它已在运行,我的代理可以调用它”的一键路径。
Supabase,已有 URL — 你的云端代理已配置好 brain;粘贴 Session Pooler URL,这台笔记本现在使用相同的数据。
Supabase,自动配置 — 粘贴 Supabase Personal Access Token;该技能会创建新项目,轮询至健康状态,获取 pooler URL,并交给 gbrain init。端到端约 90 秒。
PGLite 本地 — 零账户,零网络,约 30 秒。仅限这台 Mac 上的隔离 brain。非常适合先试用;之后可用 /setup-gbrain --switch 迁移到 Supabase。
远程 gbrain MCP — 你的 brain 运行在另一台机器(Tailscale、ngrok、内部局域网)或队友的服务器上;粘贴 MCP URL 和 bearer token。可选配本地 PGLite,在 split-engine 模式下进行符号感知代码搜索。最适合跨机器记忆,而无需搭建本地数据库。
初始化后,该技能会提供将 gbrain 注册为 Claude Code 的 MCP 服务器(claude mcp add gbrain -- gbrain serve),这样 gbrain search, gbrain put 等会作为一等类型的工具出现 — 而不是 bash 子进程调用。
保持 brain 最新。 从任何仓库运行 /sync-gbrain 可将其代码重新索引到 gbrain(默认增量,--full 为全量重建,--dry-run 为预览)。该技能通过 gbrain sources add 将当前工作目录注册为联邦源,运行 gbrain sync --strategy code,并将 ## GBrain Search Guidance 块写入项目的 CLAUDE.md,使代理优先使用 gbrain search/code-def/code-refs 而非 Grep。如果能力检查失败,该块会自动移除 — 不会留下指向未安装工具的过时指引。
按远程的信任策略。 你机器上的每个仓库获得三个层级之一:
read-write — 代理可以搜索 brain 并从此仓库写回新页面
read-only — 代理可以搜索但绝不写入(最适合多客户顾问:搜索共享 brain,不要在客户 B 的仓库中污染客户 A 的工作)
deny — 完全不与 gbrain 交互
该技能每个仓库询问一次。该决定在同一远程的 worktree 和分支之间保持稳定。
GStack 记忆同步(不同功能,相同的私有仓库基础设施)。 可选地将你的 gstack 状态(学习记录、CEO 计划、设计文档、回顾、开发者画像)推送到私有 git 仓库,使你的记忆跨机器跟随你,带有一一次性隐私提示(全部允许 / 仅产物 / 关闭)和纵深防御的秘密扫描器,在 AWS 密钥、token、PEM 块和 JWT 离开你的机器之前阻止它们。
在 Conductor 中运行 gstack? Conductor 会明确从每个工作区的进程环境中剥离 ANTHROPIC_API_KEY 和 OPENAI_API_KEY,因此付费评估和 gbrain 嵌入无法开箱即用。请在 Conductor 的工作区环境配置中设置 GSTACK_ANTHROPIC_API_KEY 和 GSTACK_OPENAI_API_KEY — gstack 的 TS 入口点会在运行时将它们提升为规范名称。完整详情以及为新入口点添加导入的贡献者清单:Conductor + GSTACK_* 环境变量 .
文档
隐私与遥测 gstack 包含可选 的使用遥测,以帮助改进项目。具体如下:
默认关闭。 除非你明确同意,否则不会发送任何内容。
首次运行时, gstack 会询问你是否愿意分享匿名使用数据。你可以拒绝。
发送内容(如果你选择加入): 技能名称、时长、成功/失败、gstack 版本、操作系统。仅此而已。
绝不发送: 代码、文件路径、仓库名称、分支名称、提示词或任何用户生成的内容。
随时更改: gstack-config set telemetry off 可立即禁用所有功能。
每次离机发送都有回执。 任何由 gstack 发起的网络发送 — 包括遥测 — 都会在发送前将哈希链式、防篡改的回执写入 ~/.gstack/security/egress.jsonl;如果无法写入回执,敏感接收方会拒绝发送。使用 gstack-egress list 审计,使用 gstack-egress verify 验证链(篡改时退出码为 3),使用 gstack-egress grants 查看当前同意设置。账本记录尝试的发送,使意外可审计 — 它是审计追踪,而非网络防火墙。
数据存储在 Supabase (开源 Firebase 替代品)中。数据库模式位于 supabase/migrations/ — 你可以精确验证收集了哪些数据。仓库中的 Supabase 可发布密钥是公钥(类似于 Firebase API 密钥)— 行级安全策略拒绝所有直接访问。遥测数据通过经过验证的边缘函数传输,这些函数强制执行模式检查、事件类型白名单和字段长度限制。
本地分析始终可用。 运行 gstack-analytics 可从本地 JSONL 文件查看你的个人使用仪表板 — 无需远程数据。
故障排除 技能未显示? cd ~/.claude/skills/gstack && ./setup
/browse (或 /qa, /design-review)显示 NEEDS_ASIDE 或 ASIDE_NOT_RUNNING? 这是探针在告诉你它即将使用备用浏览器。想要 Aside?打开应用并登录 — aside --version 应打印版本号,且 aside repl 'console.log("ok")' 应打印 ok — 然后重新运行。gstack 绝不会替你安装它。想在 Aside 打开时故意使用备用浏览器?GSTACK_SKIP_ASIDE=1 使所有技能、渲染器和 ./setup 将 Aside 视为不存在。
/browse 在备用浏览器上失败? cd ~/.claude/skills/gstack && bun install && bun run build
/make-pdf 或 /diagram 无法渲染? 同样两条路径:打开 Aside 时它们通过 Aside 打印(bun run ~/.claude/skills/gstack/bin/gstack-render.ts some.html --screenshot /tmp/out.png 直接测试它,其第一行 ENGINE=aside 或 ENGINE=browse 指明实际渲染的浏览器);未打开时它们使用捆绑浏览器,因此 bun run build 是修复方法。
安装过时? 运行 /gstack-upgrade — 或在 auto_upgrade: true
想要更短的命令? ~/.gstack/config.yaml 中设置 cd ~/.claude/skills/gstack && ./setup --no-prefix — 从 /gstack-qa 切换到 /qa。你的选择将在未来升级时被记住。
想要带命名空间的命令? cd ~/.claude/skills/gstack && ./setup --prefix — 从 /qa 切换到 /gstack-qa。如果你同时运行其他技能包,这会很有用。
Codex 显示“由于无效的 SKILL.md 而跳过加载技能”? 你的 Codex 技能描述已过时。修复方法:cd "${CODEX_HOME:-$HOME/.codex}/skills/gstack" && git pull && ./setup --host codex — 或对于仓库本地安装:cd "$(readlink -f .agents/skills/gstack)" && git pull && ./setup --host codex
Windows 用户: gstack 可通过 Git Bash 或 WSL 在 Windows 11 上运行。Aside 仅适用于 macOS,因此在 Windows(和 Linux)上,浏览器技能、/make-pdf 和 /diagram 始终使用 gstack 的捆绑浏览器。除 Bun 外还需要 Node.js — Bun 在 Windows 上与 Playwright 的管道传输存在已知错误(bun#4253 )。浏览服务器会自动回退到 Node.js。确保 bun 和 node 都在你的 PATH 中。
在没有开发者模式的 Windows(MSYS2 / Git Bash)上,setup 回退为文件复制而非符号链接,因为 ln -snf 生成冻结副本,在 git pull 时不会刷新。每次 cd ~/.claude/skills/gstack && ./setup 以使你的技能文件与仓库匹配。git pull 后重新运行 setup 会打印一行提醒。Unix 和 WSL 保留符号链接,无需重新运行。
在 ./setup 期间 Chromium 安装失败或挂起? 捆绑浏览器是尽力而为:设置会记录原因、完成注册每个技能,并打印哪些技能受影响(/qa, /qa-only, /design-review,
/browse、make-pdf、/diagram, /pair-agent)。打开 Aside 时,浏览器技能继续在 Aside 中运行,仅缺少备用引擎;/pair-agent 始终需要捆绑浏览器。修复原因并重新运行 ./setup。可调参数:
GSTACK_PLAYWRIGHT_INSTALL_TIMEOUT=<seconds> 提高慢速链接上的下载上限(默认 600);GSTACK_SKIP_PLAYWRIGHT=1 完全跳过 Chromium 安装(CI、无浏览器环境);GSTACK_CHROMIUM_NO_SANDBOX=1 是当 Chromium 安装成功但因主机阻止非特权用户命名空间而无法启动时的修复方法(Ubuntu 24.04+ AppArmor 默认,#2157)。
设置以“未注册(你拥有的技能已使用该名称;未做更改)”结束? gstack 只删除或链接覆盖它能证明是自己创建的技能条目:指向 gstack 的符号链接、带有 .gstack-owned 标记的目录 ./setup 会写入它创建的每个目录,或与 gstack 的 SKILL.md 字节相同或带有生成的 <!-- AUTO-GENERATED from ... --> 横幅。你自己编写的 qa/ 或 ship/ 会被 ./setup,
gstack-relink 以及两种前缀模式切换保留不动,链接器会在最终摘要中指明。重命名或移动你的文件,或切换模式(./setup --prefix /
--no-prefix)以避免名称冲突。如果你从生成的 gstack SKILL.md 开始创建自己的技能然后编辑了它,该文件会在 gstack 的链接之前被移动到 ~/.gstack/backups/skills/<timestamp>/<skill>/SKILL.md,绝不会被删除。
Claude 说看不到技能? 确保你项目的 CLAUDE.md 中有 gstack 部分。添加以下内容:
## gstack
Use /browse from gstack for all web browsing. Never use mcp__claude-in-chrome__* tools.
Available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review,
/design-consultation, /design-shotgun, /design-html, /review, /ship, /land-and-deploy,
/canary, /benchmark, /browse, /open-gstack-browser, /qa, /qa-only, /design-review, /scrape,
/setup-browser-cookies, /setup-deploy, /setup-gbrain, /sync-gbrain, /retro, /investigate,
/document-release, /document-generate, /codex, /cso, /autoplan, /pair-agent, /careful, /freeze,
/guard, /unfreeze, /gstack-upgrade, /learn.
许可证 09.08