docs: update dev-log - llm.go handler 拆分
This commit is contained in:
1 parent
d4fe62f053
commit
2e175daf80
1 file changed
+25
@@ -1782,3 +1782,28 @@ cd ~/devops/aiops
|
|||||||
- 多会话支持(当前单用户单历史,可扩展多命名会话切换)
|
- 多会话支持(当前单用户单历史,可扩展多命名会话切换)
|
||||||
- 快捷操作可扩展更多数据源(容量预测接入 agent history 时序/K8s 集群健康/云账单分析)
|
- 快捷操作可扩展更多数据源(容量预测接入 agent history 时序/K8s 集群健康/云账单分析)
|
||||||
- 前端组件拆分候选: TopologyView.tsx(576)、ExcelServerImport.tsx(549)、DomainManager.tsx(492)
|
- 前端组件拆分候选: TopologyView.tsx(576)、ExcelServerImport.tsx(549)、DomainManager.tsx(492)
|
||||||
|
|
||||||
|
|
||||||
|
## 2026-06-18 07:00 自动推进(cron)— 后端 llm.go handler 拆分(526→167/339/41)
|
||||||
|
|
||||||
|
- **任务**: 将超 400 行 handler 规范的 `backend/internal/api/handlers/llm.go`(526 行)按业务域拆分为三个文件,符合 CLAUDE.md "Go handler <400 行" 规范
|
||||||
|
- **背景**: 代码质量审计发现 `llm.go` 526 行已超规范(仅次于 mock.go 644 行,但 mock.go 是已废弃脚本)。按 dev-log 上次"下一步建议"中第 4 项"前端组件拆分候选",本次顺手清理后端 handler 超限项,先拆 llm.go(最独立、最低风险)
|
||||||
|
- **实现(纯代码移动,业务零变更)**:
|
||||||
|
- `llm.go`(526→167 行)— 保留 LLM 配置相关:LLMHandler struct + NewLLMHandler + maskAPIKey + getActiveConfig + GetLLMConfig + SaveLLMConfig + openaiChatRequest/Choice/Response 类型 + resolveEndpoint + defaultSystemPrompt 常量
|
||||||
|
- `llm_chat.go`(新建 339 行)— 对话代理 + SSE 流式:Chat + ChatStream + writeSSEChunk + writeSSEError + parseOpenAIError + TestLLMConnection
|
||||||
|
- `llm_history.go`(新建 41 行)— 对话历史:GetChatHistory + ClearChatHistory
|
||||||
|
- 三文件同属 package handlers,所有方法/类型/常量在同 package 内天然共享,**routes.go 完全无需改动**
|
||||||
|
- **结果**:
|
||||||
|
- 后端 go build ./... 通过;go vet ./... 通过
|
||||||
|
- ./run.sh restart 后 /health ok + 前端 200
|
||||||
|
- 端到端 API 验证(4 个 LLM 端点全覆盖):
|
||||||
|
- GET /api/v1/aiops/llm-config → 正常返回 config(来自 llm.go GetLLMConfig)
|
||||||
|
- POST /api/v1/aiops/chat → 400 "LLM 服务未配置或未启用"(来自 llm_chat.go Chat)
|
||||||
|
- POST /api/v1/aiops/chat/stream → `event: error\ndata: {"code":400,"message":"..."}` SSE(来自 llm_chat.go ChatStream + writeSSEError)
|
||||||
|
- GET /api/v1/aiops/chat-history → `{list:[], total:0}`(来自 llm_history.go GetChatHistory)
|
||||||
|
- git push 成功 (commit d4fe62f)
|
||||||
|
- **下一步建议**:
|
||||||
|
- 后端 `routes/routes.go` 438 行(略超 400),但路由注册集中单文件更清晰,可不拆
|
||||||
|
- 后端 `scripts/mock.go` 644 行(已废弃种子脚本),可考虑直接删除(mocks 已迁移到真实 API)
|
||||||
|
- 前端 `services/api.ts` 752 行超 700 行硬上限,可按模块拆分(userApi/dashboardApi/serverApi... 各拆独立文件 barrel re-export),风险较高需谨慎
|
||||||
|
- 回到 dev-log 早期建议:用户消息气泡中【平台实时数据】块可折叠展示
|
||||||
Reference in new issue
Block a user