> ## Documentation Index
> Fetch the complete documentation index at: https://niceeval.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# AI SDK v7 如何非侵入式接入 NiceEval

> 一个 AI SDK v7 聊天应用，对着它的 HTTP 接口无侵入接入 NiceEval 前后的完整代码 diff：应用侧一行没改。

对比对象：

* **before**：[https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/origin/ai-sdk-v7](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/origin/ai-sdk-v7) —— 普通的 AI SDK v7 聊天应用（HTTP 服务器 + React 聊天 UI），还没接任何 eval。
* **after**：[https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/tier1/ai-sdk-v7](https://github.com/CorrectRoadH/niceeval/tree/main/examples/zh/tier1/ai-sdk-v7) —— 同一个应用接入 NiceEval 之后的样子。

**接入方式**：内置 **`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/*` 逐字节未变。

接入的全部代码变更（生成时从两个目录实测统计）：

<table className="gd-summary">
  <tbody>
    <tr>
      <th>
        {"类别"}
      </th>

      <th>
        {"文件数"}
      </th>

      <th>
        {"行数"}
      </th>
    </tr>

    <tr>
      <td>
        {"应用侧配置（必要：依赖声明）"}
      </td>

      <td>
        {"3"}
      </td>

      <td>
        {"+5 −1"}
      </td>
    </tr>

    <tr>
      <td>
        {"adapter（必要：传输粘合，协议映射在官方包里）"}
      </td>

      <td>
        {"2"}
      </td>

      <td>
        {"+36"}
      </td>
    </tr>

    <tr>
      <td>
        {"evals 与 experiments（评测内容，按需增长）"}
      </td>

      <td>
        {"8"}
      </td>

      <td>
        {"+143"}
      </td>
    </tr>

    <tr className="gd-total">
      <td>
        {"合计"}
      </td>

      <td>
        {"13"}
      </td>

      <td>
        {"+184 −1"}
      </td>
    </tr>
  </tbody>
</table>

## 文件清单

```text theme={null}
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      新增
```

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

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"package.json"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+2"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-expand" data-fold="gdf10">
          <td className="gd-ln" colSpan={2}>
            {"⇕"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            {"展开 8 行未变更代码"}
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"{"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"name\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"ai-sdk-v7-example\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"version\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"0.1.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"private\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"type\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"module\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"scripts\""}
            </span>

            <span className="gdt0">
              {": {"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"dev\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"lsof -ti tcp:5188 | xargs kill -9 2>/dev/null; concurrently -k -n server,web -c blue,green "}
            </span>

            <span className="gdt1">
              {"\\\""}
            </span>

            <span className="gdt2">
              {"pnpm dev:server"}
            </span>

            <span className="gdt1">
              {"\\\""}
            </span>

            <span className="gdt2">
              {" "}
            </span>

            <span className="gdt1">
              {"\\\""}
            </span>

            <span className="gdt2">
              {"pnpm dev:web"}
            </span>

            <span className="gdt1">
              {"\\\""}
            </span>

            <span className="gdt2">
              {"\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf10">
          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"dev:server\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"node --env-file .env --import tsx/esm --watch src/backend/server.ts\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"dev:web\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"wait-on -t 30000 tcp:127.0.0.1:5188 && vite\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"build\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"vite build\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"start\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"node --env-file .env --import tsx/esm src/backend/server.ts\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"eval\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"typecheck\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"tsc --noEmit\""}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"dependencies\""}
            </span>

            <span className="gdt0">
              {": {"}
            </span>
          </td>
        </tr>

        <tr className="gd-expand" data-fold="gdf11">
          <td className="gd-ln" colSpan={2}>
            {"⇕"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            {"展开 15 行未变更代码"}
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@ai-sdk/openai\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^4.0.5\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@ai-sdk/otel\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^1.0.11\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@ai-sdk/react\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^4.0.5\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@opentelemetry/api\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^1.9.1\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@opentelemetry/exporter-trace-otlp-http\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^0.219.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@opentelemetry/resources\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^2.8.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-ln">
            {"22"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@opentelemetry/sdk-trace-node\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^2.8.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"22"}
          </td>

          <td className="gd-ln">
            {"23"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"ai\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^7.0.11\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"23"}
          </td>

          <td className="gd-ln">
            {"24"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"react\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^19.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"24"}
          </td>

          <td className="gd-ln">
            {"25"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"react-dom\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^19.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"25"}
          </td>

          <td className="gd-ln">
            {"26"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"zod\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^4.1.8\""}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"26"}
          </td>

          <td className="gd-ln">
            {"27"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"27"}
          </td>

          <td className="gd-ln">
            {"28"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"devDependencies\""}
            </span>

            <span className="gdt0">
              {": {"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"28"}
          </td>

          <td className="gd-ln">
            {"29"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@types/node\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^22.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf11">
          <td className="gd-ln">
            {"29"}
          </td>

          <td className="gd-ln">
            {"30"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@types/react\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^19.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"30"}
          </td>

          <td className="gd-ln">
            {"31"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@types/react-dom\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^19.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"31"}
          </td>

          <td className="gd-ln">
            {"32"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"@vitejs/plugin-react\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^5.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"32"}
          </td>

          <td className="gd-ln">
            {"33"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"concurrently\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^9.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"34"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"file:../../../..\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"33"}
          </td>

          <td className="gd-ln">
            {"35"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"tsx\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^4.19.2\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"34"}
          </td>

          <td className="gd-ln">
            {"36"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"typescript\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^5.7.2\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"35"}
          </td>

          <td className="gd-ln">
            {"37"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"vite\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^7.0.0\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"36"}
          </td>

          <td className="gd-ln">
            {"38"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"wait-on\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"^9.0.0\""}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"37"}
          </td>

          <td className="gd-ln">
            {"39"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  }"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"38"}
          </td>

          <td className="gd-ln">
            {"40"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"}"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"tsconfig.json"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+1"}
      </span>

      <span className="gd-minus">
        {"−1"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-expand" data-fold="gdf12">
          <td className="gd-ln" colSpan={2}>
            {"⇕"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            {"展开 13 行未变更代码"}
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"{"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"compilerOptions\""}
            </span>

            <span className="gdt0">
              {": {"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"target\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"ES2022\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"module\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"NodeNext\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"moduleResolution\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"NodeNext\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"lib\""}
            </span>

            <span className="gdt0">
              {": ["}
            </span>

            <span className="gdt2">
              {"\"ES2023\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"DOM\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"DOM.Iterable\""}
            </span>

            <span className="gdt0">
              {"],"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"types\""}
            </span>

            <span className="gdt0">
              {": ["}
            </span>

            <span className="gdt2">
              {"\"node\""}
            </span>

            <span className="gdt0">
              {"],"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"jsx\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"react-jsx\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"strict\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"noUncheckedIndexedAccess\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"false"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"esModuleInterop\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"skipLibCheck\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf12">
          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"allowImportingTsExtensions\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"noEmit\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt1">
              {"\"forceConsistentCasingInFileNames\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-del">
          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-ln" />

          <td className="gd-sign">
            {"−"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"include\""}
            </span>

            <span className="gdt0">
              {": ["}
            </span>

            <span className="gdt2">
              {"\"src\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"vite.config.ts\""}
            </span>

            <span className="gdt0">
              {"]"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt1">
              {"\"include\""}
            </span>

            <span className="gdt0">
              {": ["}
            </span>

            <span className="gdt2">
              {"\"src\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"vite.config.ts\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"niceeval.config.ts\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"agents\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"evals\""}
            </span>

            <span className="gdt0">
              {", "}
            </span>

            <span className="gdt2">
              {"\"experiments\""}
            </span>

            <span className="gdt0">
              {"]"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"}"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"pnpm-workspace.yaml"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+2"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-expand" data-fold="gdf13">
          <td className="gd-ln" colSpan={2}>
            {"⇕"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            {"展开 6 行未变更代码"}
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt3">
              {"packages"}
            </span>

            <span className="gdt0">
              {": []"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt3">
              {"allowBuilds"}
            </span>

            <span className="gdt0">
              {":"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt3">
              {"esbuild"}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt3">
              {"minimumReleaseAgeExclude"}
            </span>

            <span className="gdt0">
              {":"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"'@ai-sdk/gateway@4.0.8'"}
            </span>
          </td>
        </tr>

        <tr className="gd-fold gdf13">
          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"'@ai-sdk/openai@4.0.5'"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"'@ai-sdk/react@4.0.5'"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"'@ai-sdk/provider-utils@5.0.3'"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"ai@7.0.11"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  - "}
            </span>

            <span className="gdt2">
              {"niceeval@0.1.1"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt3">
              {"overrides"}
            </span>

            <span className="gdt0">
              {":"}
            </span>
          </td>
        </tr>

        <tr>
          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign" />

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt3">
              {"ai"}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt1">
              {"7.0.11"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt3">
              {"niceeval"}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"link:../../../.."}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

## 新增的 adapter、evals 与 experiments

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"niceeval.config.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+11"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineConfig } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineConfig"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  name: { "}
            </span>

            <span className="gdt2">
              {"\"zh-CN\""}
            </span>

            <span className="gdt0">
              {": "}
            </span>

            <span className="gdt2">
              {"\"AI SDK v7 HTTP 无侵入示例\""}
            </span>

            <span className="gdt0">
              {", en: "}
            </span>

            <span className="gdt2">
              {"\"AI SDK v7 HTTP non-invasive example\""}
            </span>

            <span className="gdt0">
              {" },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  judge: { model: "}
            </span>

            <span className="gdt2">
              {"\"gpt-5.4\""}
            </span>

            <span className="gdt0">
              {" },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  timeoutMs: "}
            </span>

            <span className="gdt1">
              {"60_000"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// 被测应用是用户自己起的长驻服务(eval 不代管进程),接收 span 用固定端口:"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// 应用启动时 OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318 指过来即可,跑多少次"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// eval 都不用改(见 docs-site「通过 OTel 接入 → 端点怎么交给应用 → 固定端口模式」)。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  telemetry: { port: "}
            </span>

            <span className="gdt1">
              {"4318"}
            </span>

            <span className="gdt0">
              {" },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"agents/ai-sdk-v7.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+25"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// ai-sdk-v7 的 adapter:内置 uiMessageStreamAgent 无侵入对接一个**已经在跑**的 AI SDK 应用"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// (UI Message Stream 协议,https://ai-sdk.dev/docs/ai-sdk-ui/stream-protocol)。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"//"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 应用怎么跑是应用自己的事(pnpm dev / 部署在哪都行),eval 侧不代管进程、不另开端口:"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// AI_SDK_V7_URL 指到哪就测哪,默认应用自己的本地默认端口 5188。瀑布图/usage 的 span 走"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// niceeval 的固定端口接收器(niceeval.config.ts 的 telemetry.port),应用启动时用标准"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// OTel 环境变量指过来即可,见 README「跑起来」。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { uiMessageStreamAgent, otelEvents, otel } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval/adapter\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"BASE_URL"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" process.env."}
            </span>

            <span className="gdt1">
              {"AI_SDK_V7_URL"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"??"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"http://127.0.0.1:5188\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"uiMessageStreamAgent"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  name: "}
            </span>

            <span className="gdt2">
              {"\"ai-sdk-v7\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  url: "}
            </span>

            <span className="gdt2">
              {"`${"}
            </span>

            <span className="gdt1">
              {"BASE_URL"}
            </span>

            <span className="gdt2">
              {"}/api/chat`"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// 应用的 /api/chat 支持请求级选模型(GET /api/models 可查),ctx.model 直接透传,"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// compare-models 的多模型对比不用动服务。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt5">
              {"body"}
            </span>

            <span className="gdt0">
              {": ("}
            </span>

            <span className="gdt7">
              {"ctx"}
            </span>

            <span className="gdt0">
              {") "}
            </span>

            <span className="gdt4">
              {"=>"}
            </span>

            <span className="gdt0">
              {" ({ model: ctx.model }),"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// usage 协议帧里没有,从应用官方 @ai-sdk/otel 集成产的 GenAI spans 派生补上;"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// 工具/消息事件工厂已从协议直构,同 callId / 同文本的 span 派生结果自动去重。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  events: "}
            </span>

            <span className="gdt5">
              {"otelEvents"}
            </span>

            <span className="gdt0">
              {"({ dialects: [otel.genAi] }),"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  capabilities: { tracing: "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {" },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"22"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// 应用用 BatchSpanProcessor,流结束后留一段宽限让最后一批 span 落进本轮收集窗口"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"23"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt6">
              {"// (配合启动应用时的 OTEL_BSP_SCHEDULE_DELAY=200,见 README;只影响瀑布图/usage)。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"24"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  settleMs: "}
            </span>

            <span className="gdt1">
              {"600"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"25"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"evals/basic-qa.eval.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+21"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineEval } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 这条 eval 验证 agent 能正常问答且不瞎调工具,顺带冒烟 usage 有没有从 GenAI semconv span"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 正确聚合进 Turn.usage(usage 从模型 span 聚合,adapter 没有手写 usage 计算)。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineEval"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"测试 agent 能正常问答且不瞎调工具\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt4">
              {"async"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"test"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt7">
              {"t"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"turn"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"用一句话介绍一下你自己,这轮不用查天气也不用算数。\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    turn."}
            </span>

            <span className="gdt5">
              {"expectOk"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"group"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"正常收发、没有多余工具调用\""}
            </span>

            <span className="gdt0">
              {", () "}
            </span>

            <span className="gdt4">
              {"=>"}
            </span>

            <span className="gdt0">
              {" {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      t."}
            </span>

            <span className="gdt5">
              {"succeeded"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      t."}
            </span>

            <span className="gdt5">
              {"usedNoTools"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"maxTokens"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt1">
              {"20_000"}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t.judge.autoevals."}
            </span>

            <span className="gdt5">
              {"closedQA"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"助手是否用一两句话正常介绍了自己,而不是报错或答非所问?\""}
            </span>

            <span className="gdt0">
              {")."}
            </span>

            <span className="gdt5">
              {"gate"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt1">
              {"0.6"}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"evals/hitl-approve.eval.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+24"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineEval } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { equals } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval/expect\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// calculate 工具声明了 needsApproval:true(AI SDK 自己的 tool loop 停轮机制)。这条验证批准"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 分支:approve 之后工具正常执行,calledTool 的 status 是 \"completed\"。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"//"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 提示词不提\"审批\"——不同模型看到提示词里的\"审批\"字样,有的会倾向于用文字反问用户"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// \"可以吗\"而不是真的发起工具调用(在 pi-sdk / claude-sdk / langgraph 的接入里都复现过);"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 审批门是 SDK 自动挂的,跟用户怎么问无关。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineEval"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"HITL:calculate 经批准后正常执行\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt4">
              {"async"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"test"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt7">
              {"t"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"draft"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"用计算器算一下 (23+19)*3 等于多少\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"check"}
            </span>

            <span className="gdt0">
              {"(draft.status, "}
            </span>

            <span className="gdt5">
              {"equals"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"waiting\""}
            </span>

            <span className="gdt0">
              {"));"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"requireInputRequest"}
            </span>

            <span className="gdt0">
              {"({ action: "}
            </span>

            <span className="gdt2">
              {"\"calculate\""}
            </span>

            <span className="gdt0">
              {" });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"approved"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"respond"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"approve\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    approved."}
            </span>

            <span className="gdt5">
              {"succeeded"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"calledTool"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"calculate\""}
            </span>

            <span className="gdt0">
              {", { status: "}
            </span>

            <span className="gdt2">
              {"\"completed\""}
            </span>

            <span className="gdt0">
              {" });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"22"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"messageIncludes"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"/"}
            </span>

            <span className="gdt8">
              {"126"}
            </span>

            <span className="gdt2">
              {"/"}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"23"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"24"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"evals/hitl-deny.eval.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+23"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineEval } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { equals } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval/expect\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// deny 分支:人否决和工具故障是两回事——calledTool 的 status 应该是 \"rejected\","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// noFailedActions() 依然通过。有的模型被拒绝一次后会不死心、原样再试一次同一个工具调用"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// (在 claude-sdk / langgraph 的接入里都复现过),不是 adapter 的映射 bug,是模型行为。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// deny 到它放弃为止,给个上限避免死循环。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineEval"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"HITL:calculate 被拒绝后标记 rejected 而不是 failed\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt4">
              {"async"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"test"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt7">
              {"t"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"用计算器算一下 (23+19)*3 等于多少\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"requireInputRequest"}
            </span>

            <span className="gdt0">
              {"({ action: "}
            </span>

            <span className="gdt2">
              {"\"calculate\""}
            </span>

            <span className="gdt0">
              {" });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"let"}
            </span>

            <span className="gdt0">
              {" denied "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"respond"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"deny\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"for"}
            </span>

            <span className="gdt0">
              {" ("}
            </span>

            <span className="gdt4">
              {"let"}
            </span>

            <span className="gdt0">
              {" attempt "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"0"}
            </span>

            <span className="gdt0">
              {"; attempt "}
            </span>

            <span className="gdt4">
              {"<"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"3"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"&&"}
            </span>

            <span className="gdt0">
              {" denied.status "}
            </span>

            <span className="gdt4">
              {"==="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"waiting\""}
            </span>

            <span className="gdt0">
              {"; attempt"}
            </span>

            <span className="gdt4">
              {"++"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      denied "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"respond"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"deny\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    }"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"check"}
            </span>

            <span className="gdt0">
              {"(denied.status, "}
            </span>

            <span className="gdt5">
              {"equals"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"completed\""}
            </span>

            <span className="gdt0">
              {"));"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"calledTool"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"calculate\""}
            </span>

            <span className="gdt0">
              {", { status: "}
            </span>

            <span className="gdt2">
              {"\"rejected\""}
            </span>

            <span className="gdt0">
              {" });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"noFailedActions"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"22"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"23"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"evals/session-isolation.eval.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+20"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineEval } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { includes, excludes } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval/expect\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 这条 eval 专门验证 conversation 能力位的两半承诺:同一 session 里第二轮记得住第一轮说的名字"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// (客户端重放完整历史续接成功——这个应用服务端零状态,续接完全靠 adapter 按 sessionId 存取"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 完整 UIMessage[] 并原样重发);t.newSession() 造出的新 session 不共享历史。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineEval"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"测试跨轮记忆与 newSession() 隔离\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt4">
              {"async"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"test"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt7">
              {"t"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"我叫小明,帮我记住这个名字。\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"recall"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"我刚才说我叫什么名字?\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    recall."}
            </span>

            <span className="gdt5">
              {"messageIncludes"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"小明\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"check"}
            </span>

            <span className="gdt0">
              {"(t.reply, "}
            </span>

            <span className="gdt5">
              {"includes"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"小明\""}
            </span>

            <span className="gdt0">
              {"));"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"fresh"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"newSession"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" fresh."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"我叫什么名字?\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t."}
            </span>

            <span className="gdt5">
              {"check"}
            </span>

            <span className="gdt0">
              {"(fresh.reply, "}
            </span>

            <span className="gdt5">
              {"excludes"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"小明\""}
            </span>

            <span className="gdt0">
              {"));"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"evals/weather-tool.eval.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+21"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineEval } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 这条 eval 验证 agent 遇到实时天气问题时会调 get_weather,而不是直接编一个答案。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 工具断言完全来自 @ai-sdk/otel 产的 GenAI semconv span 派生,adapter 没有为它写一行帧映射。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineEval"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"测试 agent 在天气问题中正确调用 get_weather 并基于结果作答\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  "}
            </span>

            <span className="gdt4">
              {"async"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"test"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt7">
              {"t"}
            </span>

            <span className="gdt0">
              {") {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"const"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt1">
              {"turn"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"="}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"send"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"北京今天天气怎么样?\""}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    turn."}
            </span>

            <span className="gdt5">
              {"expectOk"}
            </span>

            <span className="gdt0">
              {"();"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    "}
            </span>

            <span className="gdt4">
              {"await"}
            </span>

            <span className="gdt0">
              {" t."}
            </span>

            <span className="gdt5">
              {"group"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"调用 get_weather 且城市正确\""}
            </span>

            <span className="gdt0">
              {", () "}
            </span>

            <span className="gdt4">
              {"=>"}
            </span>

            <span className="gdt0">
              {" {"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      t."}
            </span>

            <span className="gdt5">
              {"calledTool"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"get_weather\""}
            </span>

            <span className="gdt0">
              {", { input: { city: "}
            </span>

            <span className="gdt2">
              {"\"北京\""}
            </span>

            <span className="gdt0">
              {" } });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"14"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      t."}
            </span>

            <span className="gdt5">
              {"messageIncludes"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"/"}
            </span>

            <span className="gdt8">
              {"°C"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"气温"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"天气"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"晴"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"多云"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"雨"}
            </span>

            <span className="gdt4">
              {"|"}
            </span>

            <span className="gdt8">
              {"阴"}
            </span>

            <span className="gdt2">
              {"/"}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"15"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    });"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"16"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"17"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"    t.judge.autoevals"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"18"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      ."}
            </span>

            <span className="gdt5">
              {"closedQA"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt2">
              {"\"助手是否给出了具体的天气数据(温度或天气状况),而不是拒绝回答或含糊其辞?\""}
            </span>

            <span className="gdt0">
              {")"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"19"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"      ."}
            </span>

            <span className="gdt5">
              {"atLeast"}
            </span>

            <span className="gdt0">
              {"("}
            </span>

            <span className="gdt1">
              {"0.7"}
            </span>

            <span className="gdt0">
              {");"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"20"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  },"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"21"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"experiments/assistant.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+9"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineExperiment } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" agent "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"../agents/ai-sdk-v7.ts\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 单配置基线:不比较模型,用请求体不传 model 时应用自己的默认值。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineExperiment"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"ai-sdk-v7:真实 AI SDK v7 后端(默认模型)\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  agent,"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  runs: "}
            </span>

            <span className="gdt1">
              {"1"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"experiments/compare-models/deepseek-v4-flash.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+13"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineExperiment } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" agent "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"../../agents/ai-sdk-v7.ts\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// compare-models 组的一格:deepseek-v4-flash。一文件一配置(单 model),model 经 ctx.model"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// 走请求体传给应用(不用重启进程,见 agents/server-lifecycle.ts 头注释)。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineExperiment"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"deepseek-v4-flash: 对比模型\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  agent,"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  model: "}
            </span>

            <span className="gdt2">
              {"\"deepseek-v4-flash\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  runs: "}
            </span>

            <span className="gdt1">
              {"2"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  earlyExit: "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  budget: "}
            </span>

            <span className="gdt1">
              {"2"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"13"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>

<div className="gd-file">
  <div className="gd-head">
    <span className="gd-name">
      {"experiments/compare-models/deepseek-v4-pro.ts"}
    </span>

    <span className="gd-stats">
      <span className="gd-plus">
        {"+12"}
      </span>
    </span>
  </div>

  <div className="gd-body">
    <table className="gd-table">
      <tbody>
        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"1"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" { defineExperiment } "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"niceeval\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"2"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"import"}
            </span>

            <span className="gdt0">
              {" agent "}
            </span>

            <span className="gdt4">
              {"from"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt2">
              {"\"../../agents/ai-sdk-v7.ts\""}
            </span>

            <span className="gdt0">
              {";"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"3"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            {" "}
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"4"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt6">
              {"// compare-models 组的一格:deepseek-v4-pro。与 deepseek-v4-flash.ts 钉住一切、只差 model。"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"5"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt4">
              {"export"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt4">
              {"default"}
            </span>

            <span className="gdt0">
              {" "}
            </span>

            <span className="gdt5">
              {"defineExperiment"}
            </span>

            <span className="gdt0">
              {"({"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"6"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  description: "}
            </span>

            <span className="gdt2">
              {"\"deepseek-v4-pro: 对比模型\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"7"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  agent,"}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"8"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  model: "}
            </span>

            <span className="gdt2">
              {"\"deepseek-v4-pro\""}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"9"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  runs: "}
            </span>

            <span className="gdt1">
              {"2"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"10"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  earlyExit: "}
            </span>

            <span className="gdt1">
              {"true"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"11"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"  budget: "}
            </span>

            <span className="gdt1">
              {"2"}
            </span>

            <span className="gdt0">
              {","}
            </span>
          </td>
        </tr>

        <tr className="gd-add">
          <td className="gd-ln" />

          <td className="gd-ln">
            {"12"}
          </td>

          <td className="gd-sign">
            {"+"}
          </td>

          <td className="gd-code">
            <span className="gdt0">
              {"});"}
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
</div>
