- 排除 .env / *.bak / 内部运维文档(README_INTERNAL.html) - config.py 默认密码已替换为占位符 CHANGE_ME_* - init_db.sql 移除生产数据库用户 GRANT 段 - README.html 数据库用户名已脱敏 - 保留:源码 + 公网 API 文档 + 建表 SQL(无授权语句)
141 lines
5.2 KiB
SQL
141 lines
5.2 KiB
SQL
-- Memory System Database Initialization
|
|
CREATE DATABASE IF NOT EXISTS memory_system DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE memory_system;
|
|
|
|
-- Teams table
|
|
CREATE TABLE IF NOT EXISTS teams (
|
|
id VARCHAR(64) PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
description TEXT,
|
|
config JSON,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Agents table
|
|
CREATE TABLE IF NOT EXISTS agents (
|
|
id VARCHAR(64) PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
name VARCHAR(255) NOT NULL,
|
|
role VARCHAR(255),
|
|
config JSON,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
INDEX idx_team (team_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Personal long-term memories
|
|
CREATE TABLE IF NOT EXISTS personal_memories (
|
|
id VARCHAR(64) PRIMARY KEY,
|
|
agent_id VARCHAR(64) NOT NULL,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
summary TEXT,
|
|
embedding BLOB,
|
|
importance FLOAT DEFAULT 0.5,
|
|
memory_type VARCHAR(32) DEFAULT 'long_term',
|
|
metadata JSON,
|
|
access_count INT DEFAULT 0,
|
|
last_accessed TIMESTAMP NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
INDEX idx_agent (agent_id),
|
|
INDEX idx_team (team_id),
|
|
INDEX idx_importance (importance),
|
|
INDEX idx_created (created_at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- Team shared memories
|
|
CREATE TABLE IF NOT EXISTS team_memories (
|
|
id VARCHAR(64) PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
summary TEXT,
|
|
embedding BLOB,
|
|
importance FLOAT DEFAULT 0.5,
|
|
category VARCHAR(64) DEFAULT 'general',
|
|
metadata JSON,
|
|
access_count INT DEFAULT 0,
|
|
last_accessed TIMESTAMP NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
INDEX idx_team (team_id),
|
|
INDEX idx_category (category),
|
|
INDEX idx_importance (importance),
|
|
INDEX idx_created (created_at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
FLUSH PRIVILEGES;
|
|
|
|
-- ============================================================
|
|
-- v3.0 新增表 - API Keys 认证
|
|
-- ============================================================
|
|
CREATE TABLE IF NOT EXISTS api_keys (
|
|
id VARCHAR(64) PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
api_key VARCHAR(128) NOT NULL UNIQUE,
|
|
secret VARCHAR(128) NOT NULL,
|
|
name VARCHAR(255) DEFAULT '',
|
|
is_active TINYINT DEFAULT 1,
|
|
last_used TIMESTAMP NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
INDEX idx_team (team_id),
|
|
INDEX idx_api_key (api_key)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- ============================================================
|
|
-- v3.0 新增表 - Pipeline 自动化配置
|
|
-- ============================================================
|
|
CREATE TABLE IF NOT EXISTS pipeline_config (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL UNIQUE,
|
|
compress_every_n INT DEFAULT 0,
|
|
compress_target_count INT DEFAULT 5,
|
|
cleanup_idle_days INT DEFAULT 0,
|
|
cleanup_min_importance FLOAT DEFAULT 0.2,
|
|
enabled TINYINT DEFAULT 1,
|
|
warmup_max_memories INT DEFAULT 0,
|
|
warmup_compress_every_n INT DEFAULT 1,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
INDEX idx_team (team_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- ============================================================
|
|
-- v3.0 新增表 - 场景块(LLM 聚合)
|
|
-- ============================================================
|
|
CREATE TABLE IF NOT EXISTS memory_scenarios (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
agent_id VARCHAR(64) NOT NULL,
|
|
name VARCHAR(255),
|
|
summary TEXT,
|
|
memory_ids JSON,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
INDEX idx_agent (team_id, agent_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
-- ============================================================
|
|
-- v3.0 新增表 - 用户画像(LLM 生成)
|
|
-- ============================================================
|
|
CREATE TABLE IF NOT EXISTS user_personas (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
team_id VARCHAR(64) NOT NULL,
|
|
agent_id VARCHAR(64) NOT NULL,
|
|
preferences JSON,
|
|
habits JSON,
|
|
expertise JSON,
|
|
communication_style TEXT,
|
|
summary TEXT,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (team_id) REFERENCES teams(id) ON DELETE CASCADE,
|
|
FOREIGN KEY (agent_id) REFERENCES agents(id) ON DELETE CASCADE,
|
|
INDEX idx_agent (team_id, agent_id)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|