ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

GSD Core v1.40.0 文档审计解读:Skill 面整合、namespace 两阶段路由与上下文窗口守卫

GSD Core v1.40.0 文档审计解读:Skill 面整合、namespace 两阶段路由与上下文窗口守卫 【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载本文聚焦 GSD Core 仓库中 v1.40.0 文档审计 changeset 所记载的核心技术变更86→59 的 skill 表面整合、六个 namespace 元技能及其两阶段路由、/gsd-health --context上下文窗口利用守卫、phase-lifecycle 状态行读侧以及 Gemini colon-form / 非 Gemini hyphen-form 斜杠命令的形式拆分。读者读完本文将掌握这些变更的动机、实现原理、命令用法与源码级证据能够据此理解 v1.40.0 的文档与命令面变化并在自己的安装中正确使用新的 namespace 路由与健康守卫。一、这份审计记录在说什么.changeset/archived/docs-1-40-0-audit.md是一份针对 v1.40.0-rc.1 发布面的文档审计变更记录类型标记为ChangedPR 编号 0属于归档类 changeset。它并不是一篇文章而是一份浓缩的发布前文档同步清单但其中每一个条目都对应仓库中真实存在、可被源码验证的实现变更Skill 面整合86→59将 31 个微技能移除其行为全部保留到父命令的 flags 上issue #2790六个 namespace 元技能 两阶段路由新增gsd-ns-*系列路由技能模型先选择 namespace再路由到具体子技能issue #2792/gsd-health --context守卫新增上下文窗口利用率检测60% 告警、70% 临界phase-lifecycle 状态行读侧#2833parseStateMd()读取active_phase、next_action、next_phases、progress等 frontmatter 字段Gemini colon-form / 非 Gemini hyphen-form 斜杠命令拆分Gemini CLI 使用/gsd:cmd冒号形式其他运行时统一使用/gsd-cmd连字符形式i18n 镜像策略ja-JP/ko-KR/zh-CN/pt-BR 四语种翻译镜像结构性变更新增英文散文用!-- TODO i18n --标记留给人工翻译。仓库中确实存在这六个 namespace 元技能目录skills/gsd-ns-context/、skills/gsd-ns-ideate/、skills/gsd-ns-manage/、skills/gsd-ns-project/、skills/gsd-ns-review/、skills/gsd-ns-workflow/且 docs/RELEASE-NOTES-LEGACY.md 的 1.40.0-rc.1 段落逐条印证了上述变更。下文将逐项展开。二、Skill 表面整合86 → 592.1 整合动机降低冷启动 token 开销在 v1.39 之前GSD Core 以扁平方式暴露 86 个 skill模型在每次会话冷启动时都需要读取全部 skill 清单产生约2,150 tokens的固定开销。v1.40.0-rc.1 将 skill 表面整合为 59 个条目删除了 31 个微技能但其行为全部通过父命令的 flags 保留。以gsd-ns-context的 SKILL.md 为例其中明确记载gsd-scanandgsd-intelwere folded intogsd-map-codebaseflags by #2790.即原先独立的gsd-scan轻量扫描与gsd-intel情报查询两个技能被合并进gsd-map-codebase分别对应--fast与--query两个 flag用户意图调用完整映射代码库结构gsd-map-codebase轻量快速扫描gsd-map-codebase --fast查询已生成的映射情报文件gsd-map-codebase --query同理commands/gsd/ns-manage.md 记载gsd-configsettings advanced integrations profile与gsd-workspacenew list remove都是 #2790 整合后的合并条目。2.2 仓库证据cluster 定义的来源整合后的 skill 被组织进 src/clusters.cts 的CLUSTERS映射中共 10 个集群core_loop、audit_review、milestone、research_ideate、workspace_state、docs、ui、ai_eval、ns_meta、utility。集群用于/gsd:surface在无需重装的前提下整体启用/禁用一组技能且集群成员允许重叠一个 skill 可同时属于多个集群所有集群的并集必须覆盖每个已安装 skill。在 src/clusters.cts 中ns_meta集群正好包含这六个 namespace 元技能ns_meta: Object.freeze([ ns-context, ns-ideate, ns-manage, ns-project, ns-review, ns-workflow, ]),从源码结构看这是以发布为时间点的构建ADR-457 build-at-publish——手写的bin/lib/clusters.cjs被折叠为 TypeScript 单一事实源行为逐字节保留。三、六个 namespace 元技能与两阶段路由3.1 六个 namespace 一览v1.40 用六个 namespace 路由技能取代扁平 86-skill 清单。每个 namespace 是一份极简的路由器 SKILL.md只包含一个意图→子技能的映射表允许工具仅Read与SkillNamespace 技能职责域主要路由目标来自仓库 SKILL.mdgsd-ns-workflow阶段流水线discuss-phase / plan-phase / execute-phase / verify-phase / phase / progress / nextgsd-ns-project项目生命周期milestones、audits、summary 等gsd-ns-review质量门禁code-review、debug、audit、security、eval、uigsd-ns-context代码库情报map-codebase、graphify、docs-update、extract-learnings、mempalace-recall/capturegsd-ns-manage管理工作台config、workspace、workstreams、thread、update、ship、inbox、pr-branch、undo、cleanup、health、manager、settings、stats、surface、helpgsd-ns-ideate探索与沉淀explore、sketch、spike、spec、capture3.2 两阶段路由的工作方式路由分两步执行第一阶段选择 namespace。模型根据用户意图先选中一个 namespace 路由器约 6 个条目token 开销极低第二阶段路由到具体子技能。在该 namespace 的映射表中查找匹配项直接以Skill工具调用具体技能。以 commands/gsd/ns-manage.md 为例配置 GSD 设置→gsd-config管理并行 workstream→gsd-workstreams暂停当前工作→gsd-pause-work一一对应。gsd-ns-context的 SKILL.md 则要求 Invoke the matched skill directly using the Skill tool.3.3 收益与加性保证冷启动开销下降6 个路由器约120 tokens而扁平 86-skill 清单约 2,150 tokens见 docs/COMMANDS.md 与 docs/RELEASE-NOTES-LEGACY.md加性设计namespace 技能是加法式的——所有既有具体命令如/gsd-plan-phase、/gsd-code-review --fix依然可以直接调用不受影响docs/COMMANDS.md。3.4 安装端的嵌套布局支持namespace 元技能不仅是文档层面的一层路由还改变了安装端的目录扫描逻辑。在 src/init.cts 中安装器对gsd-ns-*路由器恰好下钻一层到entry/skills/stem/SKILL.md的嵌套布局cline、qwen、hermes、augment、trae、antigravity 等 runtime 使用nestedtrue// Nested layout: entry/skills/stem/SKILL.md // Used by cline, qwen, hermes, augment, trae, antigravity (#69 nestedtrue). // Descend exactly one level into entry/skills/ — no deeper recursion. // Scope to gsd-ns-* routers only: never vacuum up an unrelated user skill // that happens to have its own skills/ subdirectory. if (!entry.name.startsWith(gsd-ns-)) continue;注释中明确解释了为何只在gsd-ns-*下钻避免把恰好自带skills/子目录的无关用户技能吸进来。同时src/init.cts 中的seenNamesInRoot集合用于去重双路由具体技能——例如spec-phase同时嵌套在gsd-ns-workflow与gsd-ns-manage之下时只会被登记一次。四、/gsd-health --context上下文窗口利用守卫4.1 命令形态commands/gsd/health.md 定义了/gsd-health命令参数提示为[--repair] [--context]默认模式校验.planning/目录完整性缺失文件、非法配置、不一致状态、孤立计划--repair对检测到的问题执行修复--context运行一个正交检查——当前会话的上下文窗口利用率。--context的流程是工作流询问模型的tokensUsedcontextWindow调用gsd-tools query validate.context然后渲染三种状态之一利用率状态建议动作 60%healthy无需动作上下文舒适60% – 70%warning建议/gsd:thread开启新线程≥ 70%critical推理质量可能越过断裂点而下降该建议与docs/features/context-window-utilization-guard.md功能注册表条目 id124完全一致其 REQ-CTX-GUARD-01 要求打印包含当前利用率、阈值层级ok/warn/critical与补救建议的结构化状态行。4.2 底层纯函数分类器核心算法位于 src/context-utilization.ctsADR-457 构建产物由手写bin/lib/context-utilization.cjs折叠而来export function classifyContextUtilization( tokensUsed: number, contextWindow: number, ): ContextUtilizationResult { if (!Number.isInteger(tokensUsed) || tokensUsed 0) { throw new TypeError( tokensUsed must be a non-negative integer, got: ${tokensUsed} (${typeof tokensUsed}), ); } if (!Number.isInteger(contextWindow) || contextWindow 0) { throw new TypeError( contextWindow must be a positive integer, got: ${contextWindow} (${typeof contextWindow}), ); } const ratio Math.min(tokensUsed / contextWindow, 1); const percent Math.min(Math.round(ratio * 100), 100); let state: ContextState; if (ratio 0.60) state STATES.HEALTHY; else if (ratio 0.70) state STATES.WARNING; else state STATES.CRITICAL; return { percent, state }; }几个值得注意的实现细节纯函数、可测试输入(tokensUsed, contextWindow)输出{ percent, state }不包含任何格式化/推荐文案——文案属于渲染层职责见 src/context-utilization.cts 头注释这使文案修改无需改动测试入参校验严格tokensUsed必须是非负整数contextWindow必须是正整数否则抛TypeError边界处理状态以精确比率判定 0.60/ 0.70/ 其余显示百分比四舍五入后可能与边界有 ±1 的视觉差如 59.999% 显示为 60 但仍判为 healthy上限收敛比率与百分比都做了Math.min(..., 1)/Math.min(..., 100)收敛防止溢出。4.3 供状态行与钩子调用的结构化封装同一三态判定还以gsd-tools.cjs validate context --tokens-used int --context-window int的形式暴露REQ-CTX-GUARD-02。两个 flag 均为必填返回与纯分类器相同的{ percent, state }封装REQ-CTX-GUARD-03。这正是 docs/CLI-TOOLS.md 中 v1.40.0 条目 Probe context-window utilization for status-line / hook callers 所指的用途——状态行statusline与各类 hook 可以稳定地消费该结构化输出而无需自己重复实现阈值逻辑。五、Phase-lifecycle 状态行读侧#28335.1 读侧新增的 frontmatter 字段v1.40.0-rc.1 为 phase-lifecycle 增加了状态行statusline的读侧支持parseStateMd()现在读取active_phase、next_action、next_phases与progress四个 frontmatter 字段docs/RELEASE-NOTES-LEGACY.md。5.2 在状态行钩子中的实际消费hooks/gsd-statusline.js 是 Claude Code 的每次渲染状态行钩子。它解析STATE.md的 frontmatter构建如下状态结构见 hooks/gsd-statusline.js 附近status整体状态milestone/milestoneName当前里程碑phaseNum/phaseTotal/phaseName当前阶段位置activePhase编排器orchestrator飞行中时的阶段号如 4.5空闲时为 nullnextAction空闲时推荐的下一条命令如 execute-phasenextPhasesnextAction对应的阶段号数组。读侧解析的实现要点hooks/gsd-statusline.jsactive_phase值为null或空串时归一化为nullnext_phases同时兼容 flow 数组形式next_phases: [4.5]与块列表 YAML 形式progress解析嵌套块中的completed_phases/total_phases/percent2 空格缩进同时兼容传统Phase: N of M (name)行格式作为回退。注意该钩子fail open——即使解析出错也始终以退出码 0 返回保证状态行在每次提示符下都能渲染见 hooks/gsd-statusline.js 头注释。六、Gemini colon-form 与非 Gemini hyphen-form 的斜杠命令拆分6.1 两种形式的分工v1.40.0-rc.1 修复了一个跨运行时兼容性问题Gemini CLI使用colon-form/gsd:cmd命名空间形式——此前文档中的/gsd-cmd引用在 Gemini CLI 中不可执行非 Gemini 运行时Claude Code、Codex、Cursor、Antigravity 等统一使用hyphen-form/gsd-cmd。6.2 源码层证据规范形式与兼容归一化src/runtime-slash.cts 说明Background: #2808 unified all GSD skill installs to register under the hyphen form (name: gsd-cmd). The legacy colon form/gsd:cmdis no longer … The colon form is never emitted.也就是说安装端统一以 hyphen-form 注册技能name: gsd-cmd新文档从不主动输出 colon-form但解析层src/runtime-slash.cts同时接受 legacy/gsd:name与规范的 hyphen-form 输入外加裸名称并将 legacy colon-form 归一化为规范形式避免在再输出时重新发出旧形式。这正是审计记录中 Gemini colon-form / non-Gemini hyphen-form slash-command split 的技术实质文档针对 Gemini 描述/gsd:cmd而命令注册与安装始终以/gsd-cmd为规范解析器对两种形式兼容。七、i18n 镜像策略与!-- TODO i18n --标记7.1 四语种镜像审计记录明确ja-JP/ko-KR/zh-CN/pt-BR 四语种翻译镜像上述结构性变更。仓库中确实存在这四个翻译目录docs/ja-JP/、docs/ko-KR/、docs/zh-CN/、docs/pt-BR/数量与主文档树对应zh-CN 52 个文件、pt-BR 43 个文件等。7.2 翻译工作流约定新写入的英文散文统一以!-- TODO i18n --注释标记供人工翻译跟进。这意味着机器可扫描翻译者/CI 可以 grepTODO i18n找出尚未翻译的段落结构先行、文案随后命令表、参数、frontmatter 等结构性内容随主文档同步更新而散文翻译异步补全。7.3 CHANGELOG 重组审计同时将 CHANGELOG.md 的[Unreleased]段落按Feature / Enhancement / Fix三类标题重新分组。这与仓库中 CHANGELOG.md 的存在以及 docs/RELEASE-NOTES-LEGACY.md 的 RC 时间线记录方式互相印证——发布说明与变更日志的维护是 GSD Core 每个里程碑的标准动作。八、如何在自己的安装中验证这些变更以下验证方式均基于仓库当前内容不涉及修改仓库确认六个 namespace 已安装查看安装后的 skill 目录应能看到gsd-ns-context、gsd-ns-ideate、gsd-ns-manage、gsd-ns-project、gsd-ns-review、gsd-ns-workflow六个路由器目录本仓库对应 skills/ 下的同名目录体验两阶段路由向任一支持 Skill 工具的运行时发出如管理我的工作台意图观察模型先选中gsd-ns-manage再路由到具体子技能运行上下文守卫执行/gsd-health --context按提示提供tokensUsed与contextWindow验证三态输出或以gsd-tools.cjs validate context --tokens-used 5000 --context-window 8000直接调用结构化接口阈值逻辑见 src/context-utilization.cts检查状态行读侧在STATE.mdfrontmatter 中写入active_phase、next_action、next_phases、progress字段观察状态行是否正确渲染解析逻辑见 hooks/gsd-statusline.js验证斜杠命令形式Gemini 环境下使用/gsd:cmd其他运行时使用/gsd-cmd两者都应被解析器归一化接受见 src/runtime-slash.cts。九、小结v1.40.0 文档审计不是一次简单的文案更新而是对发布面的系统性同步skill 表面从 86 整合到 59 并保留全部行为、六个 namespace 元技能以两阶段路由显著降低冷启动 token 开销、/gsd-health --context以纯函数分类器提供 60%/70% 双阈值上下文守卫、phase-lifecycle 状态行读侧补齐active_phase/next_action/next_phases/progress解析、Gemini colon-form 与规范 hyphen-form 的斜杠命令拆分以及四语种 i18n 镜像与 CHANGELOG 重组。理解这一组变更就理解了 v1.40.0 命令面与安装面的大部分结构逻辑——也理解了 GSD Core 这类以文档与命令互为表里为设计原则的项目其 changeset 审计记录为何是理解版本演进的第一手入口。延伸阅读仓库内发布时间线docs/RELEASE-NOTES-LEGACY.md命令参考docs/COMMANDS.md上下文守卫功能注册条目docs/features/context-window-utilization-guard.md集群定义src/clusters.cts分类器实现src/context-utilization.cts状态行钩子hooks/gsd-statusline.js斜杠命令形式归一化src/runtime-slash.cts赞分享【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载相关推荐get-shit-done v1.40.0-rc.1 深度解析Skill-Surface 收敛、两级命名空间路由与上下文护栏get shit done v1.40.0 rc.1 深度解析Skill Surface 收敛、两级命名空间路由与上下文护栏 导读 本文围绕 get shit人工智能AI 应用提示工程开发工具工作流自动化AI Agentgsd-core/gsd-quick Worktree 合并的复活检测守卫与 3195 对新建 .planning/ 文件的误删修复gsd core/gsd quick Worktree 合并的复活检测守卫与 3195 对新建 .planning/ 文件的误删修复 本文围绕 gsdGSD Core 文档重品牌与 Diataxis 四象限重构解读 605 Changeset 片段GSD Core 文档重品牌与 Diataxis 四象限重构解读 605 Changeset 片段 本篇以仓库中已归档的 changeset 片段 .chan上一篇ToolsFx密码学工具箱5分钟快速上手的终极完整指南下一篇PasswordView 常见问题与解决方案开发者必知的 5 个技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表