-- 智能体身份隔离与团队协作支持 -- -- 为子代理(delegate_research)和多智能体团队(spawn_teammate) -- 提供 agent 粒度的消息隔离、审计追踪和任务归属。 -- -- 所有 ALTER TABLE 使用 DEFAULT 值,保证向后兼容: -- 现有数据自动标记为 'lead',旧代码无需修改。 -- 1. agent_messages: 消息归属 ALTER TABLE agent_messages ADD COLUMN agent_name TEXT NOT NULL DEFAULT 'lead'; -- 2. agent_audit_log: 审计归属 ALTER TABLE agent_audit_log ADD COLUMN agent_name TEXT NOT NULL DEFAULT 'lead'; -- 3. agent_tasks: 任务分配目标(支持角色路由) ALTER TABLE agent_tasks ADD COLUMN owner TEXT NOT NULL DEFAULT ''; -- 4. 新建: 团队成员注册表 CREATE TABLE IF NOT EXISTS agent_team_members ( id INTEGER PRIMARY KEY AUTOINCREMENT, session_id TEXT NOT NULL, agent_name TEXT NOT NULL, agent_role TEXT NOT NULL, status TEXT NOT NULL DEFAULT 'active' CHECK(status IN ('spawning', 'active', 'idle', 'shutdown')), created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (session_id) REFERENCES agent_sessions(session_id) ON DELETE CASCADE, UNIQUE(session_id, agent_name) ); CREATE INDEX IF NOT EXISTS idx_team_members_session ON agent_team_members(session_id); CREATE INDEX IF NOT EXISTS idx_team_members_status ON agent_team_members(session_id, status); -- 重建 agent_messages 索引(包含 agent_name 过滤加速) CREATE INDEX IF NOT EXISTS idx_agent_messages_agent ON agent_messages(session_id, agent_name);