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