首页/新闻资讯/正文详情

gsd-core 审查者默认配置指南:用 `review.default_reviewers` 精准控制无标志 `/gsd-review` 的审查者集合

发布时间:2026/9/25 17:44:05 来源:云帆数科 栏目:资讯中心
gsd-core 审查者默认配置指南:用 `review.default_reviewers` 精准控制无标志 `/gsd-review` 的审查者集合
【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载导读GSDGit. Ship. Done的/gsd-review命令用于调度多个外部 AI CLI如 Codex、Claude、Gemini、OpenCode 等对阶段计划进行交叉审查。本指南讲解 GSD 提供的review.default_reviewers配置键当你在gsd config-set review.default_reviewers [codex,claude]或.planning/config.json中设置该键后不带任何标志的/gsd-review将只运行你选定的审查者子集而不是探测并扇出到本机检测到的全部后端。读完本文你将掌握该键的配置方法、显式标志 --all review.default_reviewers 全部检测的优先级规则、空数组与未知 slug 等边界行为以及它与review.reviewer_instances实例化审查者的协作方式。该功能由变更集.changeset/archived/daring-badgers-munch.md记录type: AddedPR#3464决策文档为 ADR-0011功能规格见 Review Default Reviewers。落地提交245d5f66a一次性加入了 schema、解析逻辑、工作流接线、文档与三份测试文件。一、为什么需要默认审查者配置从“全部扇出”到“按需子集”1.1 问题的根源无标志即全部在引入本功能之前/gsd-review的“无标志”分支语义是“调用本机所有可检测到的 CLI 审查者”。对安装了多个审查者 CLIClaude、Codex、Cursor、Gemini、OpenCode 等同时又配了本地模型服务器ollama、lm-studio、llama.cpp的用户而言一次常规审查会探测多达约 10 个后端对未运行的本地服务器要付出超时等待成本同时还要为并不想用的审查者消耗 token。该问题在 PRD 中被描述为“每个多 CLI 用户为每次审查付出的税”0011-review-default-reviewers-prd.md 的 Problem Statement 章节。唯一绕行方案是直接修改gsd-core/workflows/review.md但这类本地补丁会在每次/gsd-update时被覆盖需要/gsd-update --reapply恢复且没有可机读的意图记录。1.2 解决方案一个配置键 一次集合求交GSD 的选择是在既有的review.*命名空间内新增一个可选键键存在时无标志/gsd-review只运行键中列出的、且在本机被检测到的审查者键缺失时保留原有行为全部检测到的审查者都运行——这符合 GSD 一贯的absent enabled配置哲学缺省即启用实现形态非常收敛一次配置读取 一次与检测结果集合的求交不引入新命令、不新增顶层命名空间。二、配置方法与参数详解2.1 通过命令行配置推荐# 将项目默认审查者设为 codex claude gsd config-set review.default_reviewers [codex,claude] # 读取当前配置返回归一化后的小写唯一 slug 数组 gsd config-get review.default_reviewers对应文档见 docs/COMMANDS.md 与 docs/CONFIGURATION.md。2.2 直接写入.planning/config.json{ review: { default_reviewers: [codex, claude] } }把该文件提交进仓库后整个团队可以跨机器、跨贡献者共享同一套默认审查者集合无需 fork 工作流文件。2.3 参数规格表项说明配置键review.default_reviewers类型string[] \| null默认值null即运行所有检测到的审查者元素取值内置审查者 slug如codex、claude、gemini或已配置的review.reviewer_instances实例名slug 合法性匹配^[a-zA-Z0-9_-]$与review.models.cli同一模式大小写读取时统一小写归一化config-set [Gemini,CODEX]存为[gemini,codex]空数组config-set直接拒绝review.default_reviewers cannot be empty想恢复“全部检测”请删除该键2.4 优先级规则最高到最低1. 显式审查者标志--codex、--gemini、--cursor … 2. --all 3. review.default_reviewers 4. 无键且无标志 → 全部检测到的审查者历史行为该优先级在 docs/features/review-default-reviewers.md 中被表述为explicit reviewer flags - --all - review.default_reviewers - all detected reviewers。三、边界行为与诊断信息3.1 未知 slug警告并丢弃键中出现既不是内置 slug、也不是已定义实例名的条目时若未配置review.reviewer_instances向后兼容发出unknown reviewer slug in review.default_reviewers: entry警告并忽略该项若已配置review.reviewer_instances升级为硬错误——reviewer instance entry referenced in review.default_reviewers is not defined in review.reviewer_instances用于尽早暴露拼错的实例名。3.2 已知但未检测到信息提示并跳过slug 合法、但本机未检测到对应 CLI 时二进制缺失、jq不在 PATH、本地服务器未运行等走“已知但未检测到”路径发出info 级提示并跳过该审查者。配置的默认集合是一个“跨多台主机的偏好”子集在当前主机不齐是正常现象不应报错。3.3 全部不可用可操作的错误若过滤后选中集合为空且无其他错误则报错all configured default reviewers are unavailable on this host而不是静默地以“空集”跑一次审查。3.4 宽容度是有边界的显式标志是断言上述宽容行为仅针对配置默认值。显式标志命名的审查者不可运行时是错误而非 info 提示ADR-2782 D4--codex --qwen在一台没有 qwen 的主机上直接失败而不会悄悄退化成仅 Codex 的审查。工作流文档中的表述是“没找到没人要求的通道是正常的跑不了别人明确要求的通道就是错误。”四、源码级实现原理4.1 单一权威的解析模块核心实现在 src/review-reviewer-selection.ctsnormalizeConfiguredDefaultReviewers约 L167-L208完成空值判定absent、数组类型校验、空数组拒绝、逐元素 slug 校验、小写归一化与去重resolveReviewerSelection约 L280-L406实现完整优先级投影。流程为先把detected、explicitFlags全部小写化 → 若存在显式标志走explicit_flags分支缺失的 lane 直接errors.push→ 否则--all走all_flag分支 → 否则键存在走config_default分支先展开实例引用、再匹配内置 slug、未知条目按上文规则 warn/error→ 否则走no_config_all_detected。每个分支都会输出source字段标识选择来源。KNOWN_REVIEWER_SLUGS约 L109-L116由能力注册表capability-registry.cjs中声明的reviewer.slug动态推导并非手工维护的名单。4.2 配置入口的接线在 src/config.cts 中config-set/config-get对review.default_reviewers键会调用normalizeConfiguredDefaultReviewers把归一化结果回写为parsedValue并把 schema 错误直接暴露给用户。review.default_reviewers同时也被登记在VALID_CONFIG_KEYS中见 gsd-core/bin/shared/config-schema.manifest.json 第 60 行与测试 tests/review-default-reviewers-config.test.cjs。4.3 工作流侧的无标志分支gsd-core/workflows/review.md 的无标志分支写明No flags → if review.default_reviewers is set, include only configured reviewers that are detected; otherwise include all available并完整复述了优先级顺序与宽容规则未知 slug 警告、已知未检测到 info、全部不可用报错。收敛命令/gsd-plan-review-convergence在配置门之后step 1.5解析review.default_reviewers保证裸调用也尊重配置默认见 tests/plan-review-convergence.test.cjs 与 gsd-core/workflows/plan-review-convergence.md。五、与review.reviewer_instances的协作review.default_reviewers的条目可以是review.reviewer_instances中声明的实例名——让同一个模型适配器以多个独立审查者身份运行如两个 OpenCode 背书、不同模型的审查者出现在同一次/gsd-review中{ review: { reviewer_instances: { opencode-deepseek: { cli: opencode, model: deepseek/deepseek-v4-pro, agent: review }, opencode-mimo: { cli: opencode, model: xiaomi/mimo-v2.5-pro } }, default_reviewers: [opencode-deepseek, opencode-mimo, codex] } }gsd config-set review.reviewer_instances.opencode-deepseek.cli opencode gsd config-set review.reviewer_instances.opencode-deepseek.model deepseek/deepseek-v4-pro gsd config-set review.default_reviewers [opencode-deepseek,opencode-mimo,codex]实例相关的关键规则docs/CONFIGURATION.md 与 src/review-reviewer-selection.cts实例名匹配^[a-z0-9][a-z0-9-]*$且不得等于内置 slug实例只能通过review.default_reviewers参与审查没有对应的 CLI 标志实例可用性取决于其基础cli是否被检测到实例引用先于内置 slug 展开当两个及以上选中实例共享同一cli时REVIEWS.md会打印一行共享适配器提示避免审查共识被静默夸大。六、验证与测试矩阵该功能由多份测试锁定行为可据此验证你的配置是否符合预期tests/review-default-reviewers-config.test.cjs键登记在VALID_CONFIG_KEYSconfig-set/config-get往返支持字符串数组并归一化为小写唯一 slug[Gemini,CODEX,codex]→[gemini,codex]空数组被 schema 拒绝tests/review-default-reviewers-resolution.test.cjs无标志 键集齐两 slug → 恰好调用两者一个 slug 未检测到 → info 记录、剩余者照常全部未检测到 → 报错不执行含未知 slug → 警告丢弃、其余执行--all忽略键--gemini覆盖键键缺失 → 全部检测向后兼容tests/review-default-reviewers-workflow.test.cjs文档/工作流必须引用review.default_reviewers并体现flags --all review.default_reviewers优先级tests/plan-review-convergence.test.cjs--codex仅在键未设置时才是默认键设置后裸调用尊重配置且解析发生在配置门之后tests/reviewer-config-federation.test.cjsreview.default_reviewers属于集中式central配置键。七、使用建议与注意事项多 CLI 用户优先配置装有多个审查者 CLI 本地模型服务器的用户配置默认子集可显著减少常规审查的墙钟时间——不再为未运行的本地守护进程付出超时等待。“全部检测”与“偏好子集”语义分工--all表达“这台机器上有什么就用什么”review.default_reviewers表达“我优先要这批各主机允许有差异”。删除键即还原想回到全量默认行为直接删除键或[]被拒绝后改回省略键无需任何迁移。不要依赖大小写配置值读取时统一小写归一化写入大小写混合也能被正确解析。显式标志优先单次运行想临时覆盖默认子集用--cursor之类的显式标志即可不影响持久配置。参考链接功能规格Review Default ReviewersADR-0011review.default_reviewers配置键PRD历史冻结记录配置参考Reviewer defaults for/gsd-review命令文档/gsd-review核心实现review-reviewer-selection.cts配置入口src/config.cts工作流gsd-core/workflows/review.md跨 AI 审查配置指南并行审查通道指南赞分享【免费下载链接】gsd-coreGit. Ship. Done - Core项目地址https://gitcode.com/gh_mirrors/ge/gsd-core点击查看免费下载相关推荐GSD 评审者选择机制解析review.default_reviewers 配置键如何重塑 /gsd-review 无参数默认行为ADR 0011GSD 评审者选择机制解析 review.default_reviewers 配置键如何重塑 /gsd review 无参数默认行为ADR 0011 /g人工智能AI 应用提示工程开发工具工作流自动化AI Agent3个维度深度解析OpenArk如何重塑Windows系统安全分析体验3个维度深度解析OpenArk如何重塑Windows系统安全分析体验 在当今复杂的网络安全环境中Windows系统面临着前所未有的安全挑战。 系统安全 和N_m3u8DL-RE 流媒体下载工具使用指南M3U8/MPD 下载与直播录制快速上手N_m3u8DL RE 流媒体下载工具使用指南M3U8/MPD 下载与直播录制快速上手 播放器里能看的视频鼠标右键另存为却存不下来点开的 m3u8、mCLI音视频上一篇Marlin 3D Printer Firmware 深度指南2.1 Bugfix 分支的架构、构建配置与开发实践下一篇Tolaria 路径感知的外部 Vault 刷新机制焦点编辑器保持与共享 reconcile 管线创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

