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
+21 -21
View File
@@ -8,40 +8,40 @@ import (
type ChannelResponse struct {
ID int64 `json:"id"`
ChannelType string `json:"channelType"`
ChannelID string `json:"channelId"`
AIAgentID int64 `json:"aiAgentId"`
AIAgentRolloutPercent int `json:"aiAgentRolloutPercent"`
PreviousAIAgentRolloutPercent int `json:"previousAiAgentRolloutPercent"`
AIAgentName string `json:"aiAgentName,omitempty"`
ChannelType string `json:"channel_type"`
ChannelID string `json:"channel_id"`
AIAgentID int64 `json:"ai_agent_id"`
AIAgentRolloutPercent int `json:"ai_agent_rollout_percent"`
PreviousAIAgentRolloutPercent int `json:"previous_ai_agent_rollout_percent"`
AIAgentName string `json:"ai_agent_name,omitempty"`
Name string `json:"name"`
ConfigJSON string `json:"configJson"`
ConfigJSON string `json:"config_json"`
Status enums.Status `json:"status"`
Remark string `json:"remark"`
}
type WxWorkKFAccountResponse struct {
OpenKfID string `json:"openKfId"`
OpenKfID string `json:"open_kf_id"`
Name string `json:"name"`
Avatar string `json:"avatar"`
ManagePrivilege bool `json:"managePrivilege"`
ManagePrivilege bool `json:"manage_privilege"`
}
type ChannelMessageOutboxResponse struct {
ID int64 `json:"id"`
ChannelType string `json:"channelType"`
ConversationID int64 `json:"conversationId"`
MessageID int64 `json:"messageId"`
ChannelType string `json:"channel_type"`
ConversationID int64 `json:"conversation_id"`
MessageID int64 `json:"message_id"`
Payload string `json:"payload"`
SendStatus string `json:"sendStatus"`
RetryCount int `json:"retryCount"`
NextRetryAt string `json:"nextRetryAt"`
LastError string `json:"lastError"`
SentAt string `json:"sentAt"`
CreatedAt string `json:"createdAt"`
UpdatedAt string `json:"updatedAt"`
CreateUserName string `json:"createUserName"`
UpdateUserName string `json:"updateUserName"`
SendStatus string `json:"send_status"`
RetryCount int `json:"retry_count"`
NextRetryAt string `json:"next_retry_at"`
LastError string `json:"last_error"`
SentAt string `json:"sent_at"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
CreateUserName string `json:"create_user_name"`
UpdateUserName string `json:"update_user_name"`
}
func BuildChannelResponse(item *models.Channel) ChannelResponse {