# @estebanforge/pi-glm-tweaks 中文文档

规范地址：https://npmcn.com/package/%40estebanforge/pi-glm-tweaks/

版本：1\.8\.5
npm 元数据更新时间：2026-11-10T10:56:53.161Z
中文译文更新时间：2026-11-13T23:23:09.706Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40estebanforge/pi-glm-tweaks
原文对照：https://npmcn.com/package/%40estebanforge/pi-glm-tweaks/?lang=original
项目主页：https://github.com/EstebanForge/pi-extensions#readme
源码仓库：https://github.com/EstebanForge/pi-extensions

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：113 kB，8 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：1 个
- peer 依赖：typebox \*，@earendil-works/pi-ai ^1\.4\.0，@earendil-works/pi-coding-agent ^1\.5\.1
- 首次发布：2026-06-24T16:19:23.388Z
- 最新版本发布：2026-11-10T10:56:52.875Z
- 近 30 天下载量：2911（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：19（近 12 个月 19 个）

## 中文简介

Pi-native tweaks for Z.AI的GLM编码模型(glm-5.2,glm-5.3,glm-5.3-flash,和\[1m\]变体). 将 Pi 思维级 UI 限制在线上每个模型支持的模式上, 将本地思维Format : “ zai” 翻译, 并隐藏自动跳跃

## 安装

```sh
npm install @estebanforge/pi-glm-tweaks
```

也可以使用：`pnpm add @estebanforge/pi-glm-tweaks`、`yarn add @estebanforge/pi-glm-tweaks`、`bun add @estebanforge/pi-glm-tweaks`

## README

# @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](https://docs.z.ai/guides/capabilities/thinking):

| 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发射](https://z.ai/blog/glm-5.3) 财务报告和审定财务报表 [文档](https://docs.z.ai/devpack/latest-model)思考总是在(`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 文档](https://docs.z.ai/guides/llm/glm-5.3)数字 : `low` 编号 : `high` 编号 : `max`和皮船 土生土长 `max` 级别,所以采取者显示 `max` 对深理级 而不是错名级 `xhigh`。 。 。 .

此扩展崩溃不匹配 :

1.  **重新登记每个目标模式** 打开 `session_start` 与 `api: "openai-completions"`, (中文(简体) ), `baseUrl: https://api.z.ai/api/coding/paas/v4`, (中文(简体) ), `compat.thinkingFormat: "zai"`和它的紧 `thinkingLevelMap`. glm-5.2: (英语)
    
    ```ts
    {
      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"
    }
    ```
    
    glm 5.3 / glm 5.3 \[1m\] : (中文(简体) )
    
    ```ts
    {
      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"
    }
    ```
    
2.  **自动跳动 `model_select`** ——如果当前关卡是一个我们隐藏的关卡(例如,从允许的模型切换) `medium`),会凸出到最接近的可见水平,或在其上方( stale) `xhigh`,钢丝的旧标签 `max`,陆地上 `max`)并通知.
3.  **`/glm-tweaks` 命令** – 状态面板+ 从 Pi 从内切换旗( 见 [`/glm-tweaks` 命令](https://npmcn.com/package/%40estebanforge/pi-glm-tweaks/#readme-glm-tweaks-command)) (中文(简体) ).

`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[文档](https://docs.z.ai/guides/llm/glm-5.3):每个工作级的输出符号都比5.2少),因此在5.3+上,碎片只与模型的调制行为相抗衡. 它不是以模型为主的——如果你启用它,它就适用于每一个目标GLM转弯——所以,除非你运行5.2并看到循环,否则就把它关掉.

**所有三个默认关闭(自1.5.0起).** `glm-budget-nudge` 缓存安全性——每 [文件.z.ai 思维模式](https://docs.z.ai/guides/capabilities/thinking-mode),预留思维`clear_thinking: false`)为 **默认的编码终点** 因为它"增加了缓存命中率——在实际任务中保存活符",而活克的固定碎片保持了前缀字节-平稳——但缓存-中和不行为-中和:它重写了每个GLM转弯时所提示的系统. `glm-clear-thinking` 财务报告和审定财务报表 `glm-skip-short-thinking` 进一步破坏了预留思维的缓存。 股票行为是最安全的默认; 一旦您测量了思维符号, 而不是缓存缺失, 选择每个旗号为您的成本驱动 .

| 旗帜 | 默认 | 它会做什么 |
| --- | --- | --- |
| `glm-web-search` | `true` | 登记 `zai_web_search` 工具(参见 [Z.AI 网络搜索工具](https://npmcn.com/package/%40estebanforge/pi-glm-tweaks/#readme-zai-web-search-tool-zai_web_search)) (中文(简体) ). 默认 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](https://github.com/KiwiGaze/glm-for-copilot/issues/7) 不许动 `/chat/completions`。 。 。 .

## Z.AI网络搜索工具(`zai_web_search`(中文(简体) )

Z.AI 船舶编码计划网络搜索作为远程MCP服务器([文档](https://docs.z.ai/devpack/mcp/search-mcp-server)客户端通常通过 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终点,两个计费世界([文档](https://docs.z.ai/devpack/quick-start), (中文(简体) ), [思维模式](https://docs.z.ai/guides/capabilities/thinking-mode):

| 路线 | 终点 | 计费 | 缓存 | 思考 |
| --- | --- | --- | --- | --- |
| `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 .

## 许可证

麻省理工学院

## 常见问题

### @estebanforge/pi-glm-tweaks 是什么？

Pi-native tweaks for Z\.AI的GLM编码模型\(glm-5\.2,glm-5\.3,glm-5\.3-flash,和\[1m\]变体\)\. 将 Pi 思维级 UI 限制在线上每个模型支持的模式上, 将本地思维Format : “ zai” 翻译, 并隐藏自动跳跃

### 如何安装 @estebanforge/pi-glm-tweaks？

在项目目录运行 npm install @estebanforge/pi-glm-tweaks，或使用 pnpm add / yarn add / bun add。

### @estebanforge/pi-glm-tweaks 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/estebanforge\_\_pi-glm-tweaks 是否存在。

### @estebanforge/pi-glm-tweaks 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @estebanforge/pi-glm-tweaks 可以商用吗？

@estebanforge/pi-glm-tweaks 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @estebanforge/pi-glm-tweaks 的下载量有多少？

根据 npm 官方下载统计，@estebanforge/pi-glm-tweaks 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,911 次，日均约 97 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @estebanforge/pi-glm-tweaks 还在维护吗？

最新版本 1\.8\.5 发布于 2026/11/10（3 天前）；至今共发布 19 个版本，其中过去 12 个月发布了 19 个；首次发布于 2026/06/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

