fix(ai): AI 对话全链路修复 + 菜单配置 + 会话消息持久化
- 修复 ai_tenant_config Entity 表名错误(复数→单数)导致 budget_status 500
- 修复 ai_usage 表 SQL 引用不存在的 deleted_at 列
- 修复 risk_service SQL 列名/表名与实际数据库 schema 不匹配
- chat_handler provider 选择改为配置优先(default_provider→fallback chain)
- 新增 Ollama 非 FC provider 的 generate() 降级路径
- 新增 GET /ai/chat/sessions/{id}/messages 端点
- 前端 ChatPage 切换会话时从后端加载历史消息
- AiConfigPage 新增 default_provider 和 system_prompt 配置字段
- 迁移 000155-000156:AI 菜单调整 + AI 客服菜单 + 角色绑定
- 配额检查错误处理区分配额耗尽和 DB 异常
This commit is contained in:
@@ -105,4 +105,14 @@ export const aiChatApi = {
|
||||
closeSession: async (sessionId: string): Promise<void> => {
|
||||
await client.post(`/ai/chat/sessions/${sessionId}/close`);
|
||||
},
|
||||
|
||||
getSessionMessages: async (sessionId: string): Promise<Array<{
|
||||
id: string;
|
||||
role: string;
|
||||
content: string | null;
|
||||
created_at: string;
|
||||
}>> => {
|
||||
const resp = await client.get(`/ai/chat/sessions/${sessionId}/messages`);
|
||||
return resp.data.data;
|
||||
},
|
||||
};
|
||||
|
||||
@@ -14,9 +14,19 @@ export interface AiAnalysisDefaults {
|
||||
max_tokens: number;
|
||||
}
|
||||
|
||||
export interface AiProviderConfig {
|
||||
provider_type: string;
|
||||
enabled: boolean;
|
||||
base_url: string;
|
||||
api_key: string;
|
||||
model: string;
|
||||
}
|
||||
|
||||
export interface AiConfig {
|
||||
agent: AiAgentConfig;
|
||||
analysis_defaults: AiAnalysisDefaults;
|
||||
default_provider: string;
|
||||
providers: Record<string, AiProviderConfig>;
|
||||
}
|
||||
|
||||
export const aiConfigApi = {
|
||||
|
||||
Reference in New Issue
Block a user