吸收数字员工长期记忆闭环

This commit is contained in:
baiyanyun
2026-06-09 13:49:11 +08:00
parent ef8252e2dd
commit ddd39396f7
12 changed files with 817 additions and 34 deletions

View File

@@ -182,6 +182,26 @@ const DIGITAL_EMPLOYEE_SCHEMA_SQL = `
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS digital_memories (
id TEXT PRIMARY KEY,
remote_id TEXT,
key TEXT NOT NULL,
content TEXT NOT NULL,
category TEXT NOT NULL DEFAULT 'fact',
source TEXT NOT NULL DEFAULT 'qimingclaw',
source_path TEXT,
session_id TEXT,
score REAL,
status TEXT NOT NULL DEFAULT 'active',
payload TEXT NOT NULL DEFAULT '{}',
sync_status TEXT NOT NULL DEFAULT 'pending',
last_synced_at TEXT,
sync_error TEXT,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL,
deleted_at TEXT
);
CREATE TABLE IF NOT EXISTS digital_sync_outbox (
id TEXT PRIMARY KEY,
entity_type TEXT NOT NULL,
@@ -222,6 +242,9 @@ const DIGITAL_EMPLOYEE_SCHEMA_SQL = `
CREATE INDEX IF NOT EXISTS idx_digital_tasks_plan ON digital_tasks(plan_id);
CREATE INDEX IF NOT EXISTS idx_digital_runs_task ON digital_runs(task_id);
CREATE INDEX IF NOT EXISTS idx_digital_events_plan ON digital_events(plan_id, occurred_at);
CREATE INDEX IF NOT EXISTS idx_digital_memories_key ON digital_memories(key, status, updated_at);
CREATE INDEX IF NOT EXISTS idx_digital_memories_category ON digital_memories(category, status, updated_at);
CREATE INDEX IF NOT EXISTS idx_digital_memories_sync ON digital_memories(sync_status);
CREATE INDEX IF NOT EXISTS idx_digital_sync_outbox_status ON digital_sync_outbox(status, created_at);
CREATE INDEX IF NOT EXISTS idx_digital_sync_attempts_outbox ON digital_sync_attempts(outbox_id, finished_at);
`;