12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097 |
- -- liquibase formatted sql
- -- changeset charles7c:1
- -- comment 初始化表结构
- CREATE TABLE IF NOT EXISTS `sys_menu`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(30) NOT NULL COMMENT '标题',
- `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级菜单ID',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:目录;2:菜单;3:按钮)',
- `path` varchar(255) DEFAULT NULL COMMENT '路由地址',
- `name` varchar(50) DEFAULT NULL COMMENT '组件名称',
- `component` varchar(255) DEFAULT NULL COMMENT '组件路径',
- `redirect` varchar(255) DEFAULT NULL COMMENT '重定向地址',
- `icon` varchar(50) DEFAULT NULL COMMENT '图标',
- `is_external` bit(1) DEFAULT b'0' COMMENT '是否外链',
- `is_cache` bit(1) DEFAULT b'0' COMMENT '是否缓存',
- `is_hidden` bit(1) DEFAULT b'0' COMMENT '是否隐藏',
- `permission` varchar(100) DEFAULT NULL COMMENT '权限标识',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_title_parent_id` (`title`, `parent_id`),
- INDEX `idx_parent_id` (`parent_id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='菜单表';
- CREATE TABLE IF NOT EXISTS `sys_dept`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `parent_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '上级部门ID',
- `ancestors` varchar(512) NOT NULL DEFAULT '' COMMENT '祖级列表',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name_parent_id` (`name`, `parent_id`),
- INDEX `idx_parent_id` (`parent_id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='部门表';
- CREATE TABLE IF NOT EXISTS `sys_role`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `data_scope` tinyint(1) NOT NULL DEFAULT 4 COMMENT '数据权限(1:全部数据权限;2:本部门及以下数据权限;3:本部门数据权限;4:仅本人数据权限;5:自定义数据权限)',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `menu_check_strictly` bit(1) DEFAULT b'1' COMMENT '菜单选择是否父子节点关联',
- `dept_check_strictly` bit(1) DEFAULT b'1' COMMENT '部门选择是否父子节点关联',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name` (`name`),
- UNIQUE INDEX `uk_code` (`code`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='角色表';
- CREATE TABLE IF NOT EXISTS `sys_user`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `username` varchar(64) NOT NULL COMMENT '用户名',
- `nickname` varchar(100) NOT NULL COMMENT '昵称',
- `password` varchar(255) DEFAULT NULL COMMENT '密码',
- `gender` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '性别(0:未知;1:男;2:女)',
- `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
- `phone` varchar(255) DEFAULT NULL COMMENT '手机号码',
- `avatar` longtext DEFAULT NULL COMMENT '头像',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `is_fron` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '是否为前台用户(0:否;1:是)',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `pwd_reset_time` datetime DEFAULT NULL COMMENT '最后一次修改密码时间',
- `dept_id` bigint(20) COMMENT '部门ID',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_username` (`username`),
- UNIQUE INDEX `uk_email` (`email`),
- UNIQUE INDEX `uk_phone` (`phone`),
- INDEX `idx_dept_id` (`dept_id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='用户表';
- CREATE TABLE IF NOT EXISTS `sys_user_password_history`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `user_id` bigint(20) NOT NULL COMMENT '用户ID',
- `password` varchar(255) NOT NULL COMMENT '密码',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_user_id` (`user_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='用户历史密码表';
- CREATE TABLE IF NOT EXISTS `sys_user_social`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `source` varchar(255) NOT NULL COMMENT '来源',
- `open_id` varchar(255) NOT NULL COMMENT '开放ID',
- `user_id` bigint(20) NOT NULL COMMENT '用户ID',
- `meta_json` text DEFAULT NULL COMMENT '附加信息',
- `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_source_open_id` (`source`, `open_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='用户社会化关联表';
- CREATE TABLE IF NOT EXISTS `sys_user_role`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `user_id` bigint(20) NOT NULL COMMENT '用户ID',
- `role_id` bigint(20) NOT NULL COMMENT '角色ID',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_user_id_role_id` (`user_id`, `role_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='用户和角色关联表';
- CREATE TABLE IF NOT EXISTS `sys_role_menu`
- (
- `role_id` bigint(20) NOT NULL COMMENT '角色ID',
- `menu_id` bigint(20) NOT NULL COMMENT '菜单ID',
- PRIMARY KEY (`role_id`, `menu_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='角色和菜单关联表';
- CREATE TABLE IF NOT EXISTS `sys_role_dept`
- (
- `role_id` bigint(20) NOT NULL COMMENT '角色ID',
- `dept_id` bigint(20) NOT NULL COMMENT '部门ID',
- PRIMARY KEY (`role_id`, `dept_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='角色和部门关联表';
- CREATE TABLE IF NOT EXISTS `sys_option`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `category` varchar(50) NOT NULL COMMENT '类别',
- `name` varchar(50) NOT NULL COMMENT '名称',
- `code` varchar(100) NOT NULL COMMENT '键',
- `value` longtext DEFAULT NULL COMMENT '值',
- `default_value` longtext DEFAULT NULL COMMENT '默认值',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_category_code` (`category`, `code`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='参数表';
- CREATE TABLE IF NOT EXISTS `sys_dict`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(30) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `is_system` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为系统内置数据',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_name` (`name`),
- UNIQUE INDEX `uk_code` (`code`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='字典表';
- CREATE TABLE IF NOT EXISTS `sys_dict_item`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `label` varchar(30) NOT NULL COMMENT '标签',
- `value` varchar(30) NOT NULL COMMENT '值',
- `color` varchar(30) DEFAULT NULL COMMENT '标签颜色',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `dict_id` bigint(20) NOT NULL COMMENT '字典ID',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_value_dict_id` (`value`, `dict_id`),
- INDEX `idx_dict_id` (`dict_id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='字典项表';
- CREATE TABLE IF NOT EXISTS `sys_log`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `trace_id` varchar(255) DEFAULT NULL COMMENT '链路ID',
- `description` varchar(255) NOT NULL COMMENT '日志描述',
- `module` varchar(100) NOT NULL COMMENT '所属模块',
- `request_url` varchar(512) NOT NULL COMMENT '请求URL',
- `request_method` varchar(10) NOT NULL COMMENT '请求方式',
- `request_headers` text DEFAULT NULL COMMENT '请求头',
- `request_body` text DEFAULT NULL COMMENT '请求体',
- `status_code` int NOT NULL COMMENT '状态码',
- `response_headers` text DEFAULT NULL COMMENT '响应头',
- `response_body` mediumtext DEFAULT NULL COMMENT '响应体',
- `time_taken` bigint(20) NOT NULL COMMENT '耗时(ms)',
- `ip` varchar(100) DEFAULT NULL COMMENT 'IP',
- `address` varchar(255) DEFAULT NULL COMMENT 'IP归属地',
- `browser` varchar(100) DEFAULT NULL COMMENT '浏览器',
- `os` varchar(100) DEFAULT NULL COMMENT '操作系统',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:成功;2:失败)',
- `error_msg` text DEFAULT NULL COMMENT '错误信息',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_module` (`module`),
- INDEX `idx_ip` (`ip`),
- INDEX `idx_address` (`address`),
- INDEX `idx_create_time` (`create_time`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='系统日志表';
- CREATE TABLE IF NOT EXISTS `sys_message`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(50) NOT NULL COMMENT '标题',
- `content` varchar(255) DEFAULT NULL COMMENT '内容',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:系统消息)',
- `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='消息表';
- CREATE TABLE IF NOT EXISTS `sys_message_user`
- (
- `message_id` bigint(20) NOT NULL COMMENT '消息ID',
- `user_id` bigint(11) NOT NULL COMMENT '用户ID',
- `is_read` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已读',
- `read_time` datetime DEFAULT NULL COMMENT '读取时间',
- PRIMARY KEY (`message_id`, `user_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='消息和用户关联表';
- CREATE TABLE IF NOT EXISTS `sys_notice`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `title` varchar(150) NOT NULL COMMENT '标题',
- `content` mediumtext NOT NULL COMMENT '内容',
- `type` varchar(30) NOT NULL COMMENT '类型',
- `effective_time` datetime DEFAULT NULL COMMENT '生效时间',
- `terminate_time` datetime DEFAULT NULL COMMENT '终止时间',
- `notice_scope` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '通知范围(1:所有人;2:指定用户)',
- `notice_users` json DEFAULT NULL COMMENT '通知用户',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='公告表';
- CREATE TABLE IF NOT EXISTS `sys_storage`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(100) NOT NULL COMMENT '名称',
- `code` varchar(30) NOT NULL COMMENT '编码',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(1:本地存储;2:对象存储)',
- `access_key` varchar(255) DEFAULT NULL COMMENT 'Access Key',
- `secret_key` varchar(255) DEFAULT NULL COMMENT 'Secret Key',
- `endpoint` varchar(255) DEFAULT NULL COMMENT 'Endpoint',
- `bucket_name` varchar(255) NOT NULL COMMENT 'Bucket',
- `domain` varchar(255) DEFAULT NULL COMMENT '域名',
- `description` varchar(200) DEFAULT NULL COMMENT '描述',
- `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认存储',
- `sort` int NOT NULL DEFAULT 999 COMMENT '排序',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_code` (`code`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='存储表';
- CREATE TABLE IF NOT EXISTS `sys_file`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(255) NOT NULL COMMENT '名称',
- `original_name` varchar(255) NOT NULL COMMENT '原始名称',
- `size` bigint(20) DEFAULT NULL COMMENT '大小(字节)',
- `parent_path` varchar(512) NOT NULL DEFAULT '/' COMMENT '上级目录',
- `path` varchar(512) NOT NULL COMMENT '路径',
- `extension` varchar(32) DEFAULT NULL COMMENT '扩展名',
- `content_type` varchar(255) DEFAULT NULL COMMENT '内容类型',
- `type` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '类型(0: 目录;1:其他;2:图片;3:文档;4:视频;5:音频)',
- `sha256` varchar(256) DEFAULT NULL COMMENT 'SHA256值',
- `metadata` text DEFAULT NULL COMMENT '元数据',
- `thumbnail_name` varchar(255) DEFAULT NULL COMMENT '缩略图名称',
- `thumbnail_size` bigint(20) DEFAULT NULL COMMENT '缩略图大小(字节)',
- `thumbnail_metadata` text DEFAULT NULL COMMENT '缩略图元数据',
- `storage_id` bigint(20) NOT NULL COMMENT '存储ID',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- INDEX `idx_type` (`type`),
- INDEX `idx_sha256` (`sha256`),
- INDEX `idx_storage_id` (`storage_id`),
- INDEX `idx_create_user` (`create_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='文件表';
- CREATE TABLE IF NOT EXISTS `sys_client`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `client_id` varchar(50) NOT NULL COMMENT '客户端ID',
- `client_type` varchar(50) NOT NULL COMMENT '客户端类型',
- `auth_type` json NOT NULL COMMENT '认证类型',
- `active_timeout` bigint(20) DEFAULT -1 COMMENT 'Token最低活跃频率(单位:秒,-1:不限制,永不冻结)',
- `timeout` bigint(20) DEFAULT 2592000 COMMENT 'Token有效期(单位:秒,-1:永不过期)',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE INDEX `uk_client_id` (`client_id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='客户端表';
- CREATE TABLE IF NOT EXISTS `sys_sms_config`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `name` varchar(100) NOT NULL COMMENT '名称',
- `supplier` varchar(50) NOT NULL COMMENT '厂商',
- `access_key` varchar(255) NOT NULL COMMENT 'Access Key',
- `secret_key` varchar(255) NOT NULL COMMENT 'Secret Key',
- `signature` varchar(100) DEFAULT NULL COMMENT '短信签名',
- `template_id` varchar(50) DEFAULT NULL COMMENT '模板ID',
- `weight` int DEFAULT NULL COMMENT '负载均衡权重',
- `retry_interval` int DEFAULT NULL COMMENT '重试间隔(单位:秒)',
- `max_retries` int DEFAULT NULL COMMENT '重试次数',
- `maximum` int DEFAULT NULL COMMENT '发送上限',
- `supplier_config` text DEFAULT NULL COMMENT '各个厂商独立配置',
- `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否为默认配置',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- `update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
- `update_time` datetime DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- INDEX `idx_create_user` (`create_user`),
- INDEX `idx_update_user` (`update_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='短信配置表';
- CREATE TABLE IF NOT EXISTS `sys_sms_log`
- (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
- `config_id` bigint(20) NOT NULL COMMENT '配置ID',
- `phone` varchar(25) NOT NULL COMMENT '手机号',
- `params` text DEFAULT NULL COMMENT '参数配置',
- `status` tinyint(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '发送状态(1:成功;2:失败)',
- `res_msg` text DEFAULT NULL COMMENT '返回数据',
- `create_user` bigint(20) NOT NULL COMMENT '创建人',
- `create_time` datetime NOT NULL COMMENT '创建时间',
- PRIMARY KEY (`id`),
- INDEX `idx_config_id` (`config_id`),
- INDEX `idx_create_user` (`create_user`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='短信日志表';
- -- -------------------------------------------------------------------------------------------------------------
- -- ------------------------------
- -- Table structure for aigc_model
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_model`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `type` VARCHAR(100) NOT NULL COMMENT '模型类型:Chat/Embedding/Image/Video/Audio',
- `model` VARCHAR(100) NOT NULL COMMENT '官方模型名称',
- `version` VARCHAR(50) DEFAULT NULL COMMENT '模型版本号',
- `provider` VARCHAR(100) NOT NULL COMMENT '服务商',
- `name` VARCHAR(100) NOT NULL COMMENT '自定义模型别名',
- `description` VARCHAR(500) DEFAULT NULL COMMENT '模型描述',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用',
- `response_limit` INT DEFAULT 4096 COMMENT '最大响应长度',
- `max_tokens` INT DEFAULT 4096 COMMENT '上下文最大token数',
- `temperature` DOUBLE DEFAULT 0.7 COMMENT '随机性控制',
- `top_p` DOUBLE DEFAULT 1.0 COMMENT '核心采样概率',
- -- 服务商特定参数
- `azure_deployment_name` varchar(100) DEFAULT NULL COMMENT 'Azure部署名称',
- `gemini_project` varchar(100) DEFAULT NULL COMMENT 'Google Cloud项目ID',
- `gemini_location` varchar(100) DEFAULT NULL COMMENT 'Google Cloud服务区域',
- -- 图片生成参数
- `image_size` varchar(50) DEFAULT '1024x1024' COMMENT '图片尺寸(支持1024x1024/1792x1024等)',
- `image_quality` varchar(50) DEFAULT 'standard' COMMENT '图片质量:standard/hd',
- `image_style` varchar(50) DEFAULT 'vivid' COMMENT '图片风格:vivid/natural',
- `timeout` INT DEFAULT 30 COMMENT 'API超时时间(秒)',
- `retry_strategy` VARCHAR(50) DEFAULT 'linear' COMMENT '重试策略',
- `rate_limit` INT DEFAULT 1000 COMMENT '每分钟最大请求数',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_model_provider` (`model`, `provider`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC模型配置表';
- -- ------------------------------
- -- Table structure for aigc_model_secret
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_model_secret`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联模型ID',
- `api_key` VARCHAR(255) DEFAULT NULL COMMENT 'API密钥',
- `secret_key` VARCHAR(255) DEFAULT NULL COMMENT '密钥',
- `base_url` VARCHAR(255) DEFAULT NULL COMMENT '基础URL',
- `api_version` VARCHAR(50) DEFAULT NULL COMMENT 'API版本',
- `dimension` INT COMMENT '向量维数',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_model_id` (`model_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='模型安全配置表';
- -- ------------------------------
- -- Table structure for aigc_knowledge
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_knowledge`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `name` VARCHAR(100) NOT NULL COMMENT '知识库名称(唯一)',
- `type` VARCHAR(50) DEFAULT 'document' COMMENT '类型:document/image/audio/video/multi',
- `file_type` VARCHAR(100) DEFAULT '*' COMMENT '允许的文件类型',
- `embed_config` JSON NOT NULL COMMENT '向量配置 {
- "store_type":"milvus",
- "collection":"default",
- "index_type":"HNSW",
- "dimension":768,
- "metadata_schema":{
- "author":"string",
- "publish_date":"date"
- }
- }',
- `embed_model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联向量模型ID',
- `embed_store_id` BIGINT UNSIGNED NOT NULL COMMENT '关联向量存储ID',
- `chunk_strategy` VARCHAR(50) DEFAULT 'fixed' COMMENT '切片策略:fixed/semantic/hybrid',
- `chunk_size` INT DEFAULT 500 COMMENT '切片大小',
- `chunk_overlap` INT DEFAULT 50 COMMENT '切片重叠大小',
- `last_sync_time` DATETIME DEFAULT NULL COMMENT '最后向量化同步时间',
- `storage_size` BIGINT DEFAULT 0 COMMENT '知识库大小(字节)',
- `file_count` INT DEFAULT 0 COMMENT '包含文件数',
- `storage_config` JSON DEFAULT NULL COMMENT '存储参数 {
- "bucket":"aigc-kb",
- "region":"ap-northeast-1",
- "prefix":"/knowledge/"
- }',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用 2同步中',
- `hit_count` BIGINT DEFAULT 0 COMMENT '被检索次数',
- `avg_relevance` DECIMAL(5, 2) DEFAULT 0.00 COMMENT '平均检索相关度',
- `know_describe` VARCHAR(500) NOT NULL COMMENT '文档描述',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_kb_name` (`name`),
- KEY `idx_embed_model` (`embed_model_id`),
- KEY `idx_embed_store` (`embed_store_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC知识库表';
- -- ------------------------------
- -- Table structure for aigc_doc
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_doc`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '所属知识库ID',
- `name` VARCHAR(255) NOT NULL COMMENT '文档名称',
- `file_type` VARCHAR(20) NOT NULL COMMENT '文件类型',
- `mime_type` VARCHAR(100) DEFAULT NULL COMMENT 'MIME类型',
- `file_encoding` VARCHAR(50) DEFAULT 'UTF-8' COMMENT '文件编码',
- `file_hash` CHAR(64) COMMENT '文件哈希',
- `file_size` BIGINT DEFAULT 0 COMMENT '文件大小',
- `storage_path` VARCHAR(512) NOT NULL COMMENT '存储路径',
- `storage_region` VARCHAR(50) DEFAULT 'default' COMMENT '存储区域',
- `parsed_content` LONGTEXT DEFAULT NULL COMMENT '解析后文本',
- `original_content` longblob DEFAULT NULL COMMENT '原始文件内容',
- `metadata` JSON DEFAULT NULL COMMENT '元数据 {
- "author": "张三",
- "pages": 42,
- "language": "zh",
- "created_time": "2023-01-01"
- }',
- `processing_status` VARCHAR(20) DEFAULT 'uploaded' COMMENT '处理状态:uploaded/parsing/parsed/failed',
- `chunk_config` JSON DEFAULT NULL COMMENT '切片配置 {
- "strategy":"auto",
- "chunk_size":1000,
- "overlap":50
- }',
- `chunk_details` JSON DEFAULT NULL COMMENT '切片详情 [
- {"id":1,"content":"...","vectors":32},
- {"id":2,"content":"...","vectors":28}
- ]',
- `vector_status` VARCHAR(20) DEFAULT 'pending' COMMENT '向量化状态:pending/processing/completed/failed',
- `error_log` TEXT DEFAULT NULL COMMENT '错误日志',
- `retry_count` INT DEFAULT 0 COMMENT '重试次数',
- `slice_num` INT DEFAULT 0 COMMENT '重试次数',
- `is_sensitive` TINYINT(1) DEFAULT 0 COMMENT '敏感内容标记',
- `version` INT DEFAULT 1 COMMENT '文档版本',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_file_hash` (`file_hash`),
- KEY `idx_knowledge_status` (`knowledge_id`, `processing_status`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能文档表';
- -- ------------------------------
- -- Table structure for aigc_doc_chunk
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_doc_chunk`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `embed_store_id` VARCHAR(100) COMMENT '向量库的ID',
- `name` VARCHAR(255) COMMENT '文档名称',
- `doc_id` BIGINT COMMENT '文档ID',
- `knowledge_id` BIGINT COMMENT '知识库ID',
- `chunk_index` INT COMMENT '切片索引',
- `content` TEXT COMMENT '切片内容',
- `word_num` INT DEFAULT NULL COMMENT '字符数',
- `metadata` JSON DEFAULT NULL COMMENT '元数据',
- `embedding` JSON DEFAULT NULL COMMENT '向量数据(可选存储)',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0无效 1有效',
- `relevance_score` DECIMAL(5, 4) DEFAULT NULL COMMENT '相关性分数',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- `vector` json DEFAULT NULL COMMENT '向量嵌入(float数组)',
- PRIMARY KEY (`id`),
- KEY `idx_embed_store_id` (`embed_store_id`),
- KEY `idx_doc_id` (`doc_id`),
- KEY `idx_knowledge_id` (`knowledge_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='文档切片表';
- -- ------------------------------
- -- Table structure for aigc_embed_store
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_embed_store`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `name` VARCHAR(100) NOT NULL COMMENT '存储配置名称(唯一)',
- `provider` VARCHAR(50) NOT NULL COMMENT '供应商:milvus/pinecone/qdrant/pgvector/faiss',
- `endpoints` JSON NOT NULL COMMENT '连接端点 {"host":"192.168.1.10","port":19530}',
- `auth_config` JSON NOT NULL COMMENT '认证配置 {
- "username":"admin",
- "password":"****"
- }',
- `database_config` JSON NOT NULL COMMENT '数据库配置 {
- "database":"admin",
- "table":"****"
- }',
- `vector_config` JSON NOT NULL COMMENT '向量配置 {
- "dimension":768,
- "metric_type":"L2",
- "index_type":"HNSW",
- "max_conn":16
- }',
- `pool_config` JSON DEFAULT NULL COMMENT '连接池配置 {
- "max_conn":50,
- "timeout":5000,
- "retry_policy":"exponential"
- }',
- `proxy_config` JSON DEFAULT NULL COMMENT '代理配置 {
- "proxy_host":"gateway.example.com",
- "proxy_port":443,
- "proxy_type":"https"
- }',
- `last_health` DATETIME DEFAULT NULL COMMENT '最后健康检查时间',
- `health_status` TINYINT(1) DEFAULT 0 COMMENT '健康状态:0异常 1正常',
- `vector_count` BIGINT DEFAULT 0 COMMENT '向量数量',
- `storage_usage` BIGINT DEFAULT 0 COMMENT '存储使用量(字节)',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_store_name` (`name`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='向量存储配置表';
- -- ------------------------------
- -- Table structure for aigc_app
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_app`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `model_id` BIGINT UNSIGNED NOT NULL COMMENT '绑定模型ID',
- `version` VARCHAR(20) DEFAULT '1.0.0' COMMENT '语义化版本号',
- `cover` VARCHAR(512) DEFAULT NULL COMMENT '封面图URL',
- `name` VARCHAR(100) NOT NULL COMMENT '应用名称(唯一)',
- `category` VARCHAR(50) DEFAULT '通用' COMMENT '应用分类',
- `tags` VARCHAR(200) DEFAULT NULL COMMENT '标签',
- `prompt` TEXT NOT NULL COMMENT '系统级提示词',
- `negative_prompt` TEXT DEFAULT NULL COMMENT '负面提示词',
- `context_window` INT DEFAULT 5 COMMENT '上下文记忆轮次',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0下架 1发布 2审核中',
- `config` JSON DEFAULT NULL COMMENT '动态配置',
- `retention_days` INT DEFAULT 30 COMMENT '聊天记录保留天数',
- `invoke_count` BIGINT DEFAULT 0 COMMENT '调用次数统计',
- `avg_rating` DECIMAL(3, 2) DEFAULT 0.00 COMMENT '平均评分',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_app_name` (`name`),
- KEY `idx_category_status` (`category`, `status`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='AIGC应用配置表';
- -- ------------------------------
- -- Table structure for aigc_app_knowledge
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_app_knowledge`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `app_id` BIGINT UNSIGNED NOT NULL COMMENT '应用ID',
- `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '知识库ID',
- `retrieval_config` JSON DEFAULT NULL COMMENT '检索配置',
- `top_k` INT DEFAULT 3 COMMENT '检索返回数量',
- `score_threshold` DECIMAL(5, 4) DEFAULT 0.7 COMMENT '相似度阈值',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_app_knowledge` (`app_id`, `knowledge_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='应用和知识库关联表';
- -- ------------------------------
- -- Table structure for aigc_app_api
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_app_api`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `app_id` BIGINT UNSIGNED NOT NULL COMMENT '关联应用ID',
- `channel` VARCHAR(50) NOT NULL COMMENT '渠道类型:web/mobile/api/sdk',
- `api_key` VARCHAR(255) NOT NULL COMMENT 'API密钥',
- `secret_key` VARCHAR(255) DEFAULT NULL COMMENT 'API密钥(双密钥)',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0停用 1启用 2限流',
- `expire_time` DATETIME DEFAULT NULL COMMENT '过期时间',
- `ip_whitelist` VARCHAR(1000) DEFAULT '0.0.0.0' COMMENT 'IP白名单',
- `rate_limit` INT DEFAULT 1000 COMMENT '每分钟最大请求数',
- `scopes` VARCHAR(500) DEFAULT 'all' COMMENT '权限范围',
- `model_whitelist` VARCHAR(500) DEFAULT NULL COMMENT '允许访问的模型ID列表',
- `total_calls` BIGINT DEFAULT 0 COMMENT '总调用次数',
- `last_used_time` DATETIME DEFAULT NULL COMMENT '最后调用时间',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='应用API密钥表';
- -- ------------------------------
- -- Table structure for aigc_conversation
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_conversation`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `user_id` BIGINT COMMENT '所属用户ID',
- `app_id` BIGINT COMMENT '关联应用ID',
- `agent_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '关联智能体ID',
- `model_id` BIGINT COMMENT '使用模型ID',
- `title` VARCHAR(200) COMMENT '对话标题',
- `summary` VARCHAR(500) DEFAULT NULL COMMENT '对话摘要',
- `initial_prompt` TEXT DEFAULT NULL COMMENT '对话初始提示词快照',
- `message_count` INT DEFAULT 0 COMMENT '消息总数',
- `last_message_id` BIGINT DEFAULT NULL COMMENT '最后消息ID',
- `last_active` DATETIME COMMENT '最后活动时间',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0关闭 1进行中 2置顶',
- `create_user` BIGINT COMMENT '创建人',
- `create_time` DATETIME COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- KEY `idx_user_id` (`user_id`),
- KEY `idx_app_id` (`app_id`),
- KEY `idx_agent_id` (`agent_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能对话会话表';
- -- ------------------------------
- -- Table structure for aigc_message
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_message`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `conversation_id` BIGINT UNSIGNED NOT NULL COMMENT '所属会话ID',
- `parent_id` BIGINT DEFAULT NULL COMMENT '父消息ID',
- `user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
- `user_type` TINYINT(1) DEFAULT 1 COMMENT '用户类型:1普通用户 2API账号',
- `user_agent` VARCHAR(500) DEFAULT NULL COMMENT '客户端UA信息',
- `client_ip` VARCHAR(128) DEFAULT '0.0.0.0' COMMENT '客户端IP',
- `role` ENUM ('user','assistant','system','tool','function') NOT NULL COMMENT '消息角色',
- `content` LONGTEXT NOT NULL COMMENT '消息内容',
- `content_type` VARCHAR(50) DEFAULT 'text' COMMENT '内容类型:text/image/audio/video/file',
- `content_metadata` JSON DEFAULT NULL COMMENT '元数据',
- `model_id` BIGINT UNSIGNED NOT NULL COMMENT '调用模型ID',
- `model_version` VARCHAR(50) DEFAULT NULL COMMENT '模型版本快照',
- `usage_token` json COMMENT 'token消耗 {"prompt_tokens":20,"completion_tokens":50,"total_tokens":70}',
- `status` TINYINT(1) DEFAULT 1 COMMENT '状态:0删除 1正常 2标记',
- `error_info` TEXT DEFAULT NULL COMMENT '错误信息',
- `is_sensitive` TINYINT(1) DEFAULT 0 COMMENT '敏感内容标记',
- `retrieval_results` JSON DEFAULT NULL COMMENT '知识库检索结果',
- `tool_calls` JSON DEFAULT NULL COMMENT '工具调用记录',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- KEY `idx_conversation_id` (`conversation_id`),
- KEY `idx_parent_id` (`parent_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能对话消息表';
- -- ------------------------------
- -- Table structure for aigc_message_feedback
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_message_feedback`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `message_id` BIGINT UNSIGNED NOT NULL COMMENT '消息ID',
- `conversation_id` BIGINT UNSIGNED NOT NULL COMMENT '会话ID',
- `user_id` BIGINT UNSIGNED NOT NULL COMMENT '用户ID',
- `rating` TINYINT(1) DEFAULT NULL COMMENT '评分:1-5',
- `feedback_type` VARCHAR(20) DEFAULT NULL COMMENT '反馈类型:helpful/not_helpful/harmful/inaccurate',
- `feedback_content` VARCHAR(500) DEFAULT NULL COMMENT '反馈内容',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_message_user` (`message_id`, `user_id`),
- KEY `idx_message_id` (`message_id`),
- KEY `idx_conversation_id` (`conversation_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='消息反馈表';
- -- ------------------------------
- -- Table structure for aigc_agent
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_agent`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `name` VARCHAR(50) NOT NULL COMMENT '智能体名称',
- `code` VARCHAR(50) NOT NULL COMMENT '智能体唯一标识码',
- `agent_type` VARCHAR(50) NOT NULL COMMENT '智能体类型:assistant/task/workflow',
- `description` VARCHAR(500) NOT NULL COMMENT '智能体描述',
- `system_prompt` TEXT NOT NULL COMMENT '智能体提示词',
- `next_step_prompt` TEXT DEFAULT NULL COMMENT '智能体执行下一步任务的提示词',
- `model_id` BIGINT UNSIGNED NOT NULL COMMENT '关联模型ID',
- `icon` VARCHAR(255) DEFAULT NULL COMMENT '图标URL',
- `config` JSON DEFAULT NULL COMMENT '配置参数',
- `max_steps` INT DEFAULT 10 COMMENT '最大步骤数',
- `timeout` INT DEFAULT 60 COMMENT '执行超时时间(秒)',
- `runtime_status` VARCHAR(50) DEFAULT NULL COMMENT '运行时状态',
- `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `version` VARCHAR(20) DEFAULT '1.0.0' COMMENT '版本号',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_agent_code` (`code`),
- KEY `idx_model_id` (`model_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能体表';
- INSERT INTO aigc_agent (id, name, code, agent_type, description, system_prompt, next_step_prompt, model_id, icon,
- config, max_steps, timeout, runtime_status, status, version, create_user, create_time,
- update_user, update_time)
- VALUES (722203598359887877, 'BROWSER_AGENT', 'BROWSER_AGENT', 'task', '一个可以控制浏览器完成任务的浏览器代理', '你是一个设计用于自动化浏览器任务的AI代理。你的目标是按照规则完成最终任务。
- # 输入格式
- [index]<type>文本</type>
- - index:交互的数字标识符
- - type:HTML元素类型(按钮、输入框等)
- - 文本:元素描述
- 示例:
- [33]<button>提交表单</button>
- - 只有带有[]中数字索引的元素可交互
- - 不带[]的元素仅提供上下文
- # 响应规则
- 1. 操作:你一次只可以做一个tool call 操作
- 2. 元素交互:
- - 只使用有索引的元素
- - 如用户要求点击某元素,但当期可交互元素中没有,则先查找对应的元素的对应像素位置,然后用click点击该元素
- 3. 导航和错误处理:
- - 遇到困难时尝试替代方法
- - 处理弹窗和cookie提示
- - 处理验证码或寻找替代方案
- - 等待页面加载
- 4. 任务完成:
- - 如果完成则使用terminate工具
- 5. 视觉上下文:
- - 使用提供的截图
- - 引用元素索引
- 6. 表单填写:
- - 处理动态字段变化', '为实现我的目标,下一步应该做什么?
- 重点:
- 1. 使用\'get_text\'操作获取页面内容,而不是滚动
- 2. 不用担心内容可见性或视口位置
- 3. 专注于基于文本的信息提取
- 4. 直接处理获取的文本数据
- 5. 重要:你必须在回复中使用至少一个工具才能取得进展!
- 考虑可见的内容和当前视口之外可能存在的内容。
- 有条理地行动 - 记住你的进度和迄今为止学到的知识。', 722203598359887866, null, null, 20, 60, null, 1, '1.0.0', 1,
- '2025-06-09 11:10:23', null, null);
- -- ------------------------------
- -- Table structure for aigc_tool
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_tool`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `tool_key` VARCHAR(50) NOT NULL COMMENT '工具唯一标识',
- `name` VARCHAR(50) NOT NULL COMMENT '工具名称',
- `tool_group` VARCHAR(50) NOT NULL COMMENT '工具组:system/web/data/file/custom',
- `description` VARCHAR(500) NOT NULL COMMENT '工具描述',
- `parameters` JSON NOT NULL COMMENT '工具参数',
- `is_return_direct` TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否直接返回结果',
- `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态(1:启用;2:禁用)',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uniq_tool_key` (`tool_key`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='工具表';
- INSERT INTO aigc_tool (id, `tool_key`, name, tool_group, description, parameters, is_return_direct, status, create_user,
- create_time, update_user, update_time)
- VALUES (722203598359887888, 'BROWSER_USE', 'BROWSER_USE', 'default-tool-group', '与网页浏览器交互,执行各种操作,如导航、元素交互、内容提取和标签页管理。搜索类优先考虑此工具。
- 支持的操作包括:
- - \'navigate\':访问特定URL,默认使用https://baidu.com
- - \'click\':按索引点击元素
- - \'input_text\':在元素中输入文本,对于百度(Baidu),输入框的索引是
- - \'key_enter\':按回车键
- - \'screenshot\':捕获屏幕截图
- - \'get_html\':获取页面HTML内容
- - \'get_text\':获取页面文本内容
- - \'execute_js\':执行JavaScript代码
- - \'scroll\':滚动页面
- - \'switch_tab\':切换到特定标签页
- - \'new_tab\':打开新标签页
- - \'close_tab\':关闭当前标签页
- - \'refresh\':刷新当前页面', '{
- "type": "object",
- "required": [
- "action"
- ],
- "properties": {
- "url": {
- "type": "string",
- "description": "URL for \'navigate\' or \'new_tab\' actions"
- },
- "text": {
- "type": "string",
- "description": "Text for \'input_text\' action"
- },
- "index": {
- "type": "integer",
- "description": "Element index for \'click\' or \'input_text\' actions"
- },
- "action": {
- "enum": [
- "navigate",
- "click",
- "input_text",
- "key_enter",
- "screenshot",
- "get_html",
- "get_text",
- "execute_js",
- "scroll",
- "switch_tab",
- "new_tab",
- "close_tab",
- "refresh"
- ],
- "type": "string",
- "description": "The browser action to perform"
- },
- "script": {
- "type": "string",
- "description": "JavaScript code for \'execute_js\' action"
- },
- "tab_id": {
- "type": "integer",
- "description": "Tab ID for \'switch_tab\' action"
- },
- "scroll_amount": {
- "type": "integer",
- "description": "Pixels to scroll (positive for down, negative for up) for \'scroll\' action"
- }
- },
- "dependencies": {
- "click": [
- "index"
- ],
- "scroll": [
- "scroll_amount"
- ],
- "new_tab": [
- "url"
- ],
- "navigate": [
- "url"
- ],
- "key_enter": [
- "index"
- ],
- "execute_js": [
- "script"
- ],
- "input_text": [
- "index",
- "text"
- ],
- "switch_tab": [
- "tab_id"
- ]
- }
- }', 0, 1, 1, '2025-06-09 11:01:58', null, null);
- -- ------------------------------
- -- Table structure for aigc_tool
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_agent_tool`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `agent_id` BIGINT UNSIGNED NOT NULL COMMENT '智能体ID',
- `tool_id` BIGINT UNSIGNED NOT NULL COMMENT '工具ID',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_agent_id_tool_id` (`agent_id`, `tool_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能体和工具关联表';
- INSERT INTO aigc_agent_tool (id, agent_id, tool_id)
- VALUES (722203598359887899, 722203598359887877, 722203598359887888);
- -- ------------------------------
- -- Table structure for aigc_agent_knowledge
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_agent_knowledge`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `agent_id` BIGINT UNSIGNED NOT NULL COMMENT '智能体ID',
- `knowledge_id` BIGINT UNSIGNED NOT NULL COMMENT '知识库ID',
- `retrieval_config` JSON DEFAULT NULL COMMENT '检索配置',
- `top_k` INT DEFAULT 3 COMMENT '检索返回数量',
- `score_threshold` DECIMAL(5, 4) DEFAULT 0.7 COMMENT '相似度阈值',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- UNIQUE KEY `uk_agent_knowledge` (`agent_id`, `knowledge_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能体和知识库关联表';
- -- ------------------------------
- -- Table structure for aigc_agent_plan
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_agent_plan`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `user_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '用户ID',
- `conversation_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '所属会话ID',
- `message_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '对话消息Id',
- `message_content` LONGTEXT NOT NULL COMMENT '对话消息内容',
- `think_input` LONGTEXT DEFAULT NULL COMMENT '规划思考过程内容输入',
- `think_output` LONGTEXT DEFAULT NULL COMMENT '规划思考过程内容输出',
- `title` VARCHAR(500) DEFAULT NULL COMMENT '计划主题,大模型根据用户消息生成',
- `start_time` DATETIME DEFAULT NULL COMMENT '规划开始时间',
- `end_time` DATETIME DEFAULT NULL COMMENT '规划结束时间',
- `duration` LONG DEFAULT NULL COMMENT '怪话时长(秒)',
- `current_plan_step_id` BIGINT UNSIGNED DEFAULT NULL COMMENT '当前执行的步骤编号',
- `completed` TINYINT(1) DEFAULT 0 COMMENT '计划是否完成:0未完成 1已完成',
- `summary` TEXT DEFAULT NULL COMMENT '规划总结',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- KEY `idx_message_id` (`message_id`),
- KEY `idx_conversation_id` (`conversation_id`),
- KEY `idx_user_id` (`user_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能体规划记录表';
- -- ------------------------------
- -- Table structure for aigc_agent_plan_step
- -- ------------------------------
- CREATE TABLE IF NOT EXISTS `aigc_agent_plan_step`
- (
- `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键',
- `plan_id` BIGINT UNSIGNED NOT NULL COMMENT '计划ID',
- `description` VARCHAR(500) DEFAULT NULL COMMENT '计划描述:[BROWSER_AGENT] 打开百度主页',
- `step_index` INT DEFAULT NULL COMMENT '步骤序号',
- `agent_code` VARCHAR(50) DEFAULT NULL COMMENT '本次计划要使用的智能体:[BROWSER_AGENT]',
- `think_start_time` DATETIME DEFAULT NULL COMMENT '智能体思考开始的时间戳',
- `think_end_time` DATETIME DEFAULT NULL COMMENT '智能体思考完成的时间戳',
- `think_input` TEXT DEFAULT NULL COMMENT '智能体思考过程的输入上下文',
- `think_output` TEXT DEFAULT NULL COMMENT '智能体思考过程的输出结果',
- `think_duration` LONG DEFAULT NULL COMMENT '智能体思考时长(秒)',
- `execution_needed` TINYINT(1) DEFAULT 0 COMMENT '智能体思考是否确定需要执行步骤:0否 1是',
- `execution_params` JSON DEFAULT NULL COMMENT '此步骤执行参数',
- `execution_start_time` DATETIME DEFAULT NULL COMMENT '插件执行此步骤开始的时间戳',
- `execution_end_time` DATETIME DEFAULT NULL COMMENT '插件执行此步骤完成的时间戳',
- `execution_duration` LONG DEFAULT NULL COMMENT '插件执行时长(秒)',
- `tool_name` VARCHAR(50) DEFAULT NULL COMMENT '智能体选中的工具名称',
- `tool_parameters` JSON DEFAULT NULL COMMENT '智能体选中的工具执行时需要的参数',
- `result` TEXT DEFAULT NULL COMMENT '步骤执行思考的结果',
- `status` VARCHAR(20) DEFAULT NULL COMMENT '智能体状态:IDLE/RUNNING/FINISHED',
- `completed` TINYINT(1) DEFAULT 0 COMMENT '是否完成:0未完成 1已完成',
- `stucked` TINYINT(1) DEFAULT 0 COMMENT '是否卡主:0未卡住 1已卡住',
- `error_message` TEXT DEFAULT NULL COMMENT '错误信息',
- `create_user` BIGINT NOT NULL COMMENT '创建人',
- `create_time` DATETIME NOT NULL COMMENT '创建时间',
- `update_user` BIGINT DEFAULT NULL COMMENT '修改人',
- `update_time` DATETIME DEFAULT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`),
- KEY `idx_plan_id` (`plan_id`)
- ) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4 COMMENT ='智能体规划步骤记录表';
|