Files
Mdeical_Sur_Report/工程分析/20260419_2249/功能变更测试文档.md
admin 3bec69986e feat: Kimi k2.5参数适配+AI日志导出完善(20260419_2249)
- Kimi k2.5 强制传参拦截: 当 provider=kimi 且 model 包含 k2.5 时,
  从请求体中 delete temperature/top_p/presence_penalty/frequency_penalty,
  彻底解决 HTTP 400 报错
- 完善导出AI日志: 新增 lastExchangeLog 状态, 记录每次调用的
  完整请求体(requestPayload)、原始响应(responsePayload)、
  错误详情(errorDetail含status/statusText/responseText)、模型配置
- 更新导出按钮 JSON 结构, 包含 lastExchange 字段
2026-04-19 22:54:00 +08:00

2.4 KiB
Raw Blame History

功能变更测试文档20260419_2249

测试项 1Kimi k2.5 参数拦截

测试场景 AKimi + k2.5 模型

  1. 进入系统设置 → AI 接口集成
  2. 供应商选择「Kimi (Moonshot)」,模型名填写 kimi-k2.5
  3. 填写有效 API Key点击「测试连接」确认配置有效
  4. 进入报告编辑器,打开 AI 面板,发送任意消息
  5. 预期结果
    • 网络请求成功HTTP 200无 400 报错
    • 浏览器 DevTools → Network → 请求体中不包含 temperaturetop_ppresence_penaltyfrequency_penalty

测试场景 BKimi + 非 k2.5 模型

  1. 系统设置中模型名改为 moonshot-v1-32k
  2. 发送 AI 消息
  3. 预期结果
    • 请求体中包含 temperature: 0.3
    • 调用正常

测试场景 CDeepSeek / OpenAI / Custom

  1. 切换供应商为 DeepSeek模型 deepseek-chat
  2. 发送 AI 消息
  3. 预期结果
    • 请求体中包含 temperature: 0.3
    • 调用正常

测试项 2AI 日志导出完善

测试场景 A成功调用后的导出

  1. 发送一条 AI 消息并等待成功返回
  2. 点击「导出 AI 日志」
  3. 预期结果
    • 下载的 JSON 中 lastExchange 字段非空
    • lastExchange.requestPayload 包含完整的 modelmessagessystem + user
    • lastExchange.requestPayload.messages[0].content 包含系统提示词全文
    • lastExchange.responsePayload 包含 AI 返回的原始 JSONreplyupdatedHtml
    • lastExchange.modelConfig 包含 provider、endpoint、modelName
    • lastExchange.errorDetailnull

测试场景 B失败调用后的导出

  1. 故意填写错误的 API Key 或断开网络
  2. 发送 AI 消息,等待报错
  3. 点击「导出 AI 日志」
  4. 预期结果
    • lastExchange.errorDetail 非空
    • 包含 status(如 401/400/403statusTextresponseText(服务端返回的原始错误 JSONmessage
    • lastExchange.responsePayloadnull

测试场景 C未进行任何 AI 调用时的导出

  1. 刷新页面后直接点击「导出 AI 日志」
  2. 预期结果
    • lastExchangenull
    • 其他字段messages、metadata正常导出

回归测试

  • tsc --noEmit 零错误
  • npm run build 构建成功
  • 预览服务器正常启动并可访问
  • 现有 AI 对话功能不受影响的供应商deepseek/openai调用正常