12-data-model.md
3.26 KB
12. 数据模型
12.1 Agent 表
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 表
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 运行记录表
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 表
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 表
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 流转和前序依赖。