CREATE TABLE IF NOT EXISTS `sys_ai_chat_session` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', `chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID', `title` VARCHAR(255) DEFAULT NULL COMMENT '会话标题', `prompt_template_id` BIGINT DEFAULT NULL COMMENT 'Prompt模板ID', `prompt_scene_code` VARCHAR(64) DEFAULT NULL COMMENT 'Prompt场景', `prompt_version` INT DEFAULT NULL COMMENT 'Prompt版本', `prompt_name` VARCHAR(255) DEFAULT NULL COMMENT 'Prompt名称', `message_count` INT NOT NULL DEFAULT 0 COMMENT '消息数', `last_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输入tokens', `last_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输出tokens', `last_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次总tokens', `last_llm_call_count` INT NOT NULL DEFAULT 0 COMMENT '最近一次模型调用轮次', `last_token_updated_at` DATETIME DEFAULT NULL COMMENT '最近一次tokens更新时间', `sum_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输入tokens', `sum_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输出tokens', `sum_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计总tokens', `ask_count` BIGINT NOT NULL DEFAULT 0 COMMENT '累计提问次数', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), UNIQUE KEY `uk_sys_ai_chat_session_chat_id` (`chat_id`), KEY `idx_sys_ai_chat_session_update_time` (`update_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天会话表'; CREATE TABLE IF NOT EXISTS `sys_ai_chat_message` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键', `chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID', `seq_no` INT NOT NULL COMMENT '顺序号', `role` VARCHAR(32) NOT NULL COMMENT '角色:user/assistant', `content` LONGTEXT COMMENT '消息内容', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_sys_ai_chat_message_chat_seq` (`chat_id`, `seq_no`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天消息表';