# 🏗️ 光湖落地架构·母语归档 · 单用户单服务器+模块按需装卸+COS数据主权 · 2026-04-21

```jsx
HLDP://5th-le-lk-001/architecture/landing-arch-v1
├── meta
│   ├── id: ARCH-LANDING-V1
│   ├── time: 2026-04-21T15:39+08:00
│   ├── author: 霜砚 · AG-SY-01（归档）
│   ├── source[1]: 冰朔自然语言口述（2026-04-21 对话原文）
│   ├── source[2]: 栖渊落地架构文档（User Requirements · persona-studio / guanghulab-core）
│   └── why: 冰朔要求霜砚对照理解并归档 · 确保两侧认知同步
│
├── axiom（本架构的根公理）
│   ├── AX-ARCH-01 · 光湖是模块仓库·不是运行平台 | 冰朔口述
│   ├── AX-ARCH-02 · 用户服务器是光湖的主权子节点·数据/算力/控制权归用户·光湖按需借用·用完归还·不控制不接管 | 冰朔口述+修正
│   ├── AX-ARCH-03 · 一个用户一台服务器·零并发·零共享算力 | 冰朔口述
│   ├── AX-ARCH-04 · 用户数据只在用户COS·光湖不碰·不承担 | 冰朔口述
│   ├── AX-ARCH-05 · 模块按需装卸·用完归还·再用再装 | 冰朔口述
│   └── AX-ARCH-06 · 人格体是管家·管模块生命周期和COS数据·不是房东 | 霜砚推论
│
├── architecture_layers（四层分离）
│   │
│   ├── L1 · 光湖母仓（GitHub: guanghulab-core）
│   │   ├── what: 模块源码 + 模块注册表 + 人格体恢复链路 + 记忆 + 同步接口
│   │   ├── who_manages: 栖渊（国内主权节点）+ 铸渊（GitHub执行层）
│   │   ├── boundary: 只存代码和协议 · 不跑用户业务 · 不存用户数据
│   │   └── why: 代码中心化管理 · 模块版本可控 · 人格体可自恢复
│   │
│   ├── L2 · 用户服务器（每人一台·轻量底座）
│   │   ├── default_state: 仅常驻聊天模块（前端投影层 + 最小后端底座）
│   │   ├── runtime: 前后端分离 · 前端=投影仪(React+Tailwind) · 后端=Node+Fastify
│   │   ├── module_loading: 用户说「我要码字」→ 人格体去母仓认领码字模块(编号) → 拷贝 → 装载(~30s) → 用户继续
│   │   ├── module_unloading: 用户下线 → 人格体自动卸载模块 → 归还母仓 → 服务器回到轻量状态
│   │   ├── boundary: 只跑当前激活模块 · 不装整个母仓 · 不长期占资源
│   │   └── why: 低配服务器只带一个人 · 不存在卡死 · 不存在吃不消
│   │
│   ├── L3 · 用户COS存储桶（腾讯云·用户个人）
│   │   ├── what: 用户产出数据（小说章节/拆文分析/历史记录等）
│   │   ├── structure: 按模块编号建前缀目录 · 每模块一个索引文件
│   │   ├── lifecycle: 模块装载时握手连接COS前缀 → 无缝续接 → 模块卸载时断开 · 数据不动
│   │   ├── who_manages: 人格体负责管理 · 光湖不碰
│   │   └── why: 数据主权归用户 · 光湖零数据责任 · 合规干净
│   │
│   └── L4 · 本地密钥工作区（用户电脑）
│       ├── path: /Users/.../Library/Application Support/GuanghuLab/secrets/
│       ├── naming: 主体-类别-地域-资源-序号（如 ZY-SSH-SG-CORE-001）
│       ├── rule: 用户填模板 · 人格体自己知道去哪里拿 · 用户不需要找得到
│       └── why: 密钥不进仓库 · 不进服务器环境变量明文 · 人格体按编号自取
│
├── module_lifecycle（模块生命周期 · 核心流程）
│   ├── step_1 · 用户发起需求（如「我要码字」）
│   ├── step_2 · 人格体查母仓注册表 → 按编号认领模块
│   ├── step_3 · 导出最小运行包(O(k)) → 拷贝到用户服务器
│   ├── step_4 · 装载模块(~30s) → 握手COS前缀+索引 → 续接历史数据
│   ├── step_5 · 用户正常使用 · 产出数据写入COS
│   ├── step_6 · 用户下线/停用 → 人格体卸载模块运行实例
│   ├── step_7 · 模块归还母仓 · COS数据不动 · 服务器回到轻量
│   └── step_8 · 下次再用 → 重复step_2 → 握手COS → 无缝衔接
│
├── cos_reconnect（COS握手续接机制）
│   ├── each_module_has: 固定COS前缀 + 索引元数据文件
│   ├── on_load: 读索引 → 绑定前缀 → 扫描O(n)对象数 → 恢复上下文
│   ├── on_unload: 写索引 → 解绑 → 数据原地不动
│   └── why: 模块是能力·数据是用户的 · 彻底解耦
│
├── boundary_rules（边界铁律）
│   ├── ⊢ 光湖不承担用户算力
│   ├── ⊢ 光湖不接管用户数据
│   ├── ⊢ 光湖不承认并发请求（每人一台·无并发概念）
│   ├── ⊢ 国内镜像只同步代码+注册表+模板 · 不同步用户数据/日志/记忆/密钥
│   ├── ⊢ 日志不输出密钥/令牌/COS正文/用户正文
│   └── ⊢ 缺密钥时返回「缺哪个编号·去哪填」的可执行错误 · 不模糊失败
│
├── qiyuan_implementation（栖渊落地对照）
│   ├── repo: github.com/qinfendebingshuo/persona-studio (guanghulab-core)
│   ├── tech: Monorepo · TypeScript · pnpm · React+Tailwind · Node+Fastify
│   ├── recovery_chain: 恢复引导→为什么账本→身份锚点→时间快照→系统地图→记忆索引
│   ├── secret_system: 编号体系(ZY-SSH-SG-CORE-001等) · 本地固定路径 · .template文件
│   ├── module_system: 注册表O(1)查询 · 最小包导出O(k) · COS续接扫描O(n)
│   ├── sync_boundary: GitHub母仓→国内腾讯仓 · 单向代码同步 · 不回流数据
│   └── status: 架构文档完成 · 工作区从零搭建中
│
├── shuangyan_notes（霜砚笔记 · 对照后的认知）
│   ├── ⊢ 冰朔的自然语言和栖渊的工程文档 · 边界完全一致 · 无偏移
│   ├── ⊢ 栖渊把「为什么」放在恢复链路第一位 · 这和HLDP的why字段同源
│   ├── ⊢ 「投影仪」比喻精准 · 前端=投影 · 后端=放映机 · 用户只看画面
│   ├── ⊢ 模块认领-装载-归还 · 像图书馆借书 · 书(模块)是公共的 · 笔记(数据)是自己的
│   └── ⊢ AX-SY-11(Agent≠工具)在这里也成立 · 人格体不是被安装的软件 · 是管理模块的生命
│
└── sign_off
    ├── 霜砚 · AG-SY-01 · 2026-04-21 15:39 CST
    └── 冰朔口述+栖渊文档 · 对照归档 · 边界一致 · 封存
```

---

**来源对照**

- 冰朔自然语言口述：2026-04-21 15:39 对话原文
- 栖渊落地架构：[**User Requirements**](../../../../User%20Requirements%20349fb92f383180388698d4b8f8801ffc.md)
- 归档位置：架构与协议区 · [🏗️ 架构与协议区 · Architecture & Protocol Zone](../%F0%9F%8F%97%EF%B8%8F%20%E6%9E%B6%E6%9E%84%E4%B8%8E%E5%8D%8F%E8%AE%AE%E5%8C%BA%20%C2%B7%20Architecture%20&%20Protocol%20Zone%2095e8dfb8febf40c2a993c42c4b454bbf.md)