# 12. 数据模型 ## 12.1 Agent 表 ```sql CREATE TABLE agents ( id TEXT PRIMARY KEY, name TEXT NOT NULL, type TEXT NOT NULL CHECK(type IN ('master', 'cxo', 'role', 'skill')), parent_id TEXT REFERENCES agents(id), -- 上级 Agent owner_id TEXT NOT NULL, -- 所属用户 status TEXT DEFAULT 'idle' CHECK(status IN ('idle', 'running', 'paused', 'error')), goal_id TEXT REFERENCES goals(id), -- 绑定目标 config TEXT, -- JSON: cron, api, gateway define_path TEXT, -- Agent 定义文件夹路径 created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` ## 12.2 Goal 表 ```sql CREATE TABLE goals ( id TEXT PRIMARY KEY, agent_id TEXT REFERENCES agents(id), description TEXT NOT NULL, metrics TEXT, -- JSON: 可量化指标 target_value REAL, -- 目标值 current_value REAL DEFAULT 0, -- 当前值 status TEXT DEFAULT 'active' CHECK(status IN ('active', 'achieved', 'failed', 'paused')), deadline DATETIME, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` ## 12.3 Loop 运行记录表 ```sql CREATE TABLE loop_runs ( id TEXT PRIMARY KEY, agent_id TEXT REFERENCES agents(id), loop_type TEXT CHECK(loop_type IN ('master', 'cxo', 'role', 'skill')), phase TEXT CHECK(phase IN ('perceive', 'reason', 'execute', 'feedback', 'reflect')), input TEXT, -- JSON: 输入数据 output TEXT, -- JSON: 输出数据 goal_progress REAL, -- 0.0 ~ 1.0 duration_ms INTEGER, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); ``` ## 12.4 Memory 表 ```sql CREATE TABLE memories ( id TEXT PRIMARY KEY, agent_id TEXT REFERENCES agents(id), type TEXT CHECK(type IN ('short', 'long', 'session')), session_id TEXT, content TEXT, -- JSON / Markdown embedding BLOB, -- 向量嵌入(用于语义搜索) importance REAL DEFAULT 0.5, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, expires_at DATETIME -- 短期记忆过期时间 ); ``` ## 12.5 Task 表 ```sql CREATE TABLE tasks ( id TEXT PRIMARY KEY, assigner_id TEXT REFERENCES agents(id), -- 分派者 assignee_id TEXT REFERENCES agents(id), -- 执行者 goal_id TEXT REFERENCES goals(id), pipeline_id TEXT, -- v1.1: 所属 Pipeline depends_on TEXT, -- v1.1: JSON, 前序 task IDs description TEXT NOT NULL, input TEXT, -- JSON: 任务输入 output TEXT, -- JSON: 任务输出 status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'running', 'done', 'failed')), priority TEXT DEFAULT 'normal' CHECK(priority IN ('low', 'normal', 'high', 'urgent')), created_at DATETIME DEFAULT CURRENT_TIMESTAMP, completed_at DATETIME ); ``` > **v1.1 变更**: Task 表新增 `pipeline_id` 和 `depends_on` 字段,支持 Pipeline 流转和前序依赖。