跳转到主要内容
对比对象: 先看文件树了解改动范围,再分两部分读 diff:应用侧改了什么 (ai-sdk-runtime.tsstreamChat 里的 streamText 调用拆成独立的 chat() ——唯一的模型调用点,只是多收一个可选 opts 透传取消信号和 telemetry,UI 和 eval 跑的是同一次调用;assistant.ts 多一个 send_email 工具用来演示 tool approval + HITL,两者都不 import 任何 niceeval 的东西),以及 eval 侧整体新增了什么(config、evals、experiments,aiSdkAgent 接线也在这里)。

文件清单

ai-sdk-v7/
├── src/
│   ├── ai-sdk-runtime.ts             修改
│   └── assistant.ts                  修改
├── package.json                      修改
├── tsconfig.json                     修改
├── pnpm-workspace.yaml               修改
├── niceeval.config.ts                新增
├── evals/
│   ├── fixtures/
│   │   └── sample.png                新增
│   ├── hitl-approve.eval.ts          新增
│   ├── hitl-deny.eval.ts             新增
│   ├── image-understanding.eval.ts   新增
│   ├── multi-turn.eval.ts            新增
│   ├── structured-output.eval.ts     新增
│   └── weather-tool.eval.ts          新增
└── experiments/
    ├── assistant.ts                  新增
    └── compare-models/
        ├── deepseek-v4-pro.ts        新增
        └── gpt-5.4.ts                新增

应用侧的变更

新增的 evals 与 experiments