ask
委派模型回答/分析/审/咨询。**只读不改文件**(Read/Grep/Glob + Bash(git:*))。主 Claude 会智能补 --with-context、选模型。
把批量委派编排成 dynamic workflow——N 个 item 各派一个委派模型子进程并行处理。适合 50 个文件各转一次、N 个模块各审一次等同构批量。
> /plugin marketplace add alvis-HaoH/gkd > /plugin install gkd@gkd
How it fires
How this command gets triggered: by you, by Claude, or both.
/workflowContext preview
What this command does when you run it.
把批量委派编排成 dynamic workflow——N 个 item 各派一个委派模型子进程并行处理。适合 50 个文件各转一次、N 个模块各审一次等同构批量。
description: 把批量委派编排成 dynamic workflow——N 个 item 各派一个委派模型子进程并行处理。适合 50 个文件各转一次、N 个模块各审一次等同构批量。 argument-hint: '[--<model>] [--write] <整体任务 + items 来源描述>' allowed-tools: Glob, Grep, Bash(node:*), Bash(git:*), Workflow
把用户的批量委派需求编排成 dynamic workflow,每个 item 一个换脑子进程并行处理。 批量委派的意义就是别让主上下文承担 N 个文件的开销:你拿到要处理的路径列表、编排好,读写实活交给子进程自己。
原始参数:`$ARGUMENTS`
1. **识别 items 来源 + 任务模板**:从用户描述里找出 items(glob、目录、git diff 列表、明确列表)和"对每个 item 做什么"。描述含糊就用 `AskUserQuestion` 问清。用 Glob/Bash(git:*) 拿路径列表(item 数 ≤ 200 通常 OK,过多问用户是否分批)。
2. **选模型(默认从简)**:
3. **写 workflow 脚本**。注意 Workflow 脚本运行时**没有 `bash()` hook,也不能直接跑 shell**;`agent()` 的 model 参数又只认 Claude 系标识符,**换不了第三方模型脑**。所以换脑只能这样链接:`agent()` 起一个**轻量启动器子代理**(用便宜的 `haiku`,活只是跑一条命令拿回 JSON),让它用 Bash 工具调 `gkd-runtime.mjs`——**真正换脑发生在 runtime spawn 的子进程那层**(三方模型在那里干活、token 隔离)。
核心 stage 形如(`pickModel` 按上面策略算 runtime 的 `--<modelKey>`,不是写死;`--write` 用户传了才加):
const results = await pipeline(
items,
item => agent(
`用 Bash 工具执行这条命令,把它的 stdout 原样作为你的最终输出返回,不要加任何解释:\n` +
`node "${CLAUDE_PLUGIN_ROOT}/scripts/gkd-runtime.mjs" ${pickModel(item)} --json "<任务模板里的 {{item}} 替换成实际路径>"`,
{ model: 'haiku', label: `gkd:${item}` }
).then(out => JSON.parse(out))
)启动器用 haiku或sonnet 是因为它只是中转(spawn + 回传),不该烧贵模型;干实活的模型在 runtime 子进程里。并发度用 Workflow tool 默认,不用手设。
**长任务超时**:runtime 对每个委派子进程有默认 **30 分钟**超时兜底,到点杀掉归一成失败。批量里**单个 item 预计会超 30 分钟**(逐文件长生成、重活改动)时,把环境变量拼在命令最前面提高/关闭上限,否则该 item 会在 30 分钟被杀、记失败:`GKD_TIMEOUT_MS=3600000 node "${CLAUDE_PLUGIN_ROOT}/scripts/gkd-runtime.mjs" ...`(1 小时),或 `GKD_TIMEOUT_MS=0`(禁用)。注意这是**单个子进程**的时限,不是整个 workflow 的;常规同构小批量用默认即可。
**思考强度 `--effort`**(none/low/medium/high/xhigh/max,claude/codex 通用):直接拼在 runtime 命令里即可,支持三种粒度——① 整批统一:每条命令都带同一个 `--effort xhigh`;② 按 item:`pickModel` 那样另写个 `pickEffort(item)` 按难度返回不同档(难 item 用 max、普通用默认不带);③ 按角色:worker stage 不带(省钱)、verifier stage 带 `--effort high`(把关更严)。用户说"都仔细想""难的那批深想""验证环节用 high"之类就据此拼。
4. **汇报**:总数/成功/失败,失败 item 连错误原文列出。成功产出已落盘(--write)或在 result 里,不必全贴。
N≥5 且任务同构才有编排收益;N=1、2 直接 `/gkd:ask`/`/gkd:do` 调两次更简单。workflow 的价值是**批量并行 + 每个子进程 token 完全隔离**(以及需要时按 item 或按 worker/verifier 角色分模型)。
GKD 是「搞快点」的拼音首字母,也是三个当下前沿开源模型的首字母 —— GLM · Kimi · Deepseek。 GKD 是一个 Claude Code plugin。它借 Claude Code 自己的工具循环(harness),起一个以你指定的任意模型为大脑的子进程去干活——子进程有完整的 Read/Edit/Bash...
Repo: alvis-HaoH/gkd
委派模型回答/分析/审/咨询。**只读不改文件**(Read/Grep/Glob + Bash(git:*))。主 Claude 会智能补 --with-context、选模型。
多模型并行对同一问题各给独立意见(发散式 brainstorming),主 Claude 综合分歧、共识、独到见解。各模型彼此看不到对方答案,避免回声室效应。
委派模型**改文件/落盘/执行**。隐含 --write(子进程获得 Edit/Write/Bash 全权)。主 Claude 会智能补 --with-context、选模型。
接着委派任务继续(续子进程线程)。默认续本目录上次;也可凭模糊描述点名续任意历史/跨目录 session。读/写模式自动继承——不需要重传 --write。