Files
vscode-workbench/PLANNING/tasks/I-01-模型探测自动化.md

57 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`(含全量跑通的报告样例、对照结论、无写入的代码证据)。