跳转到主要内容
对比对象: 接入方式:内置 uiMessageStreamAgent——AI SDK UI Message Stream 协议(useChat 后端的标准 SSE)的官方无侵入 adapter,adapter 文件只剩配置:端点在哪、请求体怎么带 model。会话重放、HITL 审批(needsApproval 工具的 part 改写重发)、事件直构全是 工厂内置行为;usage 从应用本来就有的官方 @ai-sdk/otel 集成产的 GenAI spans 派生 (events: otelEvents({ dialects: [otel.genAi] })),瀑布图同一批 span。应用侧 src/backend/* 逐字节未变。 接入的全部代码变更(生成时从两个目录实测统计):

文件清单

ai-sdk-v7/
├── package.json                    修改
├── tsconfig.json                   修改
├── pnpm-workspace.yaml             修改
├── niceeval.config.ts              新增
├── agents/
│   └── ai-sdk-v7.ts                新增
├── evals/
│   ├── basic-qa.eval.ts            新增
│   ├── hitl-approve.eval.ts        新增
│   ├── hitl-deny.eval.ts           新增
│   ├── session-isolation.eval.ts   新增
│   └── weather-tool.eval.ts        新增
└── experiments/
    ├── assistant.ts                新增
    └── compare-models/
        ├── deepseek-v4-flash.ts    新增
        └── deepseek-v4-pro.ts      新增

应用侧的变更(只有依赖声明)

新增的 adapter、evals 与 experiments