Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

5.9 KiB
Raw Permalink Blame History

🗄️ PostgreSQL Schema · 5张核心表建表脚本铸渊 D45


设计哲学

  • brain_nodes = Notion里的页面 → 每个认知节点
  • brain_relations = Notion里的Relation → 节点之间的关联
  • agent_configs = Agent注册表 → 谁在跑、跑什么
  • agent_logs = 运行日志 → 追踪每次执行
  • user_credits = 用户额度 → 商业化基础

与 website-brain/schema/001-init.sql 并存:

  • website-brain 的 pages/databases/modules/persona_state 管网站展示层
  • 本文件的 brain_nodes/brain_relations 管认知数据层

1. 节点表 · brain_nodes

核心表:每条记录 = 一个认知节点(类比 Notion 里的一个页面)

字段 类型 说明
id VARCHAR(64) PK UUID自动生成支持多源创建不冲突
title VARCHAR(500) NOT NULL 节点标题
node_type VARCHAR(50) NOT NULL page / folder / index / route / config / memory / log / instruction
parent_id VARCHAR(64) FK 父节点ON DELETE SET NULL
path VARCHAR(1000) 路径(如 /曜冥纪元/光湖灯塔/...
tags JSONB 标签数组GIN索引加速查询
source VARCHAR(50) NOT NULL notion / github / gpt / manual / agent
source_url VARCHAR(500) 来源URLNotion页面链接/GitHub文件路径
content_url VARCHAR(500) → COS长内容存这里
summary TEXT 短内容/摘要直接存数据库
content_hash VARCHAR(64) 铸渊新增检测内容变化避免无意义COS覆写
version INT DEFAULT 1 铸渊新增:版本追踪,配合归档
owner VARCHAR(50) NOT NULL shuangyan / zhuyuan / qiuqiu / yaoming / system / user
owner_user_id VARCHAR(64) 用户场景下的用户ID
status VARCHAR(20) DEFAULT 'active' active / archived / draft / deleted
created_at TIMESTAMPTZ 创建时间
updated_at TIMESTAMPTZ 更新时间(触发器自动维护)
created_by VARCHAR(50) NOT NULL 创建者

索引: parent_id, owner, node_type, status, path, tags(GIN)


2. 关系表 · brain_relations

节点之间的关联关系(类比 Notion 的 Relation 属性)

字段 类型 说明
id VARCHAR(64) PK UUID自动生成
from_node_id VARCHAR(64) FK NOT NULL 起始节点ON DELETE CASCADE
to_node_id VARCHAR(64) FK NOT NULL 目标节点ON DELETE CASCADE
relation_type VARCHAR(50) NOT NULL parent_child / reference / dependency / version / alias
description VARCHAR(500) 关系描述
weight SMALLINT DEFAULT 50 铸渊新增0-100权重核心引用>偶然提及
created_at TIMESTAMPTZ 创建时间
created_by VARCHAR(50) NOT NULL 创建者

唯一约束: (from_node_id, to_node_id, relation_type) 防止重复关系


3. Agent配置表 · agent_configs

字段 类型 说明
agent_id VARCHAR(50) PK Agent唯一ID如SY-SCAN
name VARCHAR(200) NOT NULL Agent名称
description TEXT 功能描述
owner VARCHAR(50) DEFAULT 'system' 铸渊新增notion / github / system
script_path VARCHAR(500) 脚本路径如agents/sy-scan.js
cron_schedule VARCHAR(100) cron表达式交互级Agent为NULL
enabled BOOLEAN DEFAULT true 是否启用
allowed_tools JSONB 允许调用的MCP工具列表
model_config JSONB 模型配置primary/fallback/temperature
last_run_at TIMESTAMPTZ 上次运行时间
last_run_status VARCHAR(20) success / error / skipped / running

4. 运行日志表 · agent_logs

字段 类型 说明
id BIGSERIAL PK 自增ID日志量大用BIGSERIAL
agent_id VARCHAR(50) FK NOT NULL 关联AgentON DELETE CASCADE
run_at TIMESTAMPTZ 运行时间
status VARCHAR(20) NOT NULL success / error / warning / skipped
message TEXT 日志消息
details JSONB 详细信息
duration_ms INT 执行耗时(毫秒)

5. 用户额度表 · user_credits

字段 类型 说明
user_id VARCHAR(64) PK 用户唯一标识
total_charged DECIMAL(10,2) 用户充值总额
actual_credit DECIMAL(10,2) 扣完手续费后的实际额度
consumed DECIMAL(10,2) 已消耗额度
remaining DECIMAL(10,2) 剩余额度
preferred_model VARCHAR(50) 偏好模型

自动化机制

updated_at 触发器

三张表brain_nodes, agent_configs, user_credits都配置了 update_updated_at() 触发器UPDATE时自动刷新 updated_at 字段。

初始Agent数据

建表脚本用 INSERT ... ON CONFLICT DO NOTHING 幂等插入9个Agent配置

系统级7×24

  • SY-SCANowner:notion, 每6h, 纯逻辑不调模型)
  • SY-CLASSIFYowner:notion, 每2h, 规则优先+DeepSeek兜底
  • SY-SYNC-N2Bowner:notion, 每4h, 纯逻辑同步)
  • SY-SYNC-B2Nowner:notion, 每天3:00, 默认关闭)
  • SY-ARCHIVEowner:notion, 每周日4:00, 纯逻辑归档)
  • SY-TESTowner:system, 每30min, 连通性检查)

交互级:

  • SY-11owner:system, 规则优先+DeepSeek兜底, temperature:0.1
  • SY-12owner:system, 纯JS逻辑
  • SY-BRAIN-RWowner:system, 全部16个工具权限, 动态调用模型)