AI接入 v0.1
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
-- AI 会话与消息表(2026-09-23 阶段 B:AI 基建)
|
||||
-- 设计说明:
|
||||
-- * 与项目其他表一致:utf8mb4_unicode_ci、逻辑删除、指向 user 表的外键
|
||||
-- * 消息不可变(没有 update_time)——工具调用的中间过程不入库,
|
||||
-- 历史里只有 user / assistant 文本,这样 App 端不用理解 tool 消息格式
|
||||
-- * 会话的 update_time 由 DB 的 ON UPDATE 维护,列表按「最近活跃」排序
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `chat_session` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '会话ID',
|
||||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||||
`title` VARCHAR(100) NOT NULL DEFAULT '新对话' COMMENT '标题(首条消息自动生成)',
|
||||
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
|
||||
`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`),
|
||||
INDEX `idx_user_updated` (`user_id`, `deleted`, `update_time`),
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI会话表';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `chat_message` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '消息ID',
|
||||
`session_id` BIGINT NOT NULL COMMENT '会话ID',
|
||||
`role` VARCHAR(16) NOT NULL COMMENT '角色:user / assistant',
|
||||
`content` TEXT NOT NULL COMMENT '消息文本',
|
||||
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_session_created` (`session_id`, `deleted`, `create_time`),
|
||||
FOREIGN KEY (`session_id`) REFERENCES `chat_session` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI消息表';
|
||||
@@ -179,3 +179,29 @@ INSERT INTO `category` (`user_id`, `name`, `icon`, `type`, `sort_order`) VALUES
|
||||
(NULL, '投资', '📈', 2, 3),
|
||||
(NULL, '兼职', '💼', 2, 4),
|
||||
(NULL, '其他', '📦', 2, 5);
|
||||
|
||||
-- AI 会话表
|
||||
CREATE TABLE IF NOT EXISTS `chat_session` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '会话ID',
|
||||
`user_id` BIGINT NOT NULL COMMENT '用户ID',
|
||||
`title` VARCHAR(100) NOT NULL DEFAULT '新对话' COMMENT '标题(首条消息自动生成)',
|
||||
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
|
||||
`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`),
|
||||
INDEX `idx_user_updated` (`user_id`, `deleted`, `update_time`),
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI会话表';
|
||||
|
||||
-- AI 消息表(工具调用的中间过程不入库,历史里只有 user / assistant 文本)
|
||||
CREATE TABLE IF NOT EXISTS `chat_message` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '消息ID',
|
||||
`session_id` BIGINT NOT NULL COMMENT '会话ID',
|
||||
`role` VARCHAR(16) NOT NULL COMMENT '角色:user / assistant',
|
||||
`content` TEXT NOT NULL COMMENT '消息文本',
|
||||
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0正常 1已删除',
|
||||
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`),
|
||||
INDEX `idx_session_created` (`session_id`, `deleted`, `create_time`),
|
||||
FOREIGN KEY (`session_id`) REFERENCES `chat_session` (`id`) ON DELETE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI消息表';
|
||||
|
||||
Reference in New Issue
Block a user