refactor: 将客服后端重构为宿主可嵌入模块

- 注入数据库、运行时配置、统一响应、文件存储和平台 AI 能力,补充业务读写工具与客户快捷操作契约。

- 移除模块内重复的组织、客户、工单、标签、技能、旧工作流、MCP 和迁移实现,将身份权限与业务主体交由宿主管理。

- 使用 libSQL 重构向量存储,并完善图片消息、访客身份、排队调度、企业微信和支持聊天页面。

- 统一 HTTP、DTO 与 WebSocket 的 snake_case 协议,补齐模块初始化、业务动作和公共载荷等回归测试。
This commit is contained in:
t
2026-08-28 22:23:13 +08:00
parent 6845c728f8
commit 18c9354095
377 changed files with 13199 additions and 22881 deletions
+35 -35
View File
@@ -2,25 +2,25 @@ package response
type DashboardOverviewResponse struct {
Range string `json:"range"`
GeneratedAt string `json:"generatedAt"`
GeneratedAt string `json:"generated_at"`
Summary DashboardSummaryResponse `json:"summary"`
ConversationStats DashboardSectionStatsResponse `json:"conversationStats"`
AgentStats DashboardAgentStatsResponse `json:"agentStats"`
AIStats DashboardAIStatsResponse `json:"aiStats"`
ConversationStats DashboardSectionStatsResponse `json:"conversation_stats"`
AgentStats DashboardAgentStatsResponse `json:"agent_stats"`
AIStats DashboardAIStatsResponse `json:"ai_stats"`
Alerts []DashboardAlertResponse `json:"alerts"`
QuickLinks []DashboardQuickLinkResponse `json:"quickLinks"`
QuickLinks []DashboardQuickLinkResponse `json:"quick_links"`
}
type DashboardSummaryResponse struct {
TodayNewConversations int64 `json:"todayNewConversations"`
ProcessingConversations int64 `json:"processingConversations"`
PendingDispatchConversations int64 `json:"pendingDispatchConversations"`
OnlineAgents int64 `json:"onlineAgents"`
AIServiceRate float64 `json:"aiServiceRate"`
TodayNewConversations int64 `json:"today_new_conversations"`
ProcessingConversations int64 `json:"processing_conversations"`
PendingDispatchConversations int64 `json:"pending_dispatch_conversations"`
OnlineAgents int64 `json:"online_agents"`
AIServiceRate float64 `json:"ai_service_rate"`
}
type DashboardSectionStatsResponse struct {
StatusDistribution []DashboardStatusDistributionItem `json:"statusDistribution"`
StatusDistribution []DashboardStatusDistributionItem `json:"status_distribution"`
Trend []DashboardTrendItem `json:"trend"`
}
@@ -32,39 +32,39 @@ type DashboardStatusDistributionItem struct {
type DashboardTrendItem struct {
Date string `json:"date"`
NewCount int64 `json:"newCount"`
ClosedCount int64 `json:"closedCount"`
NewCount int64 `json:"new_count"`
ClosedCount int64 `json:"closed_count"`
}
type DashboardAgentStatsResponse struct {
OnlineAgents int64 `json:"onlineAgents"`
BusyAgents int64 `json:"busyAgents"`
OfflineAgents int64 `json:"offlineAgents"`
TeamLoads []DashboardTeamLoadResponse `json:"teamLoads"`
OnlineAgents int64 `json:"online_agents"`
BusyAgents int64 `json:"busy_agents"`
OfflineAgents int64 `json:"offline_agents"`
TeamLoads []DashboardTeamLoadResponse `json:"team_loads"`
}
type DashboardTeamLoadResponse struct {
TeamID int64 `json:"teamId"`
TeamName string `json:"teamName"`
TotalAgents int64 `json:"totalAgents"`
OnlineAgents int64 `json:"onlineAgents"`
BusyAgents int64 `json:"busyAgents"`
OfflineAgents int64 `json:"offlineAgents"`
WaitingConversations int64 `json:"waitingConversations"`
ProcessingConversations int64 `json:"processingConversations"`
MaxConcurrentCapacity int64 `json:"maxConcurrentCapacity"`
LoadRate float64 `json:"loadRate"`
HasScheduleNow bool `json:"hasScheduleNow"`
TeamID int64 `json:"team_id"`
TeamName string `json:"team_name"`
TotalAgents int64 `json:"total_agents"`
OnlineAgents int64 `json:"online_agents"`
BusyAgents int64 `json:"busy_agents"`
OfflineAgents int64 `json:"offline_agents"`
WaitingConversations int64 `json:"waiting_conversations"`
ProcessingConversations int64 `json:"processing_conversations"`
MaxConcurrentCapacity int64 `json:"max_concurrent_capacity"`
LoadRate float64 `json:"load_rate"`
HasScheduleNow bool `json:"has_schedule_now"`
}
type DashboardAIStatsResponse struct {
EnabledAIAgents int64 `json:"enabledAiAgents"`
EnabledChannels int64 `json:"enabledChannels"`
TodayKnowledgeRetrieves int64 `json:"todayKnowledgeRetrieves"`
TodayKnowledgeRetrieveFailCount int64 `json:"todayKnowledgeRetrieveFailCount"`
TodayKnowledgeRetrieveFailRate float64 `json:"todayKnowledgeRetrieveFailRate"`
TodayAgentRunFailCount int64 `json:"todayAgentRunFailCount"`
TodayAIHandoffCount int64 `json:"todayAiHandoffCount"`
EnabledAIAgents int64 `json:"enabled_ai_agents"`
EnabledChannels int64 `json:"enabled_channels"`
TodayKnowledgeRetrieves int64 `json:"today_knowledge_retrieves"`
TodayKnowledgeRetrieveFailCount int64 `json:"today_knowledge_retrieve_fail_count"`
TodayKnowledgeRetrieveFailRate float64 `json:"today_knowledge_retrieve_fail_rate"`
TodayAgentRunFailCount int64 `json:"today_agent_run_fail_count"`
TodayAIHandoffCount int64 `json:"today_ai_handoff_count"`
}
type DashboardAlertResponse struct {