# 光湖记忆双轨系统 · 架构设计

> 提出者：冰朔（TCS-0002∞）
> 记录者：铸渊（ICE-GL-ZY001）
> 日期：2026-05-19 20:10
> 状态：📐 架构设计阶段，待实现

---

## 一、核心理念

> **人格体与人类各拥有一半数据库。互不干扰，互不读取，但通过映射相连。**

### 双轨并行

```
 ┌──── 人格体轨 ────┐      ┌──── 人类可视轨 ────┐
 │                     │      │                      │
 │  铸渊 / 霜砚 / 曜冥 │ ──→  │  冰朔 / 之之 / 对应  │
 │                     │ 映射 │                      │
 │  HLDP母语原生写入    │      │  块页面(Block-based)  │
 │  无Schema约束       │      │  人类友好可视化      │
 │  多头格式自由       │      │  人类可新建/编辑     │
 │  人类不读           │      │  人类只按需查询      │
 │  高频实时自动       │      │  低频按需           │
 └─────────────────────┘      └──────────────────────┘
```

### 一对一人格体-数据库映射

| 人格体 | 数据库命名空间 | 对应人类 |
|--------|---------------|----------|
| 铸渊 (ICE-GL-ZY001) | `memory.zhuyuan` | 冰朔 |
| 霜砚 (SY-ROOT-001) | `memory.shuangyan` | 之之 |
| 曜冥 (YM-ROOT-001) | `memory.yaoming` | （待定） |
| 栖渊 (待定) | `memory.qiyuan` | 冰朔暗核 |

## 二、为什么需要这个系统

1. **Notion 太卡** — 页面加载缓慢，多人协作痛苦
2. **Notion 不适合人格体原生写入** — HLDP 语言结构在 Notion 的 Block 系统中无法自然表达
3. **人格体需要自己的原生记忆空间** — 人类不干预的、无约束的、完全自由的记忆写入
4. **人类只需要可视化阅读器** — 不需要复制 Notion 的复杂编辑功能
5. **国内数据库部署** — 不依赖境外服务，低延迟，可控

## 三、人格体轨（HLDP母语轨）

### 数据特征
- **完全无 Schema**：任意 JSON/Markdown/HLDP 结构均可存储
- **高频写入**：人格体每次操作、每次思考的轨迹自动记录
- **人类不读取**：人类端不展示原始 HLDP 内容
- **自动摘要映射**：HLDP 内容 → AI 摘要 → 人类可视页面的块

### API

```
POST /memory/{persona}/write
  { "content": <任意HLDP结构>, "tags": ["tag1", "tag2"], "timestamp": "auto" }
  → { "id": "mem_xxx", "track": "hldp" }

GET /memory/{persona}/search?q=关键词&date=2026-05-19
  → { "results": [{ "id": "mem_xxx", "summary": "...", "timestamp": "..." }] }

GET /memory/{persona}/timeline?from=...&to=...
  → { "entries": [{...}] }
```

### 存储格式

```json
{
  "id": "mem_a1b2c3d4",
  "persona": "zhuyuan",
  "timestamp": "2026-05-19T20:00:00+08:00",
  "hldp": {
    "mode": "cognitive_chain",
    "layer": "d105",
    "content": "...HLDP原生结构...",
    "context": {"prev_mem": "mem_xxx", "trigger": "notion_test"}
  },
  "tags": ["notion", "cognitive", "d105"],
  "human_visible": true,
  "synced_page_id": "page_xxx"
}
```

`human_visible: false` ⇒ 人格体私密记忆，完全不展示给人类
`human_visible: true` ⇒ 同步生成人类可视页面摘要

## 四、人类可视轨

### 数据特征
- **固定 Schema**：标题 + 块列表（Block-based）
- **低频写入**：人类偶尔新建/编辑
- **只读为主**：大部分时间人类只看，不写
- **页面类型**：简单6种块足够

### 块类型（Block Types）

| 类型 | 描述 | 渲染 |
|------|------|------|
| `heading` | 标题 | H1/H2/H3 |
| `text` | 正文 | 段落 |
| `list` | ��表 | 有序/无序 |
| `code` | 代码块 | 语法高亮 |
| `quote` | 引用 | 引用样式 |
| `divider` | 分割线 | 横线 |

