Files
moss-ai/data/Mysql/chat_history.sql
雷雨 8635b84b2d init
2025-12-15 22:05:56 +08:00

74 lines
3.6 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- ============================================
-- Moss AI 智能家居系统 - 对话记录表
-- 数据库: MySQL
-- 用途: 存储用户与管家agent的对话记录
-- ============================================
CREATE DATABASE IF NOT EXISTS smart_home CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE smart_home;
-- ============================================
-- 对话记录表
-- ============================================
CREATE TABLE IF NOT EXISTS chat_history (
id BIGINT AUTO_INCREMENT COMMENT '主键ID',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
context_id VARCHAR(100) NOT NULL COMMENT '会话上下文ID',
message_id VARCHAR(100) COMMENT '消息ID',
task_id VARCHAR(100) COMMENT '任务ID',
role VARCHAR(20) NOT NULL COMMENT '角色: user, agent, system',
content TEXT NOT NULL COMMENT '消息内容',
status VARCHAR(20) DEFAULT 'success' COMMENT '状态: success, failed, error',
error_message TEXT COMMENT '错误信息(如果失败)',
metadata JSON COMMENT '元数据JSON格式',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id),
KEY idx_user_context (system_user_id, context_id),
KEY idx_created_at (created_at),
KEY idx_status (status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='对话记录表';
-- ============================================
-- 对话列表表(会话列表)
-- ============================================
CREATE TABLE IF NOT EXISTS conversation_list (
id BIGINT AUTO_INCREMENT COMMENT '主键ID',
context_id VARCHAR(100) NOT NULL COMMENT '会话上下文ID唯一标识',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
title VARCHAR(200) DEFAULT '新对话' COMMENT '对话标题',
description VARCHAR(500) COMMENT '对话描述',
message_count INT DEFAULT 0 COMMENT '消息数量',
last_message TEXT COMMENT '最后一条消息内容(预览)',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
is_active BOOLEAN DEFAULT TRUE COMMENT '是否激活',
PRIMARY KEY (id),
UNIQUE KEY uk_context_id (context_id),
KEY idx_user_updated (system_user_id, updated_at DESC),
KEY idx_user_active (system_user_id, is_active)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='对话列表表';
-- ============================================
-- 设备操作记录表
-- ============================================
CREATE TABLE IF NOT EXISTS device_operations (
id BIGINT AUTO_INCREMENT COMMENT '主键ID',
system_user_id BIGINT NOT NULL COMMENT '系统用户ID',
context_id VARCHAR(100) COMMENT '会话上下文ID',
device_type VARCHAR(50) NOT NULL COMMENT '设备类型: air_conditioner, air_cleaner, bedside_lamp',
device_name VARCHAR(100) COMMENT '设备名称',
action VARCHAR(100) NOT NULL COMMENT '操作动作',
parameters JSON COMMENT '操作参数JSON格式',
success BOOLEAN NOT NULL COMMENT '是否成功',
response TEXT COMMENT '操作响应',
error_message TEXT COMMENT '错误信息(如果失败)',
execution_time INT COMMENT '执行时间(毫秒)',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (id),
KEY idx_user_device (system_user_id, device_type),
KEY idx_created_at (created_at),
KEY idx_success (success),
KEY idx_context (context_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='设备操作记录表';