feat: AI沙箱流式对话+引导学习+静态服务优化
- 后端: AI沙箱流式对话(SSE), reasoning_content 回退支持 - 前端: 沙箱页流式渲染, 引导学习面板, 默认场景/Starter兜底 - 优化: 前端改用静态文件服务器(node server.js)替代next dev, CSS永不丢失 - 修复: 通用模型默认改为可用模型, predev不再删.next缓存
This commit is contained in:
@@ -66,3 +66,44 @@
|
||||
- 沙盒 JWT 认证保留
|
||||
- Mock 支付自动完成闭环,无需手动触发回调;真实微信支付上线后自动切换
|
||||
- 运营助手采用 Tool Calling 架构:system prompt 描述工具 → AI 返回 JSON 工具调用 → 后端执行 → 结果喂回 AI 总结 → 展示给用户
|
||||
|
||||
## 2026-05-27 Session
|
||||
|
||||
### Changes Made
|
||||
- **Fixed OpenAI default model**: Changed `OPENAI_MODEL` in `.env` from `meituan/longcat-flash-lite` (invalid, returned 400) to `deepseek/deepseek-v4-flash` (confirmed working on qnaigc API). The "通用模式" (general model) now returns real AI responses instead of mock fallback.
|
||||
- **Fixed empty content handling**: Updated `OpenAICompatibleProvider.chat()` to fall back to `reasoning_content` when `content` is empty (SenseNova models return content in `reasoning_content`). Same fix applied in `chatStream()` for delta content.
|
||||
|
||||
### Verification
|
||||
- Backend successfully registers: `OpenAI 兼容接口已注册: deepseek/deepseek-v4-flash`
|
||||
- 5 test chat requests to `POST /api/v1/sandbox/chat` with `model:"general"` all returned 201 in 1.3-12.7s (vs. previous mock/fallback)
|
||||
- No more `AIGatewayService` "调用失败" errors in logs for OpenAI provider
|
||||
- Backend runs under PM2 (v7.0.1), managed via `pm2 restart backend --update-env`
|
||||
|
||||
### Known Issues
|
||||
- SenseNova API (`token.sensenova.cn`) still returns 404 "model is not found" for `deepseek-v4-flash` et al — models might need different naming on that endpoint
|
||||
- Server: backend `node dist/main.js` on port 4000, frontend Next.js on port 3000, both managed by PM2
|
||||
|
||||
### 2026-05-27 后续优化
|
||||
|
||||
**彻底修复 CSS 丢失问题**
|
||||
|
||||
根本原因:PM2 用 `npm run dev`(`next dev`)运行前端,每次重启都会重新编译,`.next` 缓存被销毁导致 CSS 丢失。
|
||||
|
||||
解决方案:改用 `output: 'export'` 静态导出 + 独立 HTTP 服务器。
|
||||
|
||||
| 文件 | 变更 |
|
||||
|------|------|
|
||||
| `frontend/server.js` | **新增** — Node.js 静态文件服务器,支持 Next.js 静态导出 URL 模式(`/about` → `about.html`),CSS/JS 缓存一年,HTML 不缓存 |
|
||||
| `ecosystem.config.js` | 前端从 `npm run dev` 改为 `node server.js`,NODE_ENV=production |
|
||||
| `frontend/package.json` | `predev` 改为仅删 `out/`,不再删 `.next/` |
|
||||
|
||||
部署流程:
|
||||
1. `npm run build` → 生成 `out/` 静态目录
|
||||
2. PM2 运行 `node server.js` → 直接提供静态文件
|
||||
3. 重启后 CSS 不变,无需重新编译
|
||||
|
||||
当前状态:
|
||||
- 前端 `localhost:3000` (static server, 无编译延迟)
|
||||
- 后端 `localhost:4000` (NestJS)
|
||||
- 所有路由正常 (/, /about, /sandbox 均为 200)
|
||||
- CSS 持久化,重启后不丢失
|
||||
|
||||
Reference in New Issue
Block a user