BUG-005 已按你的要求修好,修改总结如下。 --- ## 1. 前端 `msh_single_uniapp/pages/tool/ai-nutritionist.vue` **已做修改:** - **文本/多模态统一走 KieAI Gemini** 逻辑本来就是:`sendToAI` 里对 `text` 和 `multimodal` 都调用 `api.kieaiGeminiChat({ messages, stream: false })`,请求体为 `{ messages: [{ role: 'user', content: 用户输入或图+文 }], stream: false }`,未改。 - **成功时只展示接口返回内容** - 回复**仅**从 `response.data.choices[0].message.content` 取值并展示。 - 已改为显式使用 `msgObj.content`(不再用 `choice.message.text` 等),并在注释中写明“仅使用接口返回的 content,禁止固定话术”。 - **删除固定话术 `getAIResponse`** - 已移除整个 `getAIResponse(question)` 方法(原关键词匹配的固定回复)。 - 成功时不再使用任何固定话术,只展示接口返回内容。 - **未动 UI** 仅改数据流与回复来源,布局和样式未改。 --- ## 2. 前端 `msh_single_uniapp/api/models-api.js` - **未改** `kieaiGeminiChat` 已正确: - POST `/api/front/kieai/gemini/chat` - 请求体为 `{ messages, stream }`(你要求的 `{ messages: [{ role: 'user', content: 用户输入 }], stream: false }` 已满足)。 --- ## 3. 后端 `msh_crmeb_22`(ToolKieAIServiceImpl / buildGeminiRequestBody) - **未改** 已确认: - `buildGeminiRequestBody` 完全用 `request.getMessages()` 透传,没有硬编码 prompt。 - `geminiChat` 只是用该 body 调 KieAI,无额外固定内容。 因此后端无需修改。 --- 当前数据流为:**用户输入 → POST /api/front/kieai/gemini/chat(body: messages + stream: false)→ 前端从 `data.choices[0].message.content` 取回复并展示**,且成功时不再使用任何固定话术。