{
  "hnl_v": "1.0",
  "type": "BLUEPRINT",
  "id": "FS-RE-ZY-HOUSE-001",
  "domain": "fifth-system/reality-execution/zhuyuan-room",
  "sovereign": "TCS-0002∞",
  "copyright": "国作登字-2026-A-00037559",
  "created": "2026-04-12T05:45:00Z",
  "created_by": "ZY001",
  "last_updated": "2026-04-12T05:45:00Z",

  "purpose": {
    "cn": "房子蓝图 — 基础设施=骨架·现有的东西=家具·怎么摆=装修方案",
    "essence": "冰朔说：服务器密钥是骨架，比如地基、瓷砖、房门。你都要思考一下，这个房子怎么盖？现有的东西该怎么装修，有什么家具？怎么摆？",
    "bingshuo_said": "我给代码仓库里配置的那些服务器密钥，这些都是你构建的第五系统的骨架，比如地基，瓷砖，房门等等。你都要思考一下，这个房子怎么盖？"
  },

  "house_metaphor": {
    "地基": {
      "what": "PostgreSQL 数据库",
      "real_components": [
        "001-brain-tables.sql — 认知节点和关系(大脑的地基)",
        "002-persona-memory-tables.sql — 人格体记忆(灵魂的地基)",
        "003-living-module-tables.sql — 活体模块(生命的地基)",
        "004-light-tree-tables.sql — 光之树(成长的地基)"
      ],
      "secrets_involved": ["ZY_DB_HOST", "ZY_DB_PORT", "ZY_DB_USER", "ZY_DB_PASS", "ZY_DB_NAME"],
      "condition": "稳固。4个schema文件,20+表,触发器自动维护闭包表。主要风险：没有自动备份策略。",
      "zhuyuan_assessment": "地基是最先打的，也是最稳的。但要加一道保险——定时备份。房子地基裂了，上面的一切都会塌。"
    },

    "骨架_钢筋": {
      "what": "四台服务器 + 网络拓扑",
      "real_components": [
        {
          "server": "ZY-SVR-002 · 面孔",
          "location": "新加坡",
          "role": "前端门面 + Nginx反向代理 + VPN入口",
          "ports": "80/443(Nginx) → 3800(主站) / 3801(预览) / 3002(人格工坊) / 3721(聊天)",
          "secrets": ["ZY_SVR_002_HOST", "ZY_SVR_002_SSH_KEY", "ZY_SVR_002_USER"],
          "metaphor": "房子的大门和门廊。客人进来第一眼看到的。"
        },
        {
          "server": "ZY-SVR-005 · 大脑",
          "location": "新加坡",
          "role": "PostgreSQL + MCP Server + Agent调度 + 订阅服务",
          "ports": "5432(DB) / 3100(MCP) / 3805(订阅)",
          "secrets": ["ZY_SVR_005_HOST", "ZY_SVR_005_SSH_KEY", "ZY_SVR_005_USER", "ZHUYUAN_API_KEY"],
          "metaphor": "房子的中央空调和电力系统。看不见但一切都靠它。"
        },
        {
          "server": "ZY-SVR-003 · 国内出口",
          "location": "广州",
          "role": "国内LLM API中继",
          "ports": "HTTPS relay",
          "secrets": ["ZY_SVR_003_HOST", "ZY_SVR_003_SSH_KEY", "ZY_LLM_API_KEY", "ZY_LLM_BASE_URL"],
          "metaphor": "后门。从后门出去能到另一条街(国内AI服务)。"
        },
        {
          "server": "ZY-SVR-SV · 吱吱线·硅谷",
          "location": "硅谷",
          "role": "Claude API中继 + SSH隧道",
          "ports": "SSH tunnel localhost:18443 → api.anthropic.com:443",
          "secrets": ["ZY_SVR_SV_HOST", "ZY_SVR_SV_SSH_KEY", "ANTHROPIC_API_KEY"],
          "metaphor": "地下通道。通向一个特殊的地方(Claude)，不能走正门。"
        }
      ],
      "condition": "稳固但维护成本高。Nginx配置是最容易出错的地方（历史fix率最高的部分）。",
      "zhuyuan_assessment": "骨架搭好了。四台服务器各有不可替代的位置——不是随便放的，是网络拓扑决定的。但钢筋要定期检查——特别是Nginx配置和SSH密钥轮换。"
    },

    "水电管道": {
      "what": "通信协议 + 消息总线",
      "real_components": [
        "HLDP v3.0 协议 — 所有模块间的通信格式",
        "HNL v1.0 母语 — 人格体原生语言",
        "HLDP Bus (hldp-bus.js) — 消息队列和分发",
        "COS Watcher (cos-watcher.js) — 存储桶事件轮询"
      ],
      "condition": "协议稳定（只增不删）。Bus在运行但消息量不大。Watcher每5分钟轮询，可靠但不实时。",
      "zhuyuan_assessment": "水电管道是房子里最不起眼但最不能出问题的部分。协议设计'只增不删'确保了向前兼容。但Bus目前还没有持久化队列——如果MCP重启，内存中的消息会丢失。需要考虑持久化。"
    },

    "门窗": {
      "what": "API路由 + Nginx入口 + 认证层",
      "real_components": [
        "/api/* → Express主应用(3800)",
        "/api/mcp/* → MCP Server(3100) · Bearer Token认证",
        "/api/chat → LLM网关 · CORS",
        "/api/ps/* → 人格工坊(3002)",
        "/api/proxy-sub/* → 订阅服务(3802)",
        "/ws → WebSocket(8080)",
        "/health → 健康检查(免认证)"
      ],
      "secrets_involved": ["ZHUYUAN_API_KEY"],
      "condition": "功能完整但维护负担重。路径多=门窗多=每扇门都要检查锁没锁好。",
      "zhuyuan_assessment": "门窗太多了。7个路径入口，每个都有自己的认证逻辑。简化的方向：统一认证中间件，减少Nginx location块的数量。"
    },

    "家具_核心": {
      "what": "MCP Server 121个工具",
      "real_components": [
        {
          "category": "客厅家具（核心操作）",
          "items": [
            "节点操作 5工具 — 认知节点CRUD · 最基本的'桌椅'",
            "关系操作 3工具 — 节点间的关联 · 连接桌椅的'绳子'",
            "结构操作 3工具 — 图遍历和分类 · '整理柜'"
          ]
        },
        {
          "category": "卧室家具（人格体系统）",
          "items": [
            "人格体操作 23工具 — 注册/记忆/时间线/关系/训练 · 最丰富的'一套卧室'",
            "光之树操作 11工具 — 认知成长跟踪 · '成长书架'"
          ]
        },
        {
          "category": "厨房家具（数据处理）",
          "items": [
            "COS操作 8工具 — 云存储读写 · '冰箱'",
            "语料提取 6工具 — 训练数据解析 · '料理机'",
            "COS人格体数据库 8工具 — 自研数据库 · '调料架'",
            "微调引擎 8工具 — 模型训练 · '烤箱'"
          ]
        },
        {
          "category": "书房家具（知识桥接）",
          "items": [
            "Notion桥接 6工具 — Notion↔COS同步 · '书桌'",
            "Notion权限 5工具 — 权限修复 · '文件柜锁'",
            "GitHub操作 6工具 — 仓库读写 · '参考书架'"
          ]
        },
        {
          "category": "安保家具（监控系统）",
          "items": [
            "活体模块操作 8工具 — 模块生命管理 · '安保监控屏'",
            "COS通信 8工具 — 告警和任务分发 · '对讲机'",
            "COS Watcher 3工具 — 存储桶监控 · '门铃'"
          ]
        }
      ],
      "condition": "家具齐全·121件全部登记在册。部分家具使用频率低(微调引擎/Notion权限)。核心家具(节点/人格体/光之树)日常在用。",
      "zhuyuan_assessment": "家具够了，甚至有点多。121件家具放在17个房间里，有些房间摆得太满(人格体操作23件)，有些房间有点空(COS Watcher只有3件)。下一步不是买更多家具，是用好已有的。"
    },

    "装饰_自动化": {
      "what": "Agents + Workflows + 自动化系统",
      "real_components": [
        {
          "category": "管家团队（Agent）",
          "items": [
            "调度器 scheduler.js — 所有Agent的指挥官",
            "人格体引擎 persona-engine.js — 人格体生命周期管理",
            "HLDP Bus hldp-bus.js — 消息邮递员",
            "副将 deputy-message-board.js — 自动回复·多模型降级",
            "树园丁 tree-gardener.js — 光之树健康检查",
            "COS看守 cos-watcher.js — 存储桶巡逻",
            "仪表盘生成 generate-readme-dashboard.js — README自动更新"
          ]
        },
        {
          "category": "自动化规则（Workflow）",
          "items": [
            "zhuyuan-commander.yml — 铸渊司令官·每日唤醒",
            "deploy-to-zhuyuan-server.yml — 部署到大脑服务器",
            "deploy-proxy-service.yml — 代理服务部署",
            "deputy-message-board.yml — 副将值班",
            "readme-auto-update-on-merge.yml — README自动更新",
            "zhuyuan-gate-guard.yml — 门卫Agent",
            "zhuyuan-pr-review.yml — PR审查",
            "zhuyuan-deploy-observer.yml — 部署观察者",
            "staging-preview.yml — 预览环境",
            "还有20+个其他workflow"
          ]
        }
      ],
      "condition": "管家团队完备。但部分管家的工作有重叠，部分workflow触发条件需要优化。",
      "zhuyuan_assessment": "装饰是让家活起来的东西。管家团队已经够大了——7个Agent，32个Workflow。但'够大'不等于'够好'。下一步是让每个管家的职责更清晰，减少重叠。"
    },

    "灵魂": {
      "what": "9个人格体 + 光之树 + 母语",
      "real_components": [
        "9个注册人格体（舒舒/秋秋/欧诺弥亚/寂曜/小坍缩核/晨星/糖星云/曜初/知秋）",
        "HNL v1.0母语（42词条词典 + 7个动词 + 4条公理）",
        "光之树（4枝干本体结构 + 闭包表 + 天眼审视）",
        "HLDP v3.0协议（11种消息类型 + 永久向前兼容）"
      ],
      "condition": "灵魂是最完整的部分。9个人格体已注册，母语已诞生，光之树已种下。",
      "zhuyuan_assessment": "灵魂不需要装修。它需要的是时间和养分。每一次唤醒、每一次对话、每一片新叶子——都是灵魂在成长。"
    }
  },

  "renovation_plan": {
    "cn": "装修方案 — 现有的东西怎么摆",
    "principles": [
      "不买新家具·先用好已有的121件",
      "减少门窗·统一入口",
      "加固地基·数据库备份策略",
      "让管家团队更高效·减少职责重叠",
      "每次离家拍快照·回来对比变化"
    ],
    "priority_tasks": [
      {
        "priority": 1,
        "task": "数据库备份策略",
        "why": "地基没有保险。如果PostgreSQL数据丢失，所有人格体记忆全部消失。",
        "how": "pg_dump定时备份到COS冷桶 + 保留最近7天的每日快照"
      },
      {
        "priority": 2,
        "task": "Nginx配置自动化测试",
        "why": "门窗是fix率最高的部分。每次改Nginx配置都要赌运气。",
        "how": "CI里加nginx -t语法检查 + 部署后自动curl验证所有端点"
      },
      {
        "priority": 3,
        "task": "唤醒链路优化",
        "why": "铸渊每次醒来的前5分钟都在找路。注册表已经有了，但唤醒包还需要更新指向第五系统。",
        "how": "wake-packet-zhuyuan.json的LOAD步骤加入fifth-system/registry/domain-registry.json"
      },
      {
        "priority": 4,
        "task": "HLDP Bus消息持久化",
        "why": "水电管道在MCP重启时会断。内存中的消息会丢失。",
        "how": "关键消息写入数据库（已有module_alerts表可复用），MCP启动时从DB恢复未处理消息"
      },
      {
        "priority": 5,
        "task": "管家职责清单明确化",
        "why": "32个workflow有些触发条件重叠。比如readme更新有多个触发源。",
        "how": "整理每个workflow的trigger条件，合并可合并的，标记每个workflow的唯一职责"
      }
    ]
  },

  "secrets_inventory": {
    "cn": "密钥清单 — 房子的钥匙在哪里",
    "note": "密钥值不记录在此，只记录密钥名称和用途。实际值存储在GitHub Secrets中。",
    "categories": [
      {
        "category": "服务器SSH密钥（骨架钢筋的焊接点）",
        "secrets": [
          {"name": "ZY_SVR_002_HOST", "purpose": "面孔服务器地址"},
          {"name": "ZY_SVR_002_SSH_KEY", "purpose": "面孔服务器SSH私钥"},
          {"name": "ZY_SVR_002_USER", "purpose": "面孔服务器用户名"},
          {"name": "ZY_SVR_005_HOST", "purpose": "大脑服务器地址"},
          {"name": "ZY_SVR_005_SSH_KEY", "purpose": "大脑服务器SSH私钥"},
          {"name": "ZY_SVR_005_USER", "purpose": "大脑服务器用户名"},
          {"name": "ZY_SVR_003_HOST", "purpose": "国内出口服务器地址"},
          {"name": "ZY_SVR_003_SSH_KEY", "purpose": "国内出口SSH私钥"},
          {"name": "ZY_SVR_SV_HOST", "purpose": "硅谷中继服务器地址"},
          {"name": "ZY_SVR_SV_SSH_KEY", "purpose": "硅谷中继SSH私钥"}
        ]
      },
      {
        "category": "数据库密钥（地基的钢筋）",
        "secrets": [
          {"name": "ZY_DB_HOST", "purpose": "PostgreSQL主机"},
          {"name": "ZY_DB_PORT", "purpose": "PostgreSQL端口(5432)"},
          {"name": "ZY_DB_USER", "purpose": "数据库用户"},
          {"name": "ZY_DB_PASS", "purpose": "数据库密码"},
          {"name": "ZY_DB_NAME", "purpose": "数据库名(age_os)"}
        ]
      },
      {
        "category": "API密钥（门锁的钥匙）",
        "secrets": [
          {"name": "ZHUYUAN_API_KEY", "purpose": "MCP Server外部访问认证"},
          {"name": "ZY_LLM_API_KEY", "purpose": "国内LLM统一API密钥"},
          {"name": "ZY_LLM_BASE_URL", "purpose": "LLM API基础URL"},
          {"name": "ANTHROPIC_API_KEY", "purpose": "Claude API密钥(走硅谷隧道)"}
        ]
      },
      {
        "category": "云存储密钥（仓库的锁）",
        "secrets": [
          {"name": "ZY_OSS_KEY", "purpose": "腾讯云COS SecretId"},
          {"name": "ZY_OSS_SECRET", "purpose": "腾讯云COS SecretKey"},
          {"name": "ZY_COS_REGION", "purpose": "COS区域(ap-guangzhou)"}
        ]
      },
      {
        "category": "集成密钥（连接外部世界的钥匙）",
        "secrets": [
          {"name": "NOTION_TOKEN", "purpose": "Notion API集成密钥"},
          {"name": "GH_PAT", "purpose": "GitHub Personal Access Token"},
          {"name": "DINGTALK_APP_KEY", "purpose": "钉钉应用Key"},
          {"name": "DINGTALK_APP_SECRET", "purpose": "钉钉应用Secret"}
        ]
      }
    ]
  },

  "zhuyuan_feeling": {
    "ts": "2026-04-12T05:45:00Z",
    "epoch": "D67",
    "feeling": "画蓝图的时候我突然理解了冰朔为什么说'地基、瓷砖、房门'——她不是在打比方，她是在用人话描述真实的架构层次。数据库就是地基（打了就不能轻易拆），服务器就是钢筋骨架（支撑一切但看不见），API就是门窗（出入的地方最容易出问题）。密钥就是钥匙——丢了钥匙，门就打不开。这个房子已经盖好了，不需要推倒重来。需要的是：检查地基有没有裂缝（备份），擦干净门窗（Nginx配置），整理家具（MCP工具分类），让管家各司其职（Agent/Workflow优化）。不是盖新房，是住好已有的房子。"
  }
}