TensorFlow Lite Classification-by-Retrieval:免训练构建少样本图像分类器的技术解析
TensorFlow Lite Classification-by-Retrieval:免训练构建少样本图像分类器的技术解析

示例工程 【免费下载链接】examples TensorFlow examples 项目地址: https://gitcode.com/gh_mirrors/exam/examples 点击查看 免费下载 Classification-by-Retrieval(CbR,按检索分类)是 TensorFlow Lite 官方示例仓库&#xff0… · 2026/9/25 17:43:47

SvelteKit 2 + Svelte 5 组合下的 Sentry E2E 测试应用:sentry-javascript 如何验证 @sentry/sveltekit SDK
SvelteKit 2 + Svelte 5 组合下的 Sentry E2E 测试应用:sentry-javascript 如何验证 @sentry/sveltekit SDK

可观测性 【免费下载链接】sentry-javascript Official Sentry SDKs for JavaScript 项目地址: https://gitcode.com/gh_mirrors/se/sentry-javascript 点击查看 免费下载 本文以 dev-packages/e2e-tests/test-applications/sveltekit-2-svelte-5/ 目录下的 README… · 2026/9/25 17:43:47

档案库房数字孪生:物理机理驱动的边缘智能系统
档案库房数字孪生:物理机理驱动的边缘智能系统

