# model-probe **Repository Path**: bianlan/model-probe ## Basic Information - **Project Name**: model-probe - **Description**: 中转 API 模型真实性检测工具。通过自定义测试题库,调用中转 API 并自动判分,识别模型是否疑似造假、混淆或不可用。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-25 - **Last Updated**: 2026-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 模型探测 (Model Probe) 中转 API 模型真实性检测工具。通过自定义测试题库,调用中转 API 并自动判分,识别模型是否疑似造假、混淆或不可用。 ## 技术栈 - **桌面框架**:Tauri 2.x - **前端**:Vue 3 + TypeScript + Vue Router - **后端**:Rust - **数据库**:SQLite(通过 `rusqlite`) - **构建工具**:Vite ## 开发环境运行 ### 前提条件 1. **Node.js** >= 18 2. **Rust** >= 1.77.2 3. **Tauri 系统依赖** Windows 系统需要安装 [WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)(Windows 10 1803+ 和 Windows 11 已内置)。 ### 安装依赖 ```bash # 安装前端依赖 npm install # Rust 依赖会在首次构建时自动下载 ``` ### 启动开发模式 ```bash # 启动 Tauri 桌面应用(会自动启动 Vite 开发服务器) npm run tauri dev ``` 这会同时启动 Vite 前端开发服务器(默认端口 5173)和 Tauri 桌面窗口。前端代码修改后会自动热更新,Rust 代码修改后需要重新编译。 ### 仅启动前端开发服务器 ```bash npm run dev ``` 然后在浏览器中访问 `http://localhost:5173`。注意:前端页面需要 Tauri 后端提供命令支持,仅在前端开发服务器下部分页面功能不可用。 ## 打包构建 ### 构建 Tauri 桌面应用 ```bash npm run tauri build ``` 此命令会自动先构建前端(`npm run build`),再编译 Rust 后端并打包。构建产物在 `src-tauri/target/release/` 目录下: - Windows:`model-probe.exe`(也可生成 MSI 安装包) - macOS:`.dmg` 或 `.app` - Linux:`.deb` 或 `.AppImage` ### 构建说明 - 首次构建需要下载大量 Rust crate,耗时较长。 - Windows 下如果遇到构建错误,请确保安装了 [Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)(包含 "Desktop development with C++" 工作负载)。 - 生产构建默认启用 CSP,当前配置为 `null`(允许所有资源),如需更严格的安全策略,请修改 `src-tauri/tauri.conf.json` 中的 `app.security.csp`。 ## 项目结构 ``` model-proble/ ├── src/ # 前端源码 (Vue 3) │ ├── views/ # 页面组件 │ │ ├── Dashboard.vue # 仪表盘 │ │ ├── ApiConfigs.vue # API 配置管理 │ │ ├── Models.vue # 模型管理 │ │ ├── Questions.vue # 测试题库 │ │ ├── Validators.vue # 验证模型 │ │ ├── SingleTest.vue # 在线测试 │ │ ├── BatchTest.vue # 一键测试 │ │ ├── History.vue # 历史记录 │ │ ├── Settings.vue # 设置 │ │ └── Login.vue # 登录 │ ├── router/ # 路由配置 │ ├── utils/ # 工具函数和 composable │ ├── App.vue # 根组件 │ ├── main.ts # 入口文件 │ └── style.css # 全局样式 ├── src-tauri/ # 后端源码 (Rust) │ └── src/ │ ├── lib.rs # 应用入口,注册 Tauri 命令 │ ├── main.rs # Windows 入口 │ ├── commands.rs # 所有 Tauri 命令实现 │ ├── db.rs # 数据库初始化和建表 │ ├── judge.rs # 自动判分逻辑 │ ├── config.rs # 配置读取 │ └── error.rs # 统一错误结构 ├── docs/ # 项目文档 │ ├── 模型测试.md │ ├── 项目需求.md │ └── 项目开发计划.md └── package.json ``` ## 默认账号 | 用户名 | 密码 | |---|---| | admin | Admin123! | 首次启动时系统自动创建,密码使用 bcrypt 加密存储。登录后可在设置页面修改密码。 ## 使用流程 1. 登录系统(默认账号 `admin` / `Admin123!`) 2. 运行种子数据脚本初始化模型和题库:`cargo run --bin seed_data` 3. 在 **API 配置** 页面添加中转 API 地址和密钥 4. 在 **模型管理** 页面查看/调整待测模型 5. 在 **测试题库** 页面查看/调整测试题和标准答案 6. 在 **验证模型** 页面配置用于辅助判分的验证模型 7. 在 **在线测试** 页面选择 API、模型和题目发起测试 8. 在 **一键测试** 页面批量测试多个模型 9. 在 **历史记录** 页面查看和筛选测试结果 ## 导入模型测试问题 在测试题库界面,点击导入,导入项目中的[模型测试问题_模型自检版.xlsx文件](模型测试问题_模型自检版.xlsx),即可初始化相关问题 ## 导入模型知识库-用于预测是什么模型 在模型知识库界面,将[模型知识.md](模型知识.md)文件内容保存,即可初始化相关知识 ## 接口约束 - 所有后端接口只使用 GET 和 POST,不使用 PUT 和 DELETE - 删除操作通过"启用/停用"实现 - API 兼容 OpenAI Chat Completions 格式 ## 系统截图 ![api配置](dev_docs/api配置.png) ![模型管理](dev_docs/模型管理.png) ![测试题库](dev_docs/测试题库.png) ![在线测试](dev_docs/在线测试.png) ## 许可证 MIT