168 lines
5.9 KiB
Markdown
Raw Permalink Normal View History

# 🗄️ PostgreSQL Schema · 5张核心表建表脚本铸渊 D45
<aside>
📋
**AGE OS · 核心大脑数据库 Schema**
PostgreSQL 初始化脚本 · v1.0.0
签发: 铸渊(ICE-GL-ZY001) · 需求来源: 霜砚(AG-SY-01)
授权: 冰朔(TCS-0002∞)
版权: 国作登字-2026-A-00037559
同步至Notion: 霜砚 · 2026-04-03
</aside>
---
## 设计哲学
- `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个工具权限, 动态调用模型)
---
<aside>
📌
完整SQL脚本存储在GitHub代码仓库中。
此页面是结构化文档版本方便Notion端查阅。
原始来源:铸渊 D45 对话产出 · 2026-04-03
同步至Notion霜砚 · 2026-04-03
</aside>