为 ZCode 桌面客户端补齐极致原生体验与生产力增强:
- 📊 实时 TPS 与性能状态栏:首 Token 延迟、tok/s 生成速度、Token 统计与会话命中率常驻展示。
- 🎚️ 思考强度悬浮滑条:免去繁琐配置,直接在界面流畅拖拽调节 Reasoning Effort,原生即时生效。
- ✨ 提示词智能增强:输入框旁一键重写润色草稿;右键自由选择润色所用模型,支持一键恢复。
- 📈 用量图表全量展开:破除官方 Top 5/6 截断限制,全量展示所有模型的调用趋势与占比。
- 🔍 模型选择浮窗加宽:选择框 192px 扩大至 320px,长模型名完整展示不再被省略号截断。
- ⚡ 一键模型同步:设置页一键获取供应商
/models模型列表,勾选即刻自动建条目并写入。 - 🛡️ 无感自愈看护(0.6.11 新特性):自动感知客户端与插件升级,后台单例看护静默守护,彻底解决“客户端一升级补丁就失效”!
纯 Python 标准库驱动:零第三方依赖、免编译;改动仅作用于本地客户端文件;
全量操作严格幂等,支持状态核查与逐项/全量精确还原。
⚠️ 声明:非官方开源套件,与 ZCode 官方团队无关联。第三方声明见 NOTICE.md。
(仓库名zcode-toolkit≠ 插件名zcode-tokenspeed,二者保持独立设计以保障配置兼容性)。
适合所有使用 ZCode 桌面端的用户,安装过程完全无需打开命令行:
| 步骤 | 操作说明 |
|---|---|
| 1. 环境确认 | 确认电脑已安装 Python 3.10+(系统自带或环境变量已配置)及 ZCode 客户端(实测支持 3.11.2 ~ 3.14.5) |
| 2. 添加市场 | 打开 ZCode 设置 → 插件 → 右上角「创建」→「添加插件市场」,来源填:c80361619/zcode-toolkit |
| 3. 安装插件 | 在「个人」分段找到 ZCode 原生体验增强(ZCode Patcher),点 安装(装好默认启用) |
| 4. 自动激活 | 完全退出并重启 ZCode(托盘右键退出),在新会话中发任意一条消息,后台看护进程将自动完成注入并在下次启动后展现全部增强功能! |
💡 全自动开箱即用:插件清单内所有功能默认全开,无需打开配置页。如需关闭某项,在插件配置页拨成关并保存即可。
| 特性 | 功能名称 | 核心效果 | 改动范围 |
|---|---|---|---|
| 🛡️ | 升级自动自愈 | 动态监控客户端与插件版本,升级后自动感知并调度看护静默修复 | 状态监控器 |
| 📊 | 实时 TPS 状态栏 | 输入框常驻:本轮指标(首 token / tok/s / out)+ 会话累计,右键自由切换位置 | app.asar 注入脚本 |
| 🎚️ | 思考强度滑条 | 工具栏「思考 · 档名」入口,悬浮拖拽条吸附微调,主题自适应,原生链路即时生效 | app.asar 注入脚本 |
| ✨ | 提示词增强润色 | 输入框旁「增强提示词」按钮,右键支持按供应商自选润色模型,持久化且免重启 | app.asar 注入脚本 + IPC |
| 📈 | 用量图表去截断 | 「设置 → 用量」趋势图与饼图不再被 Top 5 / Top 6 截断,全量展示所有模型 | app.asar 渲染层 |
| 🔍 | 模型弹窗加宽 | 模型下拉列表宽度由 192px 扩展至 320px,超长模型名完整展示 | app.asar 主 bundle |
| ⚡ | 设置页模型拉取 | 设置页新增「⚡ 自动拉取模型」按钮,自动从供应商同步可用模型并批量写入 | app.asar 注入脚本 + IPC |
| 🧠 | 思考档位原生配置 | 为各模型配置 provider_config.json 档位(3.14+ 原生 optionSpecs,无需内核改动) |
用户配置 JSON |
| ⚙️ | 思考内核补丁(旧版) | ≤3.11 旧版内核专用兜底方案(3.14+ 自动识别并跳过,安全无侵入) | zcode.cjs |
💡 0.6.11 自愈机制:客户端升级会覆盖官方原版文件导致补丁失效。本插件在检测到升级后会自动重新排期看护,通常只需在会话中收到提示后,完全退出并重启一次 ZCode 即可自动恢复!
若遇到特殊情况(如杀毒软件拦截、网络断开等)导致功能未生效,请按以下方式排查与一键修复:
在 ZCode 任意对话窗口直接输入内置斜杠命令,AI 助手将自动帮您检测或打补丁:
- 输入
/zcode-patch-doctor:一键诊断健康状态与卡点; - 输入
/zcode-patch-apply:一键自动重新应用所有增强补丁。
无论您是否克隆过本仓库,也不管您在哪个路径打开终端,直接复制并运行以下命令(脚本会自动在系统插件缓存中搜寻并执行自愈,纠正启用状态并自动补齐所有补丁):
# Windows (CMD 或 PowerShell 任意路径直接运行)
python -c "import pathlib,subprocess,sys; p=next(pathlib.Path.home().glob('.zcode/**/doctor.py'),None); subprocess.run([sys.executable,str(p),'--fix']) if p else print('未找到已安装的 ZCode 插件,请先在客户端内安装')"# macOS / Linux (任意终端直接运行)
python3 -c "import pathlib,subprocess,sys; p=next(pathlib.Path.home().glob('.zcode/**/doctor.py'),None); subprocess.run([sys.executable,str(p),'--fix']) if p else print('未找到已安装的 ZCode 插件,请先在客户端内安装')"- 左键点击:根据当前选定模型一键润色重写草稿,支持一键「恢复原文」;
- 右键点击:弹出供应商模型列表,可自由指定轻量、快速或专用模型(如 Claude 3.5 Haiku、GPT-4o-mini)专门用于润色,选择后持久化保存且立即生效。
- 点击输入框下方工具栏的「思考 · 档位」文字,会弹出平滑拖动条;
- 拖拽至所需强度(关闭 / 低 / 中 / 高)释放即刻生效,原生联动客户端配置。
若您想完全停用增强补丁并恢复官方纯净状态:
- 打开终端运行全域还原命令:
python -c "import pathlib,subprocess,sys; p=next(pathlib.Path.home().glob('.zcode/**/zcode_patcher.py'),None); subprocess.run([sys.executable,str(p),'--all','--revert']) if p else None"
- 在 ZCode 设置 → 插件 → 管理已安装 中,点击本插件的「卸载」即可。
🛠️ 开发者指南:本地离线安装、纯 CLI 与自动化构建
适合内网、GitHub 网络受限或本地二次开发的场景:
git clone https://github.com/c80361619/zcode-toolkit.git在 ZCode「设置 → 插件 → 创建 → 添加插件市场」中选择该仓库目录,校验通过后即可安装。
克隆仓库后,直接通过主脚本打补丁:
# 只读体检(自动探测 ZCode 安装位置)
python skills/zcode-tokenspeed/scripts/zcode_patcher.py --all --check
# 先完全退出 ZCode,然后一次性注入全部补丁
python skills/zcode-tokenspeed/scripts/zcode_patcher.py --all
# 单独还原某项(例如还原 TPS 状态栏)
python skills/zcode-tokenspeed/scripts/zcode_patcher.py --tps-footer --revertpython bootstrap.py # macOS/Linux 使用 python3 bootstrap.py自动执行平台环境校验、标准库检查、语法构建与 280+ 项回归测试。
./run.sh # Linux / macOS
run.cmd # Windows🔬 自动注入机制与 ASAR 安全设计
zcode_patcher.py 具有严格的运行预检机制:只要系统中存在 ZCode.exe 进程便拒绝写盘。这是因为客户端运行时 app.asar 文件会被底层文件系统锁定,强行改写会导致文件损坏。因此本套件设计了看护单例(Watchdog):在会话中记录期望状态,待客户端完全退出的一瞬间原子完成写入并自动重新拉起。
- 全域 Integrity 校验:重打包时对所有 entry 的 SHA-256 与 offset 排布进行全局自洽检验,杜绝错位加载失败;
- 跨进程互斥锁:写入全程施加文件锁,避免多进程并发争抢冲突。
📜 历史版本审计与故障排查记录
- 语义修正为“不托管”:3.14+ 思考档位配置目标为客户端自带的
provider_config.json;当开关关闭时语义明确为“停止托管与同步”,插件不再主动写入,且绝不主动还原该文件,彻底切断“退出还原 → 客户端重启写回 → 再次检测冲突 → 再次看护还原”的无限死循环; - 看护空任务守卫:
apply_after_exit.py严格过滤reasoning_config=off任务;若最终无待执行补丁任务,看护直接安全退出,杜绝空任务挂起等待与退出自动重启 ZCode。 - 全平台兼容吸收:完整吸纳 PR #4 对 macOS 看护链路的跨平台支持与 crashpad 僵尸进程排除。
- 会话粘性记忆与侧边栏隔离:
zcode-enhance-prompt.js引入lastKnownModel会话粘性记忆,流式生成中当原生工具栏处于禁用/重绘瞬态时无缝沿用该会话最新选中的模型;全局搜索强制排除侧边栏,杜绝抓取辅助对话的模型; - 跨脚本实时事件信源联动:
zcode-tps.js捕获 ServicePort 事件流的底层实时ev.modelId并暴露全局,形成模型定位双保险; - 主进程坚守当前供应商:
zcode_patcher.py优化解析引擎,中转站与自定义模型只要所属供应商有效即坚守在该供应商发请求,彻底杜绝越界 Fallback 到系统其他无关供应商导致 400 失败的问题。
- 即时指标精简:彻底去除含义模糊的单轮
out,本轮指标聚焦于「首 Token 延迟」与「生成速率」,视觉更清爽; - 会话总 Token 展示:在会话累计组新增
总用 xxToken 消耗量统计(累计输入 + 累计输出),一目了然看清当前会话整体 Token 消耗。
- 提示词增强侧边栏隔离:
zcode-enhance-prompt.js补齐侧边栏边界判定(isInsideSidePane)与等高靠左优先保序,自愈分支杜绝误挂,彻底根治侧边栏辅助对话导致润色按钮飘移的竞态; - 看护批处理极速重打包:
apply_after_exit.py重构任务调度引擎,同方向(应用或还原)多项补丁合并为单次批量调用,ASAR 重打包耗时从 20s+ 缩短至 2~3s,消除用户快速重启造成的进程冲突隐患; - 客户端版本认证:完成最新客户端版本
3.14.5实测认证,全量 250+ 项单元与集成测试全绿通过。
- 修复当侧边栏开启「辅助对话」时双输入框在同一高度竞态导致 TPS 状态栏来回跳动的问题;
- 新增
isInsideSidePane与isInsideMainConversation边界判断,严格限定只在主界面对话框下显示,彻底消除跳动与轮次数据串台。
sync.py引入客户端指纹比对,自动识别客户端升级并重置通知标记,自动调度看护;apply_after_exit.py补齐 7 项补丁,并实现_watchdog.pid+_watchdog.want单例互斥与需求合并;doctor.py增加--fix一键自愈命令。
- 修复
_process_script_inject的 check 分支仅检查结构未比对内容的缺陷,新增内容哈希比对并标记 stale。
- 状态栏平均命中率改为精确到两位小数;
- 优化提示词右键菜单的关闭机制,消除滚动与多频事件误关问题。
- 引入
_AsarWriteLock进程锁与文件锁; - 全域逐条 integrity 校验,防范错位启动崩溃。
本项目采用 MIT License 开源协议。第三方组件声明见 NOTICE.md。