OpenAI 兼容渠道的能力探针:可用性 / TTFT / 工具调用 / 视觉 / 联网搜索 / 上下文长度一键测。
- 桌面:Electron(内嵌 Node 跑后端,加载本地 React 资源)
- 界面构建:Vite + React + TypeScript + Tailwind + Recharts(仅作为 Electron 打包步骤)
- 后端:TypeScript / Node 22+(打包后由 Electron 内置 Node 运行)
- 接口:SSE 流式推送每项测试的进度 + 日志
.
├── server/ # 后端(TypeScript,零依赖)
│ ├── src/
│ │ ├── index.ts # HTTP 服务 + SSE 流式接口
│ │ ├── types.ts # 请求 / 结果类型
│ │ └── probes/ # 聊天 / 模型列表 / 多模态 / 上下文边界探测
│ └── tsconfig.build.json
└── desktop/ # Electron 壳 + 前端(自包含)
├── main.js / preload.js / tpm.js
├── src/
│ ├── App.tsx
│ ├── components/ # TitleBar / ConnForm / TestRunner / LogStream / ResultSummary
│ └── lib/ # types / tests / api(SSE 客户端)
└── public/fonts/ # Noto Sans SC
cd desktop
npm run dev:vite # Vite + Electron 开发窗口如果只需要在浏览器中运行前端,在 desktop/ 中执行 npm run dev:web 即可;该命令会自动启动本地后端(默认 127.0.0.1:8000)和 Vite,不再需要单独启动后端进程。
首次使用请在 desktop/ 执行 npm install;构建脚本使用其中的 TypeScript 编译内置后端。
桌面程序启动时会自动创建本机回环地址上的临时后端端口,窗口关闭后结束后端进程;不会依赖远程前端或云端服务。
cd desktop
npm run build:win # 产出 desktop/dist/Model Probe Setup x.y.z.exe打包链路:tsc 编译 server → vite 构建 desktop 前端 → electron-builder 打 NSIS。
后端在打包版里由 Electron 内嵌 Node 运行(ELECTRON_RUN_AS_NODE=1),无需用户安装任何运行时。
UI 勾选“上下文窗口精确探测”后,程序会搜索输入超限边界,并使用接口实际返回的 prompt_tokens / completion_tokens / total_tokens 校验结果。只有服务端连续两次明确返回同一个窗口值,或相邻输入经 usage 证明恰好相差 1 token、且成功/超限边界可重复确认时,才显示“精确上下文窗口”;否则只显示已验证下界,不把字符数、请求参数或单次 prompt_tokens 冒充上下文窗口。