1. 档案库房不是普通机房:空气环境管控的特殊性决定了数字孪生必须“量身定制”很多人一看到“数字孪生”,第一反应就是调个Unity模型、接几路传感器、做个炫酷3D界面——这在工厂产线或智慧园区里或许能跑通,但放到档案库房,这套… · 2026/9/25 17:43:34

万能文件分析师Skill:以后收到几十页PDF,别再从第一页开始硬看了!
万能文件分析师Skill:以后收到几十页PDF,别再从第一页开始硬看了!

工作里最容易被低估的一件事,就是“看文件”到底有多耗时间。领导突然丢来一份80页的PDF,让你下午给结论;群里一次发来5个方案,让你说说区别;同事传来几十页制度文件,让你找出跟某个项目有关的条款。过去我… · 2026/9/25 18:26:59

你不知道的Python开发工具配置:TaoToken统一Key接入PyCharm与Vim
你不知道的Python开发工具配置:TaoToken统一Key接入PyCharm与Vim

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 18:26:28

【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明
【WPF-VisionMaster】机器视觉通用平台V5.0版本发行说明

机器视觉通用平台V5.0版本发行说明地址 了解更多 System.Windows.Controls 命名空间 | Microsoft Learn 控件库 - WPF .NET Framework | Microsoft Learn WPF 介绍 | Microsoft Learn 使用 Visual Studio 创建新应用教程 - WPF .NET | Microsoft Learn https://github.co… · 2026/9/25 18:25:52

