@estebanforge/pi-glm-tweaks (英语)
Z.AI的Pi-native tweaks (英语) GLM 编码模型 —— 说 glm-5.2, (中文(简体) ), glm-5.3, (中文(简体) ), glm-5.3-flash (第一个多模式 GLM-5, 本地图像输入), 及其 1M 文本 [1m] 编码计划路线. 将 Pi 思维级UI 限制在每个模型实际支持的模式中, 将原生的电线限制在 thinkingFormat:"zai" 翻译,在选择模型时自动跳动任何 stale 级别,并登记 zai_web_search 通过 Z.AI 的 Web 搜索 MCP 端点搜索活网的工具——不需要 MCP 服务器设置.
安装
pi install npm:@estebanforge/pi-glm-tweaks
皮的内置工程 zai/glm-5.2 编号 : zai/glm-5.3 框外的条目,或自定义条目 ~/.pi/agent/models.json (pi 0.84.x 无内置船舶) glm-5.3-flash 然而——加进 models.json 直到Pi -ai赶上来。 扩展用OpenAI-compat端点及其正确的思维图重新登记每个目标模型. 其他 Z.AI 型号(zai/glm-4.7, (中文(简体) ), zai/glm-5-turbo, (中文(简体) ), zai/glm-5.1,加上任何自定义条目)在重新登记时保留.
转发相容性 : 一个未知的 glm-5.N 与 N >= 3 (仓促地) glm-5.4 或者说 glm-5.4-flash说,或他们的 [1m] 变体)继承了匹配的glm-5.3-家族谱系自动——平原ids只获得5.3个基数, -flash ids获得多式闪存基座——因此在第一天得到新的思维地图,而不是皮未被标注的六级UI. 扩展名中明确包含 MODEL_SPECS 一旦知道真正的合同,表格总是获胜。 glm-4.x和未来的glm-6不会获得倒计时——他们的电线合同是未知的,猜测可能会发出无效的请求.
它会做什么
克升-5.2 三种思维方式(每艘) 文件.z.ai:
| Pi 思维级别 | GLM-5.2线 |
|---|---|
off | thinking: { type: "disabled" } |
high | thinking: { type: "enabled" } + 键 reasoning_effort: "high" |
max | thinking: { type: "enabled" } + 键 reasoning_effort: "max" |
glm-5.3 / glm- 5.3-flash / 它们的 [1m] 变种 合同的变更(见 GLM-5.3发射 财务报告和审定财务报表 文档思考总是在(thinking.type: "disabled" 被移除;被探测到2026-08-26,编码终点不再拒绝它——5.3表示尊重,闪出无声地转换为轻量级思维和账单——所以扩展重写为: enabled + 键 low,z.ai的有据可查的迁移),而电线电位是: low | high | max 与 max 默认值 :
| Pi 思维级别 | GLM-5.3线 |
|---|---|
off | thinking: { type: "enabled" } + 键 reasoning_effort: "low" |
low | thinking: { type: "enabled" } + 键 reasoning_effort: "low" |
high | thinking: { type: "enabled" } + 键 reasoning_effort: "high" |
max | thinking: { type: "enabled" } + 键 reasoning_effort: "max" |
Pi本土化地暴露出七个思维层面(off, (中文(简体) ), minimal, (中文(简体) ), low, (中文(简体) ), medium, (中文(简体) ), high, (中文(简体) ), xhigh, (中文(简体) ), max) (中文(简体) ). 两种型号都不符合所有7个型号——5.2, low编号 :medium 被映射到 high 服务器侧和 minimal 是无,在5.3, minimal编号 :medium 没有电线对接 off 地图到 low (z.ai有记录地为被驱逐者迁移) disabled 类型). xhigh 隐藏在两个上: z. ai的上层电线被命名为 max (单位:千美元)GLM-5.3 文档数字 : low 编号 : high 编号 : max和皮船 土生土长 max 级别,所以采取者显示 max 对深理级 而不是错名级 xhigh。 。 。 .
此扩展崩溃不匹配 :
- 重新登记每个目标模式 打开
session_start与api: "openai-completions", (中文(简体) ),baseUrl: https://api.z.ai/api/coding/paas/v4, (中文(简体) ),compat.thinkingFormat: "zai"和它的紧thinkingLevelMap. glm-5.2: (英语)
glm 5.3 / glm 5.3 [1m] : (中文(简体) ){ minimal: null, // hidden low: null, // hidden medium: null, // hidden high: "high", // → reasoning_effort: "high" xhigh: null, // hidden (wire tier is named max; Pi has a native max level) max: "max", // → reasoning_effort: "max" // off omitted → supported, sends thinking.type = "disabled" }{ off: "low", // → thinking stays enabled, reasoning_effort: "low" minimal: null, // hidden medium: null, // hidden low: "low", // → reasoning_effort: "low" (new real wire level in 5.3) high: "high", // → reasoning_effort: "high" xhigh: null, // hidden (wire tier is named max; Pi has a native max level) max: "max", // → reasoning_effort: "max" } - 自动跳动
model_select——如果当前关卡是一个我们隐藏的关卡(例如,从允许的模型切换)medium),会凸出到最接近的可见水平,或在其上方( stale)xhigh,钢丝的旧标签max,陆地上max)并通知. /glm-tweaks命令 – 状态面板+ 从 Pi 从内切换旗( 见/glm-tweaks命令) (中文(简体) ).
Shift+Tab, (中文(简体) ), /thinking,而级别拾取器都只看到所选模型的支持模式.
调试效率
GLM-5.2过度思考了长的代理环路——它可以花整个开关 reasoning_content 无需打工具电话 Z.AI API没有披露 max_thinking_tokens 参数,所以普及这种观察的帖子在提供者层(中流注入)进行. 我们无法截取溪流,但可以用三个选入tweaks来取取胜.
glm-budget-nudge 是一种GLM-5.2补救办法,不建议采用GLM-5.3或更高. Z.AI对5.3的后培训解决了过度思考的循环问题(E文档:每个工作级的输出符号都比5.2少),因此在5.3+上,碎片只与模型的调制行为相抗衡. 它不是以模型为主的——如果你启用它,它就适用于每一个目标GLM转弯——所以,除非你运行5.2并看到循环,否则就把它关掉.
所有三个默认关闭(自1.5.0起). glm-budget-nudge 缓存安全性——每 文件.z.ai 思维模式,预留思维clear_thinking: false)为 默认的编码终点 因为它"增加了缓存命中率——在实际任务中保存活符",而活克的固定碎片保持了前缀字节-平稳——但缓存-中和不行为-中和:它重写了每个GLM转弯时所提示的系统. glm-clear-thinking 财务报告和审定财务报表 glm-skip-short-thinking 进一步破坏了预留思维的缓存。 股票行为是最安全的默认; 一旦您测量了思维符号, 而不是缓存缺失, 选择每个旗号为您的成本驱动 .
| 旗帜 | 默认 | 它会做什么 |
|---|---|---|
glm-web-search | true | 登记 zai_web_search 工具(参见 Z.AI 网络搜索工具) (中文(简体) ). 默认 ON 所以搜索工作在框外; 如果您运行一个不同的搜索提供者, 则关闭它, 因此模型看不到两个相竞的搜索工具 . |
glm-budget-nudge | false | 将一个不断的思维-预算片段附加到系统上,使每个目标Zai GLM转向,引导模型致力于一个工具呼叫,然后它就会升级为过度思维。 GLM-5.2的过度思考循环的诱因;不推荐给GLM-5.3+,其训练后已经固定了. 缓存 : 安全地——碎片是固定的字符串,因此所附加的系统会迅速停留字节-同调转而回转并被缓存的前缀被再用. (较早的中叶鼠标附着反应) [system reminder: ...] 消息在最后一个工具结果后;该提示位于缓存前缀和模型的下个回合之间,将其从缓存中移出,并强制进行一次性重取. 它在推理最大的时候发射,所以它消失了。 ) |
glm-clear-thinking | false | 部队 clear_thinking: true 在每一个请求中,选择退出z.ai保留思维。 保留 思考是编码端点的默认,也是使前缀字节-平稳地跨转弯(因此是缓存)的. 使其失效,每次转弯都会重新填上完整的前缀——通常是净亏损. |
glm-skip-short-thinking | false | 对于80个字符以下的用户提示,对该转弯使用最轻的思维模式: thinking.type: "disabled" 第5.2条, thinking.type: "enabled" + 键 reasoning_effort: "low" 5.3+(其中 disabled 电线上已经不存在). 缓存 : 以快速长度为基础的跨转动思维强度会改变推理 内容序列 z.ai 缓存,所以后续键会在同一会话上重开,而不是击中缓存前缀. |
所有三面旗帜都浮出水面 pi config 皮的旗下编辑器 pi config set glm-clear-thinking true 以启用其中的选入。 或者从里面翻来翻去 /glm-tweaks。 。 。 .
/glm-tweaks 命令
负责检查和翻转上面的旗帜而不离开皮的会中命令.
| 召集 | 效果 |
|---|---|
/glm-tweaks (图瓦卢) | 打开交互式设置菜单(相同) SettingsList 组件 /settings (a) 使用。 翻转任意组合的旗帜,然后在相近处再装入一发火来全部应用. |
/glm-tweaks (非TUI / RPC) (中文(简体) ) | 返回到只读状态面板( 活动模式, 思维级别 vs off | high | max 地图,和每面国旗的上下状态. |
/glm-tweaks toggle <flag> | 一发一发:持续后再装入. |
/glm-tweaks <flag> | 短手一发切换(旗名不包含 toggle 关键词). |
/glm-tweaks route <coding|api|anthropic> | 切换目标 GLM 模型的 z.ai API 路由( 完整标签, 如 openai (coding plan) 还被接受):持续,然后重新装入. |
命令提供标签补全 toggle 和三个旗名.
为什么每次重新装入. Pi的扩展 API 曝光 getFlag 但是没有生命 setFlag,并在加载时将旗下值读入内存。 因此,通过 pi config set (单位:千美元) /reload 捡起他们。 交互菜单将您所有的翻转和再装入一次关闭;一发切换立即再装入. 在这两种情况下,命令都通知(Applied 2 change(s). Reloading...)再装入前. 如果你宁愿完全避免重新装入 Churn , 请将旗帜直接放入 pi config / 旗下编辑器在方便时重新装入一次.
We不能做的事
- 电线级的Cap思维符号. Z.AI没有暴露一个思考性的预算段落.
- 注入文字中游. 流体突变没有皮钩.
- 强迫模型调用工具 。 系统提示可以问;没有什么强迫它.
- 下调
reasoning_effort按要求计算。 人数 KiwiGaze/glm-换副驾驶#7 不许动/chat/completions。 。 。 .
Z.AI网络搜索工具(zai_web_search(中文(简体) )
Z.AI 船舶编码计划网络搜索作为远程MCP服务器(文档客户端通常通过 MCP 配置连接。 这个扩展将 MCP JSON-RPC 协议直接通过 HTTPS(lib/zai-search.ts因此 zai_web_search 工具在零 MCP 设置下工作: 每个进程初始化握手一次, 然后一个 tools/call 每个搜索。 MCP会话被缓存并自动被重新建立,如果服务器驱逐它;结果法案与GLM编码计划搜索配额完全相同,与官方的MCP路径完全相同.
工具使用已经配置的 Z.AI 密钥( 分辨率与提供者相同 : /login, (中文(简体) ), models.json 键,或 ZAI_API_KEY),与任何模型——而不仅仅是GLM——合作,在没有密钥的情况下,选择退出提示明显失败. 每次搜索都有45分超时. 搜索返回~10个结果(页面标题,URL,内容摘要).
参数( 映射到服务器的 web_search_prime 计划 :
| 参数 | 电线场 | 数值 |
|---|---|---|
query | search_query | 免费文本; 保留在 ~70 字符下以取得最佳效果 |
recency | search_recency_filter | oneDay oneWeek oneMonth oneYear noLimit (默认) noLimit(中文(简体) ) |
domain | search_domain_filter | 一个领域,例如:. docs.z.ai |
contentSize | content_size | medium (~400-600字/结果,默认)或 high (~2500字,提高定额成本) |
location | location | cn (服务器默认)或 us |
切换为 /glm-tweaks glm-web-search (default ON;重新装入应用它,工具在下个回合出现/消失). 线层细节被现场探测,并记录在代码中:SSE-framed JSON-RPC响应(Plain JSON也接受),Session id in the mcp-session-id 响应头,双编码结果文本,以及一个 SSE id: 线条可以不同意JSON-RPC正文 id(正文上的解析器匹配).
API 路由选择
三个z.ai终点,两个计费世界(文档, (中文(简体) ), 思维模式:
| 路线 | 终点 | 计费 | 缓存 | 思考 |
|---|---|---|---|---|
openai (coding plan) (默认) | https://api.z.ai/api/coding/paas/v4 (OpenAI聊天完成) | 编码计划信用/点数 | 隐含的服务器侧前缀缓存( Presected Thinking 保留了前缀的字节- 相同) | thinking.type + 键 reasoning_effort,z.ai的有记载的合同 |
openai (api usage) | https://api.z.ai/api/paas/v4 (OpenAI聊天完成) | 标准 z.ai API 密钥 | 预留思维默认关闭服务器侧, 但 Pi 发送 clear_thinking: false 明确并重放 reasoning_content 逐字记录,所以缓存姿态与编码路径相匹配 | 与编码相同的合同 |
anthropic | https://api.z.ai/api/anthropic (雅典语) | 编码计划信贷 | 明确 cache_control 断点( Pi 标记系统, 最后一个工具, 最后一个消息; 已校验 : 重复的 ~122k- token 前缀为 122 560 从缓存中读取的令牌) | thinking: {type: "enabled", reasoning_effort} 按请求翻译的扩展名 |
持续设置保留了短键( Q)coding | api | anthropic对于后向相容性;上面的标签是设置菜单和补全显示的. 切换为 /glm-tweaks route <key or label> (或从互动菜单). 关键说明 openai (api usage): z.ai 密钥不能互换 —— 一个编码计划密钥不会对标准 API 和 API 进行计费, 所以要确保配置 zai 提供者密钥匹配您选择的路由 。 注释:
- 用法显示: 雅典路线报告
cache_read_input_tokens但是没有cache_creation_input_tokens,所以Pi的缓存-写列读取 0 。 缓存的代币仍以折价计价. - 中间对接切换 被支持,但前转会的推理作为纯文本重放(Pi's Anthropic 提供者在重放时会降解没有签名的思维块). 为干净的A/B开始新的会话.
- 人类之路从不传出
thinking.type: "disabled":z.ai沉默地忽略了那里(模型不停地思考,没有出错). 扩展总是重写到enabled+最轻的努力,与编码路线相同的安全网. - 长期缓存保留( U)
ttl: "1h")被固定在人类路线上,直到z.ai记录;默认的5分钟麻黄窗口覆盖会话回用.
为什么会这样
皮的内置 thinkingFormat: "zai" (单位:千美元) openai-completions.js)已经知道有线翻译. 捕捉到的是用户定义的GLM模型 models.json 通常缺乏 thinkingLevelMap,因此 UI 显示所有六个关卡,并将无效的组合发送到隐藏关卡上(和 glm-5.3+,此关卡可以映射到 thinking.type: "disabled" 发送一个形状 模范家庭不再文件)。 此扩展自动填补了空白—— 没有手动 models.json 编辑.
兼容性
- Pi (
@earendil-works/pi-coding-agent)——任何版本与registerProvider生效thinkingFormat: "zai"支助,加上before_agent_start编号 :context编号 :before_provider_request编号 :registerFlag编号 :registerTool钩子. - Z.AI API 密钥 — 通过 Pi 的标准 auth 存储( env var) 解决
ZAI_API_KEY, (中文(简体) ),/login,或models.json提供者apiKey) (中文(简体) ). 扩展名不配置 auth .
许可证
麻省理工学院