浏览器本地运行的 AI 模型可用性检测工具,支持 OpenAI 兼容接口、Anthropic 和 Gemini。
ModelProbe 在用户浏览器中完成模型发现、请求探测、流式响应解析、耗时统计和结果展示。服务器只负责托管 SPA 和静态资源:API Key、上游请求、响应结果以及导入的 cc-switch.db 都不会上传到 ModelProbe 服务器。
- 支持 OpenAI 兼容接口、Anthropic、Gemini。
- 支持 HTTP、HTTPS、
localhost和127.0.0.1地址。 - 并发数可在 1–20 之间调整,默认并发数为 10。
- 展示首字节时间、响应耗时和流式响应结果。
- 在浏览器本地导入
cc-switch.db,查看 Provider 并选择检测对象。 - 不需要账号、服务端数据库,也不会上传 API Key。
- 提供安全默认值的生产构建和 Docker 镜像。
环境要求:Node.js 22.5 或更高版本。
git clone https://github.com/shenwyi/model-probe.git
cd model-probe
npm ci
npm run dev然后打开 http://127.0.0.1:4173。
Windows 用户也可以双击 start-lan.cmd:它会在需要时安装依赖、构建静态页面、监听局域网并打开页面。每位用户都应填写自己电脑上的 API 地址;上游 API 需要允许来自 ModelProbe 页面所在地址的浏览器 CORS 请求。
本地构建并运行生产版本:
npm run build
npm start构建并运行 Docker:
docker build --tag model-probe .
docker run --rm --publish 4173:4173 model-probe容器监听 0.0.0.0:4173,默认关闭本地 CC Switch 导入。需要时可通过环境变量配置;在局域网或公网暴露服务前,请先理解上游接口、浏览器 CORS 和本地凭据的安全边界。
需要通过樱花 FRP 做公网访问时,推荐使用 docs/DOCKER_DEPLOYMENT.md 中的安全 Compose 部署。它只把宿主机的 127.0.0.1:4173 交给隧道转发,不直接暴露 Docker 端口。
如需修改默认值,可以复制 .env.example 为 .env。常用配置如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
HOST |
127.0.0.1 |
服务监听地址 |
PORT |
4173 |
服务端口 |
ENABLE_LOCAL_CC_SWITCH |
1 |
是否允许浏览器本地导入数据库 |
ALLOW_LAN_CC_SWITCH |
0 |
非回环地址服务时是否允许 CC Switch 导入 |
ALLOW_PRIVATE_ENDPOINTS |
0 |
是否允许访问内网、回环和保留地址 |
ALLOW_HTTP_ENDPOINTS |
0 |
是否允许非 HTTPS 上游地址 |
UPSTREAM_TIMEOUT_MS |
120000 |
上游请求超时时间 |
FIRST_BYTE_WARNING_MS |
20000 |
首字节较慢的提示阈值 |
PROBE_CONCURRENCY |
4 |
服务端默认并发配置 |
VITE_ADS_ENABLED |
false |
是否启用可选广告位 |
API Key 只在页面内存中使用,不会发送到 ModelProbe 服务端。但浏览器历史记录、扩展、开发者工具和共享电脑都属于本地安全边界,请据此使用。
在页面中选择本地 cc-switch.db。文件使用 SQLite/WASM 在浏览器内存中解析,不会上传。Provider 记录可能包含敏感的地址或账号元数据,请不要分享暴露这些内容的截图或导出文件。
npm run verify # 类型检查、单元/组件测试、生产构建
npm run test:e2e # Playwright 浏览器测试Dockerfile 可用于构建生产镜像。dist、server-dist、coverage、playwright-report 和 test-results 等生成目录已被 Git 忽略。
浏览器 UI
├─ 从配置的上游发现模型
├─ 直接向上游发送探测请求
├─ 解析流式响应并记录耗时
└─ 使用 SQLite/WASM 在本地读取 cc-switch.db
│
▼
Express/Vite 静态服务器
└─ 只提供 HTML、JavaScript、CSS 和字体
服务器没有模型、探测、健康检查或 CC Switch API 路由。详见 SECURITY.md 和 README.en.md。
请阅读 CONTRIBUTING.md。提交 Issue、PR、日志或截图时,请移除 API Key、Token、私有 Provider 数据和内部地址。
ModelProbe 使用 MIT License 开源。