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 流转和前序依赖。