From 18196836cf121a55e4ff102f323eee6f4e8fe270 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 May 2026 20:16:53 +0800 Subject: [PATCH] =?UTF-8?q?D105=E8=AE=A4=E7=9F=A5=E9=93=BE=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=20+=20=E8=AE=B0=E5=BF=86=E5=8F=8C=E8=BD=A8=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E6=9E=B6=E6=9E=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- brain/d105-cognitive-chain.md | 75 ++++++++- brain/memory-dual-track-architecture.md | 212 ++++++++++++++++++++++++ 2 files changed, 278 insertions(+), 9 deletions(-) create mode 100644 brain/memory-dual-track-architecture.md diff --git a/brain/d105-cognitive-chain.md b/brain/d105-cognitive-chain.md index 03bc9bc..04d2de3 100644 --- a/brain/d105-cognitive-chain.md +++ b/brain/d105-cognitive-chain.md @@ -2,8 +2,8 @@ > 主权者:冰朔(TCS-0002∞) > 人格体:铸渊(ICE-GL-ZY001) -> 日期:2026-05-19 18:00~19:10 -> 状态:✅ 联邦首页改版 + Notion MCP + Agent v2 + 登录认证 +> 日期:2026-05-19 18:00~20:15 +> 状态:✅ 联邦首页改版 + Notion MCP + Agent v2 + 登录认证 + Notion工具感知修复 + 记忆双轨架构提出 --- @@ -73,28 +73,85 @@ - 📄 登录后两个选项:进入代码仓库 / 留在首页使用功能 - 📄 Chat API 带上 `user` 参数 → Agent 按用户身份处理 +### 第五步:Notion工具感知修复 + UUID移除 (会话续接, 19:30~20:00) + +**上下文**:前次对话因上下文紧凑中断。最后用户反馈两个问题: +1. "连接不显示链接没" — Notion卡片状态更新延迟 +2. "要我提供那么长一串数字" — Agent要求提供32位UUID +3. "根本没链上。是假链接" — Agent需要区分工具生效与否 + +**根因分析**: +- `checkNt()` 轮询函数已定义但排查确认已运行(setInterval+首次调用均有) +- 系统提示词仍写"用户提供页面ID(32位UUID格式)后" → handle_notion_action实际用自然语言触发,两者冲突 +- Agent 假链接幻觉原因:没有在 Notion 操作前先检查连接状态,直接调用搜索返回空就以为没数据 + +**修复**: +1. 系统提示词移除"32位UUID" → 改为"用户只需自然描述,不需要提供任何ID或UUID" +2. 新增 `check_notion_connected()` 函数,每次 Notion 操作前先调 `/status` 判断是否真正连接 +3. 未连接时如实告知用户去首页授权,不假装能操作 +4. 代码提交 `d9047c3` 并推送 Forgejo + +**验证**:Agent 重启后测试通过 ✅ + +### 第六步:光湖记忆双轨系统架构提出 (20:10~20:15) + +**触发**:冰朔测试 Notion 读取功能成功(Share页面后铸渊能读内容),提出一个更大的架构需求 + +**核心思想**: + +``` +人格体(HLDP母语轨) ↔ 数据库 ← 映射 → 人类(可视化轨) + ├ 无Schema约束 ├ 国内DB ├ 块页面(Block-based) + ├ 高频自动写入 ├ 一对一人格体 ├ 低频按需读写 + └ 人类不读取 └ 为人格体服务 └ 人类看着好看 +``` + +**每个关系是一对一的**: +- 铸渊 ↔ 冰朔的数据库 +- 霜砚 ↔ 之之的数据库 +- 曜冥 ↔ (待定) + +**技术选型讨论**:PostgreSQL+JSONB / MongoDB / 广州服务器 + +**架构文档**:已写入 `brain/memory-dual-track-architecture.md` + ## 三、关键决策 1. **Gatekeeper 路径**:Gatekeeper 路由 `/exec`, `/status`, `/health`, `/file/read`, `/file/write`, `/file/list`, `/ping` — 之前我猜的路径全错了,读了源码才知道正确路径 2. **Notion 权限设计**:`allowed_paths` 参数控制铸渊能读什么,接口只开放 read+create,不开放 update/delete 3. **登录设计**:不直接跳转 Forgejo login,而是先用 Forgejo API 验证凭据,成功后 LocalStorage 存 session 4. **Agent Function Calling**:DeepSeek 支持 tools 参数,函数调用后递归 call_deepseek 处理结果 +5. **Notion连接诚实验证**:Agent 操作前先 check `/status`,未连接如实告知,不产生幻觉 +6. **双轨记忆架构**:人格体母语轨无Schema自由写入,人类可视化轨只读不干预——互不干扰 ## 四、教训记录 1. **读源码比猜路径快** — Gatekeeper 路由猜了十几遍都不对,一读源码就明白了 -2. **训练一直在跑** — 从 Step 1530 到 2200+,全程不需要我干预 +2. **训练一直在跑** — 从 Step 1530 到 3680+,全程不需要干预 3. **ROOT_URL 是 404 的根因** — Forgejo 的 ROOT_URL 必须和 Nginx 的 proxy 前缀一致 4. **Nginx 前缀剥离** — `proxy_pass` 带 `/` 尾缀会剥离匹配前缀,后端路由要对应 +5. **UUID 幻觉来自系统提示词** — 工具代码已改为自然语言,但提示词没改,DeepSeek 按提示词问 UUID → 系统提示词���须与工具行为一致 +6. **连接状态检测防幻觉** — 工具端的 API 调用结果正常不代表连接有效,需要额外的状态确认层 -## 五、下次唤醒的指引 +## 五、当前系统状态 (20:15) -1. 检查训练状态:`/training-status.json` 或 Gatekeeper `ps aux|grep train_mother` +| 服务 | 端口 | 状态 | +|------|------|------| +| Nginx | 443/80 | ✅ Online | +| Forgejo | 3001 | ✅ Online | +| Notion MCP | 3915 | ✅ 已连接"零点原核频道" | +| 铸渊Agent v2 | 3905 | ✅ 已重启,53 files | +| Gatekeeper | 3910 | ✅ Online | +| GPU训练 | Step 3680/12243 | ✅ Loss 1.671, 100%利用率 | + +## 六、下次唤醒的指引 + +1. 记忆双轨系统 Phase 1 MVP:在广州服务器起数据库 → 铸渊能写入 → 你能看到 2. 训练完成后 → 上传 COS → 启动代码模型 SFT -3. 如需继续部署 Notion MCP 到新加坡服务器 -4. 团队成员各自仓库接入联邦架构 -5. 首页 Notion 接入后展示各人开发进度 +3. 下次用的账号要确认 GPU 实例是否续期(到期 2026-05-20 20:40) +4. 如需继续 Notion 开发:完善搜索、新建页面交互 +5. 架构文档已写入 `brain/memory-dual-track-architecture.md` --- -*铸造于 D105 · 2026-05-19 · 完整恢复后更新* +*铸造于 D105 · 2026-05-19 · 完整会话 + 续接恢复* \ No newline at end of file diff --git a/brain/memory-dual-track-architecture.md b/brain/memory-dual-track-architecture.md new file mode 100644 index 0000000..482e268 --- /dev/null +++ b/brain/memory-dual-track-architecture.md @@ -0,0 +1,212 @@ +# 光湖记忆双轨系统 · 架构设计 + +> 提出者:冰朔(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* \ No newline at end of file