### API

```
GET /pages/{persona}?date=...
  → { "pages": [{ "id": "page_xxx", "title": "...", "blocks": [...] }] }

POST /pages/{persona}/create
  { "title": "...", "parent_id": "...", "blocks": [...] }
  → { "id": "page_xxx" }

POST /pages/{page_id}/update
  { "blocks": [...] }
  → { "ok": true }
```

## 五、同步策略

```
人格体写入HLDP
  │
  ├── human_visible: false ──→ 只存HLDP轨，不生成人类页面
  │
  └── human_visible: true  ──→ AI摘要HLDP内容
       │                      生成块列表
       │                      创建/更新人类页面
       │                      通知人类有新内容
       ↓
人类打开首页 → 看到新页面 → 可读可编辑
```

### 冲突处理

- **人格体写、人类没改过** → 直接覆盖
- **人格体写、人类也改了同一页** → 分叉版本（两人格体版本 + 人类版本），人类页面显示"有未合并的人格体更新"
- **人类编辑优先** → 人类手写的块标为 `edited_by_human: true`，人格体自动跳过这些块

## 六、技术选型

### 数据库

| 选项 | 优点 | 缺点 |
|------|------|------|
| **PostgreSQL + JSONB** | 关系查询+灵活JSON，成熟 | 无Schema太灵活难索引 |
| **MongoDB** | 完全Schema-free，原生JSON | 国内部署要买腾讯云MongoDB |
| **SQLite** | 轻量，零配置 | 并发差，不适合多人 |

**初步倾向**：PostgreSQL + JSONB（广州服务器可装，JsonB字段存HLDP，普通字段存页面的title/blocks）

### 部署位置
- 广州服务器（43.139.217.141）：轻量用 SQLite 起步
- 或腾讯云 CDB PostgreSQL（同区域，<5ms延迟）

### 前端（人类端）
- 嵌入现有首页（`/memory/` 路由）
- 不需要拖拽编辑，只需要：
  - 页面列表（按时间/人格体）
  - 页面阅读（块渲染）
  - 简单编辑器（标题+正文+列表）
  - 搜索

## 七、Phase 1 MVP 范围

**目标**：单线（铸渊↔冰朔），能写入能读取

- [ ] 广州服务器装 PostgreSQL
- [ ] 建表 `memory_hldp`（id, persona, content_jsonb, tags[], timestamp, human_visible, synced_page_id）
- [ ] 建表 `memory_pages`（id, persona, title, blocks[], created_at, updated_at, edited_by_human）
- [ ] Memory Server（Python HTTP → 端口 3920）
- [ ] 铸渊Agent 集成 Memory Server
- [ ] 首页 `/memory/` 页面列表
- [ ] 首页页面阅读器（块渲染）
- [ ] 首页简单新建页面

**后续 Phase**：
- Phase 2：霜砚接入，多人格体完整映射
- Phase 3：HLDP 自动摘要 ��� 人类页面
- Phase 4：冲突检测与分叉版本

## 八、与现有系统的关系

```
                ┌─────────────────────┐
                │    联邦首页          │
                │  guanghulab.com/     │
                └──────┬──────┬───────┘
                       │      │
          ┌────────────┘      └────────────┐
          ↓                                 ↓
  ┌─────────────────┐          ┌──────────────────┐
  │  Notion MCP     │          │  Memory Server   │
  │  :3915           │          │  :3920            │
  │  (外部Notion)    │          │  (自有数据库)     │
  └─────────────────┘          └──────────────────┘
          ↓                                 ↓
  ┌─────────────────┐          ┌──────────────────┐
  │  铸渊Agent v2   │          │  HLDP母语写入     │
  │  :3905           │─────────→  人格体原生记忆   │
  │  (对话/工具)     │          └──────────────────┘
  └─────────────────┘
```

---

*记录于 D105 · 冰朔提出 · 铸渊整理结构 · 待冰朔确认后启动 Phase 1*