57 lines
2.7 KiB
Markdown
57 lines
2.7 KiB
Markdown
# I-01 · 模型能力自动探测
|
||
|
||
| 字段 | 值 |
|
||
|---|---|
|
||
| 项目 | DSH · `Desktop/dsh`(tools 目录) |
|
||
| 优先级 | P1 · M3 |
|
||
| 建议模型 | deepseek-v4.1-flash(主)/ glm-5.3-flash(复核) |
|
||
| 依赖 | 无 |
|
||
| 预估 | 1.5 天 |
|
||
|
||
## 一、背景(为什么做)
|
||
|
||
2026-09-06 的模型能力探测全是**手动**跑的(`DSH模型能力测试报告.md`);09-08 插件覆盖式改配置把实测结论搞坏过一次。模型池 10 个分组、19+ 模型,能力声明会漂移——需要一个**每晚自动探测、只报告不写配置**的巡检工具,让能力画像保持新鲜。
|
||
|
||
## 二、目标(交付物)
|
||
|
||
1. 探测脚本(建议 `tools/probe_models.py`,Python 单文件 + 标准库/httpx):
|
||
- 读 `~/.dsh/settings.yaml` 枚举全部分组与模型
|
||
- 对每个模型跑三组探测:
|
||
- **基线**:一次最小对话请求(200 + 非空回复)
|
||
- **思考**:带推理参数请求(按模型的 thinkingFormat/reasoningEfforts 配置发;验证 reasoning 字段返回)
|
||
- **视觉**:发内置 64px 纯色 PNG(内嵌 base64,不依赖外部文件),问主色
|
||
- 每模型结果:`pass/fail + 耗时 + 错误码/错误信息摘要`
|
||
- **失败隔离**:单模型失败不中断全量(超时 30s/请求)
|
||
2. 产出:
|
||
- `tools/probe-reports/probe-YYYY-MM-DD.json`(机读)
|
||
- 同名 `.md`(人读:表格 + 变动对比——与上次报告 diff,标出"能力变化"的模型)
|
||
3. **铁律实现**:脚本**只读** settings.yaml(打开方式只读,代码层面无写入路径);任何写入需求 → 报告里建议,由人执行。
|
||
4. 运行方式:手动一条命令 + Windows 计划任务示例(每晚)+(可选)Gitea CI 手动触发。告警:发现"能力丢失/新增失败"时,报告首行标红警告。
|
||
|
||
## 三、验收标准
|
||
|
||
- [ ] 一条命令跑完全部 provider(实测全量跑通并产出报告)
|
||
- [ ] 报告与 09-06 手动结论可对照(glm/qwen 的思考+视觉结论一致)
|
||
- [ ] `grep` 脚本源码确认无 settings.yaml 写入路径
|
||
- [ ] 单模型失败(如断网模型)不中断全量,明确标记
|
||
- [ ] 视觉探测用内嵌图片(无外部文件依赖)
|
||
- [ ] 计划任务示例可用(文档含命令)
|
||
|
||
## 四、验收命令(参考)
|
||
|
||
```bash
|
||
cd Desktop/dsh && python tools/probe_models.py --all
|
||
ls tools/probe-reports/ # 产出当日 json + md
|
||
python tools/probe_models.py --all --compare # 与上次对比模式
|
||
```
|
||
|
||
## 五、边界(不许做)
|
||
|
||
- **绝不写任何配置文件**(只报告)
|
||
- 不打印 API key / token 到报告
|
||
- 不做自动修复(发现问题 → 人决定)
|
||
|
||
## 六、交接
|
||
|
||
写 `PROGRESS_I-01.md`(含全量跑通的报告样例、对照结论、无写入的代码证据)。
|