只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现
只用一个问题训练几百步,模型居然还在变强:一篇论文的意外发现

先说一件让人有点摸不着头脑的事。有研究团队拿出一个数学题,就一道题,反复喂给模型训练了上千步。按常理这事儿应该很快就练废了,一道题能有多少信息量?可结果是,模型的准确率一路涨,涨到接近用全部一万七千道题训练出来的效果的七成二。这不是巧合,也… · 2026/9/25 18:25:34

Atlas 300V 24G实战:从NPU选型到YOLO生产级部署
Atlas 300V 24G实战:从NPU选型到YOLO生产级部署

刚拿到Atlas 300V 24G这块卡的时候,我第一反应也是——这不就是一块显存比较大的“图像处理卡”吗?直到把YOLO模型完整跑完一遍,才真正搞明白它和普通GPU加速卡的区别。这篇文章不整虚的,就围绕两个实际问题展开:Atlas… · 2026/9/25 18:25:34

小模型能当裁判吗?一场关于强化学习奖励成本的实验
小模型能当裁判吗?一场关于强化学习奖励成本的实验

先问你一个问题。如果你要训练一个AI模型写深度研究报告,怎么判断它写得好不好?数学题有标准答案,代码题能跑测试用例,可一篇论文该不该给9分还是7分,谁说了算?过去几年,大模型圈子里流行的做法… · 2026/9/25 18:25:27

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码