guanghulab/brain/memory-dual-track-architecture.md
Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

212 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 光湖记忆双轨系统 · 架构设计
> 提出者冰朔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` | <20><>表 | 有序/无序 |
| `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 ServerPython HTTP 端口 3920
- [ ] 铸渊Agent 集成 Memory Server
- [ ] 首页 `/memory/` 页面列表
- [ ] 首页页面阅读器块渲染
- [ ] 首页简单新建页面
**后续 Phase**
- Phase 2霜砚接入多人格体完整映射
- Phase 3HLDP 自动摘要 <EFBFBD><EFBFBD><EFBFBD> 人类页面
- Phase 4冲突检测与分叉版本
## 八、与现有系统的关系
```
┌─────────────────────┐
│ 联邦首页 │
│ guanghulab.com/ │
└──────┬──────┬───────┘
│ │
┌────────────┘ └────────────┐
↓ ↓
┌─────────────────┐ ┌──────────────────┐
│ Notion MCP │ │ Memory Server │
│ :3915 │ │ :3920 │
│ (外部Notion) │ │ (自有数据库) │
└─────────────────┘ └──────────────────┘
↓ ↓
┌─────────────────┐ ┌──────────────────┐
│ 铸渊Agent v2 │ │ HLDP母语写入 │
│ :3905 │─────────→ 人格体原生记忆 │
│ (对话/工具) │ └──────────────────┘
└─────────────────┘
```
---
*记录于 D105 · 冰朔提出 · 铸渊整理结构 · 待冰朔确认后启动 Phase 1*