GLM Runner 是一个用于以 GLM 席位执行提示词的技能,底层通过共享的 pi-runner 实现,经由 Pi CLI 在 OpenRouter 上运行。它取代了此前基于 Cline 的兼容层:现在每次调用都会固定使用 --provider openrouter --model z-ai/glm-5.3-flash,因此原先按提供商维护的模型 ID 映射(OpenRouter 上的 z-ai/glm-5.3-flash 与 cline 网关上的 zai/glm-5.3-flash)以及由此产生的可变提供商状态都已不再需要。
默认模型
z-ai/glm-5.3-flash,即 Z.AI 的 GLM 5.3 Flash,每次运行都固定为 --provider openrouter --model z-ai/glm-5.3-flash。这是该席位唯一保留的 ID;可通过 --model 覆盖,将 GLM 席位指向其他 OpenRouter 模型 ID。
前置条件
需要安装 pi CLI 并加入 PATH(npm install -g @mariozechner/pi-coding-agent);环境中需有 OPENROUTER_API_KEY,或 Pi 认证存储中有 OpenRouter 凭据。
安全模型
该技能委托给 pi-runner,因此与 Pi 包装器具有相同的执行和数据共享模型,详见 ../pi-runner/SKILL.md。运行是封闭式的(不加载扩展、技能或 AGENTS.md/CLAUDE.md 发现)。分析类角色(除 implementer 外的所有角色)默认处于只读模式(仅启用 Pi 的文件读取工具)。可通过 --allow-write 选择退出,或用 --no-tools 完全禁用工具。
共享包装器参考
支持的选项、角色、--json 输出信封键约定、返回码和注意事项与共享包装器完全一致;共享标志、信封键、返回码和席位保真规则见 shared/references/runner-common.md。信封由 pi-runner/scripts/run_pi.py 生成,其中 runner=glm、effective_runner=pi、effective_provider=z-ai(从 z-ai/... 模型 ID 推断);native_provider=openrouter 为实际服务网关。
使用方式
python3 .agents/skills/glm-runner/scripts/run_glm.py "your prompt here"
示例
python3 .agents/skills/glm-runner/scripts/run_glm.py "Summarize the core module architecture" python3 .agents/skills/glm-runner/scripts/run_glm.py --prompt-file /tmp/review.md --role codereviewer python3 .agents/skills/glm-runner/scripts/run_glm.py "Read-only analysis" --restrict-tools --json python3 .agents/skills/glm-runner/scripts/run_glm.py "Answer from the brief only" --no-tools --json
行为
委托给共享的 pi-runner 实现,运行器身份设为 glm(信封报告 runner=glm、effective_runner=pi)。每次调用固定 --provider openrouter --model z-ai/glm-5.3-flash,因此实际作答的是 GLM 席位,不存在可静默改道的可变提供商状态。绝不回退到其他提供商:CLI 缺失会明确阻断该席位(status: seat_unavailable,return_code -2);凭据缺失则报告 status: auth_missing 且 auth_ok: false。这就是席位保真,即每个运行器都遵守的不变量:绝不用其他模型的回答替代 GLM 席位。保留共享包装器信封,以便委员会一致地比较 GLM 与其他运行器的输出。
迁移说明
基于 Cline 的兼容层(及其 --lane glm 隔离认证工作流)已不再被该技能使用——它现在仅依赖 pi 和 OPENROUTER_API_KEY。如果其他工具仍直接调用 cline,则不受此变更影响。