# 功能变更需求文档(20260419_2249) ## 需求 1:Kimi k2.5 模型强制传参规则适配 ### 问题背景 Kimi 最新版 `kimi-k2.5` 模型对 API 请求体有极其苛刻的要求,不允许出现非标准的温度和概率参数。当前系统在向所有模型发送请求时均硬编码了 `temperature: 0.3`,导致调用 `kimi-k2.5` 时返回 HTTP 400 错误。 ### 需求描述 在封装向大模型发起 `fetch` 请求的地方,增加条件判断: - **触发条件**:当前激活供应商为 `kimi` 且模型名包含 `k2.5`(大小写不敏感) - **数据处理**:强制从请求体中 `delete` 移除 `temperature`、`top_p`、`presence_penalty`、`frequency_penalty` 等可选参数,让 Kimi 官方服务器使用其默认安全值 - **兼容性**:其他供应商(deepseek/openai/custom)及 Kimi 非 k2.5 模型不受影响,继续保留 `temperature: 0.3` ### 参考文档 https://platform.kimi.com/docs/guide/kimi-k2-5-quickstart --- ## 需求 2:完善「导出 AI 日志」功能 ### 问题背景 当前「导出 AI 日志」按钮仅导出 `chatMessages`(UI 对话历史)和少量元数据,缺少: - 实际发往 AI 的完整请求体(System Prompt + Messages + Parameters) - AI 返回的原始 JSON 响应 - API 调用失败时的具体错误信息(HTTP 状态码 + 响应体) - 当前生效的模型完整配置 这些信息对于排查大模型幻觉、优化提示词、定位网络/接口故障至关重要。 ### 需求描述 1. 在 `ReportEditor.tsx` 中建立 `lastExchangeLog` 状态,每次 `handleAIGenerate` 调用时记录: - `startTime`:请求发起时间 - `requestPayload`:完整请求体(model、messages、实际发送的参数) - `responsePayload`:AI 原始响应 JSON - `errorDetail`:失败时的完整错误信息(含 HTTP 状态码、错误响应体文本) - `modelConfig`:当前 provider、endpoint、modelName 2. 更新「导出 AI 日志」按钮,将 `lastExchangeLog` 一并写入导出的 JSON 3. 保持向后兼容:无 AI 调用记录时,`lastExchangeLog` 为 `null`,导出时不影响其他字段 --- ## 影响范围 - `src/pages/ReportEditor.tsx`(主要修改文件) - 无新增依赖