79 lines
2.9 KiB
SQL
79 lines
2.9 KiB
SQL
-- AI自进化引擎 数据库表
|
|
-- Qihu-AIFlow v1.0.0
|
|
|
|
-- 用户进化配置表
|
|
CREATE TABLE IF NOT EXISTS `user_evolution_config` (
|
|
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
|
|
`user_id` VARCHAR(36) NOT NULL UNIQUE,
|
|
`skill_dir_path` VARCHAR(500),
|
|
`trajectory_dir_path` VARCHAR(500),
|
|
`watcher_status` VARCHAR(20) DEFAULT 'stopped',
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX `idx_uec_user_id` (`user_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 用户技能表
|
|
CREATE TABLE IF NOT EXISTS `evolution_skills` (
|
|
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`skill_name` VARCHAR(200) NOT NULL,
|
|
`description` TEXT,
|
|
`tags` JSON,
|
|
`category` VARCHAR(100),
|
|
`state` VARCHAR(20) DEFAULT 'baby',
|
|
`use_count` INT DEFAULT 0,
|
|
`version` INT DEFAULT 1,
|
|
`skill_md_path` VARCHAR(500),
|
|
`git_commit_sha` VARCHAR(40),
|
|
`last_used_at` DATETIME,
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX `idx_es_user_id` (`user_id`),
|
|
INDEX `idx_es_skill_name` (`skill_name`),
|
|
INDEX `idx_es_state` (`state`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 技能进化事件表
|
|
CREATE TABLE IF NOT EXISTS `evolution_events` (
|
|
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`skill_name` VARCHAR(200) NOT NULL,
|
|
`event_type` VARCHAR(50) NOT NULL,
|
|
`description` TEXT,
|
|
`version_before` INT,
|
|
`version_after` INT,
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
INDEX `idx_ee_user_id` (`user_id`),
|
|
INDEX `idx_ee_event_type` (`event_type`),
|
|
INDEX `idx_ee_created_at` (`created_at`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 进化轨迹表
|
|
CREATE TABLE IF NOT EXISTS `evolution_trajectories` (
|
|
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`conversation_id` VARCHAR(36),
|
|
`file_path` VARCHAR(500),
|
|
`status` VARCHAR(20) DEFAULT 'discovered',
|
|
`atom_count` INT DEFAULT 0,
|
|
`token_used` INT DEFAULT 0,
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
`processed_at` DATETIME,
|
|
INDEX `idx_et_user_id` (`user_id`),
|
|
INDEX `idx_et_status` (`status`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 技能-轨迹关联表 (PRD 7.3.1)
|
|
CREATE TABLE IF NOT EXISTS `skill_trajectory_links` (
|
|
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
|
|
`skill_name` VARCHAR(200) NOT NULL,
|
|
`user_id` VARCHAR(36) NOT NULL,
|
|
`trajectory_id` VARCHAR(36),
|
|
`atom_id` VARCHAR(128),
|
|
`weightscore` INT DEFAULT 0,
|
|
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
INDEX `idx_stl_user_skill` (`user_id`, `skill_name`),
|
|
INDEX `idx_stl_trajectory_id` (`trajectory_id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|