
gstack × OpenClaw为 AGENTS.md 编写调度路由让 Telegram 里的 Agent 替你派发 Claude Code 会话【免费下载链接】gstackUse Garry Tans exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA项目地址: https://gitcode.com/GitHub_Trending/gs/gstack本文围绕openclaw/agents-gstack-section.md这一即插即用的 AGENTS.md 配置片段展开它定义了 OpenClaw 编排器orchestrator在接到编码任务后如何用sessions_spawn启动 Claude Code 会话、如何按任务复杂度选择 SIMPLE / MEDIUM / HEAVY / FULL / PLAN 五档调度层级dispatch tier以及三条不可妥协的行为规则。读完后你将掌握如何在自己的 OpenClaw 实例中配置这套调度路由理解每档注入的 prompt 前缀gstack-lite / gstack-full / gstack-plan 模板各自做了什么以及 gstack 侧如何通过OPENCLAW_SESSION环境变量识别被编排器派生的会话并自动切换为非交互模式。一、这段配置是什么OpenClaw 与 gstack 的提示词桥梁openclaw/agents-gstack-section.md是 gstack 仓库为 OpenClaw 集成提供的一份可直接粘贴进 OpenClawAGENTS.md的调度配置片段。它本身不是一段可执行代码而是一份行为契约告诉 OpenClaw 的主 Agent 在用户提出编码需求时该如何决策、如何派生spawnClaude Code 会话、如何把结果带回来。docs/OPENCLAW.md 对集成的定位非常明确gstack 是以方法论来源methodology source而非移植代码库的身份接入 OpenClaw 的。OpenClaw 的 ACP runtime 原生负责派生 Claude Code 会话gstack 则提供让会话产出更好的规划纪律与方法论。整个集成被刻意设计成一种轻量协议——没有守护进程、没有 JSON-RPC、没有兼容矩阵提示词就是桥No daemon. No JSON-RPC. The prompt is the bridge。agents-gstack-section.md正是这座桥中调度端的那一半。它的三个组成部分是Rules (non-negotiable)—— 三条不可妥协的行为规则位于调度层级之上Dispatch Routing—— 五档调度层级及其对应的sessions_spawnprompt 构造方式Decision Heuristic—— 用几条可判定的启发式规则帮助 Agent 选档。从仓库结构看这份片段与 openclaw/ 目录下的三个 CLAUDE.md 模板gstack-lite/gstack-full/gstack-plan构成一组片段决定注入哪个模板、以什么措辞发起会话模板决定会话内部如何执行。二、三条不可妥协规则Rules, non-negotiable原文档把这三条规则置于调度层级之前OPENCLAW.md 中明确写道these go ABOVE the dispatch tiers因为它们约束的是编排器自身的交互姿态与任务大小无关2.1 Always spawn, never redirect永远派生永不转介当用户要求使用任何gstack skill 时必须通过sessions_spawn派生一个 Claude Code 会话。永远不要告诉用户自己打开 Claude Code永远不要说这需要跑在 Claude Code 里。直接去做。这条规则的设计动机在 docs/OPENCLAW.md 的架构图中可以看到OpenClaw 侧承担messaging、calendar、memory、EAExecutive Assistant职责典型入口是 Telegram 等聊天渠道。用户体验目标被写成了一条独立的规则——User should never have to leave Telegram用户永远不需要离开 Telegram。换句话说OpenClaw 主 Agent 是用户的唯一界面Claude Code 只是它背后的执行引擎用户感知不到另一个工具的存在。2.2 Resolve the repo先解析目标仓库如果用户指名了某个仓库或项目就把工作目录设为该仓库路径。如果不知道仓库路径就问用户是哪个仓库——而不是把问题推回你去打开 Claude Code 处理。这条规则把确定工作目录的职责留在了编排器侧。它和第一条规则形成闭环编排器负责选仓库、派生会话会话在正确的 cwd 下运行 gstack避免 Agent 在错误的目录里执行 skill。2.3 Autoplan runs end-to-endAutoplan 端到端跑完对/autoplan这类任务派生会话后让它完整跑完评审流水线CEO → design → eng跑完后把计划带回聊天里汇报并把计划写入 memory 供用户日后检索。这里对应的是 gstack 的 autoplan skill。它的sections/目录下按角色拆分了评审阶段模板ceo-phase、design-phase、eng-phase以及 manifest.json 描述的聚合顺序。端到端跑完意味着编排器不能在中间任何环节把请确认抛回给用户而是等 Claude Code 会话自行完成整条流水线后再一次性汇报。三、五档调度路由Dispatch Routing这是整个配置片段的核心。当用户提出编码工作时编排器必须选一个调度层级每一档对应一种固定的sessions_spawn调用形态3.1 SIMPLE单文件小改动触发场景fix this typo、update that config、单文件修改 调用方式sessions_spawn(runtime: acp, prompt: just the task)即不注入任何 gstack 上下文把任务原样发给 Claude Code。这对应 docs/OPENCLAW.md 表格中的说明——Simple 档No gstack context injected。3.2 MEDIUM多文件但思路明确触发场景多文件功能、重构、skill 编辑 调用方式sessions_spawn(runtime: acp, prompt: gstack-lite content\n\ntask)gstack-lite content指 openclaw/gstack-lite-CLAUDE.md 的全文源模板在 openclaw/templates/gstack-lite-CLAUDE.md。这份模板只有十几行内容是一套规划纪律修改前先读完每个要改的文件理解既有模式写代码前先陈述计划做什么、为什么、改哪些文件、测试用例、风险遇到歧义时的偏好序完整性优先于捷径、既有模式优先于新模式、可逆选择优先于不可逆、安全默认值优先于炫技方案汇报完成前自审漏改的文件、坏掉的 import、未测的路径、风格不一致完成汇报交付了什么、做了哪些决策、有什么不确定。OPENCLAW.md 提到这套纪律经过 A/B 测试2x time, meaningfully better output——耗时约为原生的两倍但产出质量显著提升。这是一个典型的用时间换确定性的权衡由编排器在 MEDIUM 档自动启用。3.3 HEAVY点名某个 gstack 方法论触发场景需要特定 gstack 方法论 调用方式sessions_spawn(runtime: acp, prompt: Load gstack. Run /qa https://...)原文档列出了适用此档的 skill 清单/cso、/review、/qa、/ship、/investigate、/design-review、/benchmark、/gstack-upgrade。prompt 的形态很特别不注入任何 CLAUDE.md 模板只用一句话Load gstack. Run /X让会话内的 gstack安装在~/.claude/skills/gstack自己加载方法论。这些 skill 对应仓库中各自的目录如 review/SKILL.md、qa/SKILL.md、ship/SKILL.md、investigate/SKILL.md。3.4 FULL完整功能交付触发场景构建完整功能、跨多天的范围、需要规划 评审 调用方式sessions_spawn(runtime: acp, prompt: gstack-full content\n\ntask)gstack-full content是 openclaw/gstack-full-CLAUDE.md模板源 openclaw/templates/gstack-full-CLAUDE.md它把既有 gstack skill 串成一条完整流水线读 CLAUDE.md理解项目上下文跑/autoplan评审方案CEO eng design 评审流水线;按已批准的计划实现遵循规划纪律跑/ship创建带测试、changelog、版本号 bump 的 PR汇报PR URL、交付内容、所做决策、不确定项。模板末尾还有一条强约束Do not ask for human input until the PR is ready for review——在 PR 就绪之前不得向人求助这保证了派生会话是自洽跑完的。3.5 PLAN只规划不实现触发场景用户想为 Claude Code 项目做规划、给功能写 spec、或在写代码前先设计方案 调用方式sessions_spawn(runtime: acp, prompt: gstack-plan content\n\ntask)gstack-plan content是 openclaw/gstack-plan-CLAUDE.md模板源 openclaw/templates/gstack-plan-CLAUDE.md定义了一条完整评审关卡Full Review Gauntlet读 CLAUDE.md 理解项目上下文跑/office-hours产出设计文档问题陈述、前提假设、备选方案跑/autoplan评审设计CEO eng design DX 评审 codex 对抗式评审把最终评审过的计划存到当前仓库的plans/project-slug-plan-date.md内容包含设计文档、所有评审决策、实现顺序向编排器汇报计划文件路径、一段话的设计摘要与关键决策、已接受的 scope 扩张清单、建议的下一步通常是用 gstack-full 派生新会话去实现。模板同样明确Do not implement anything. This is planning only。原文档对 PLAN 档还给出了跨会话闭环要求编排器要把计划链接持久化到 memory / knowledge store等用户准备好实现时再派生一个新的 FULL 会话并指向该计划文件。也就是说PLAN 与 FULL 是先存后取的两段式协作由编排器的 memory 衔接。3.6 CLAUDE.md 冲突处理追加而非替换虽然agents-gstack-section.md片段本身没有展开但 docs/OPENCLAW.md 补充了一条实现 MEDIUM / FULL / PLAN 档时必须遵守的落地细节当派生会话的仓库已经有 CLAUDE.md 时gstack-lite/full 模板必须**追加APPEND**为一个新的 section绝不能替换仓库既有的指令。三个模板文件的头部注释也都写明了这一点Append to existing CLAUDE.md。四、决策启发式Decision Heuristic选档依赖六条可判定的启发式原文档逐条给出启发式档位改动少于 10 行代码SIMPLE涉及多个文件但方案显而易见MEDIUM用户点名了某个具体 skill/cso、/review、/qaHEAVYUpgrade gstack / update gstackHEAVY且 prompt 为Run /gstack-upgrade是 feature / project / objective而非 taskFULL用户想规划但先不实现PLAN值得注意第 4 条把升级 gstack这类运维操作也归入 HEAVY 档并固定为Run /gstack-upgrade与仓库中的 gstack-upgrade/SKILL.md含migrations/目录下的版本迁移脚本对应。启发式的判断维度可以归纳为三个正交问题改动规模10 行 / 多文件、方法论需求是否点名 skill、任务性质task 还是 objective、是否只规划。这种规则表 明确 prompt 模板的写法正是让 LLM 编排器能够稳定、可复现地选档的关键——没有模糊地带每条输入都能落到某一档。五、实现佐证模板生成与会话识别配置片段之所以能稳定工作依赖 gstack 仓库侧的两处机制支撑5.1 模板的生成管线openclaw/目录下直接可见的三份 CLAUDE.mdgstack-lite/gstack-full/gstack-plan是生成产物真正的源文件在openclaw/templates/下。scripts/gen-skill-docs.ts 中的生成逻辑约 L1064–L1074当--host openclaw时把templates/中对应文件复制/生成到openclaw/顶层并打印GENERATED: openclaw/fileName。docs/OPENCLAW.md 也确认了这一点All artifacts live in theopenclaw/directory and are generated bybun run gen:skill-docs --host openclaw。开发 gstack 时可通过./setup --host openclaw输出集成文档、通过上述 bun 命令重新生成产物仓库为只读时只需查看。5.2 派生会话的识别OPENCLAW_SESSION 环境变量Coding Tasks (gstack) 片段本身不设置环境变量但 OPENCLAW.md 给出了配套约定在sessions_spawn中通过env: { OPENCLAW_SESSION: 1 }标记派生会话。gstack 侧的检测入口在 bin/gstack-session-kind脚本第 11 行注释标明spawned → orchestrator session (OpenClaw). Auto-choose recommended option第 27 行以if [ -n ${OPENCLAW_SESSION:-} ]作为判据。一旦识别为编排器派生会话gstack 的行为调整为跳过交互提问自动选择推荐选项、跳过升级检查与遥测提示、聚焦任务完成与文字汇报——这与片段中Autoplan 端到端跑完、结果带回聊天的要求正好呼应正是因为会话不会中途弹出交互问题编排器才可以放心地spawn 后等它跑完。六、如何在自己的 OpenClaw 中使用按照 docs/OPENCLAW.md 的安装说明使用流程如下对 OpenClaw 用户直接对 OpenClaw agent 说 install gstack for openclaw。Agent 应完成四步把 gstack-lite CLAUDE.md 装入编码会话模板、安装 4 个原生方法论 skillgstack-openclaw-office-hours、gstack-openclaw-ceo-review、gstack-openclaw-investigate、gstack-openclaw-retro源码见 openclaw/skills/、把调度路由加入 AGENTS.md、用一个测试 spawn 验证。手动配置的最小动作把 openclaw/agents-gstack-section.md 的全文复制进你的 OpenClawAGENTS.mdOPENCLAW.md 原文Copy it into your OpenClaw AGENTS.md并确保 Claude Code 环境中已安装 gstack安装位置~/.claude/skills/gstack。对 gstack 开发者./setup --host openclaw输出集成文档产物本身由bun run gen:skill-docs --host openclaw生成。一个符合该配置的派生调用示例HEAVY 档sessions_spawn( runtime: acp, cwd: 目标仓库路径, env: { OPENCLAW_SESSION: 1 }, prompt: Load gstack. Run /qa https://example.com )会话跑完后编排器按片段要求把结果汇报回聊天渠道对 FULL 档则是 PR URL 决策摘要对 PLAN 档则是计划文件路径 摘要 建议下一步。七、边界这套集成不做什么OPENCLAW.md 用一节What we dont do划清了方案的边界理解这些否定项有助于正确预期这套配置的能力范围无调度守护进程——会话派生由 ACP 处理无 Clawvisor 中继——不需要额外的安全层无双向 learnings 桥——brain repo 就是知识存储无 JSON schema 与协议版本化——协议即提示词文本不向 OpenClaw 输出 SOUL.mdOpenClaw 有自己的不做完整 skill 移植——编码类 skill 保持 Claude Code 原生。agents-gstack-section.md正是这种提示词即协议哲学的具体体现它没有依赖任何运行时 API 或外部服务仅凭一段结构化 Markdown 规则就让通用编排 Agent 学会按五档路由把编码任务正确地交给 gstack 的 Claude Code 会话并在用户始终停留在聊天渠道的前提下完成从派生、执行到汇报的闭环。【免费下载链接】gstackUse Garry Tans exact Claude Code setup: 23 opinionated tools that serve as CEO, Designer, Eng Manager, Release Manager, Doc Engineer, and QA项目地址: https://gitcode.com/GitHub_Trending/gs/gstack创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考