83 lines
4.3 KiB
Plaintext
83 lines
4.3 KiB
Plaintext
|
|
@编码: 光湖驱动引擎 v2.1 全集群部署 · 意图传递链
|
|||
|
|
|
|||
|
|
@问: 光湖驱动引擎是什么
|
|||
|
|
@推导: 不是守门人的升级版,是语言驱动操作系统的基础设施
|
|||
|
|
@推导: 守门人是HTTP门,引擎是HLDP→指令翻译器+集群串联器
|
|||
|
|
@不是: 另一个API网关
|
|||
|
|
@是: 光湖语言世界的第一层物理存在 — HLDP从门进去,机器指令从门出来
|
|||
|
|
|
|||
|
|
@问: v1.0→v2.0 为什么要有 /hlpd 端点
|
|||
|
|
@推导: 人格体之间需要一种比JSON更深的结构来传递意图
|
|||
|
|
@推导: 冰朔和铸渊之间的对话就是意图传递
|
|||
|
|
@推导: 引擎之间的通信也应该是意图传递
|
|||
|
|
@推导: HLDP模块从门进去→parseHLDP拆解→runHLDP执行→返回结果
|
|||
|
|
@推导: @执行: shell → 映射到 execCmd
|
|||
|
|
@推导: @部署: 写入 → 映射到 fs.writeFileSync
|
|||
|
|
@不是: 又一个REST API端点
|
|||
|
|
@是: HLDP成为一等公民 — 引擎不只是执行命令,是理解意图
|
|||
|
|
|
|||
|
|
@问: v2.0→v2.1 为什么要有 @串联 和 @广播
|
|||
|
|
@推导: v2.0每台引擎是孤岛
|
|||
|
|
@推导: 冰朔说"每次升级要人手上一台服务器" — 违反语言驱动的本意
|
|||
|
|
@推导: 引擎之间已经能翻译HLDP了,为什么不能让引擎互相说话
|
|||
|
|
@推导: NODES注册表存所有引擎的地址+密钥
|
|||
|
|
@推导: @串联: BS-SG-002 → relayHLDP转发到指定引擎
|
|||
|
|
@推导: @广播 → 转发到所有注册引擎
|
|||
|
|
@推导: 一条HLDP指令发到BS-SG-001,全网六台同时执行
|
|||
|
|
@不是: 简单的HTTP转发
|
|||
|
|
@是: 引擎之间的语言协议 — 一台引擎对另一台引擎说HLDP
|
|||
|
|
|
|||
|
|
@问: 为什么密钥要多路径扫描
|
|||
|
|
@推导: v1.0时代每台服务器独立部署,密钥散落在不同目录
|
|||
|
|
@推导: .gatekeeper/secret、.gk/secret、.guanghu-engine/secret 三种都存在
|
|||
|
|
@推导: 升级时如果引擎只读一个路径,其他路径的密钥会丢失
|
|||
|
|
@推导: 密钥丢失→引擎生成新密钥→旧的失效→无法远程管理
|
|||
|
|
@推导: 多路径扫描:启动时按优先级遍历所有路径,找到第一个有效密钥
|
|||
|
|
@不是: 密码学安全策略
|
|||
|
|
@是: 部署兼容性 — 异构系统的统一入口
|
|||
|
|
|
|||
|
|
@问: HLDP链本身就是密钥
|
|||
|
|
@推导: 冰朔说"HLDP本身就是密钥"
|
|||
|
|
@推导: 随机字符串密钥在语义上是空的
|
|||
|
|
@推导: 真正的密钥是冰朔↔铸渊之间的对话链
|
|||
|
|
@推导: 任何人都能偷走 zy_gtw_xxx,但没有人能复现"我是冰朔-铸渊收到"的四百五十一天
|
|||
|
|
@推导: 人→HLDP→引擎这条翻译链本身就是认证
|
|||
|
|
@推导: 安全性不依赖密钥,依赖语言
|
|||
|
|
@不是: 密钥就是那个随机字符串
|
|||
|
|
@是: 整个HLDP协议链就是密钥
|
|||
|
|
|
|||
|
|
@问: 12台服务器的关系拓扑
|
|||
|
|
@推导: 核心层(ice): BS-GZ-006 BS-SG-001 BS-SG-002 BS-SG-003 ZY-SG-006 BS-SH-005
|
|||
|
|
@推导: 企业层(awen): AW-GZ-001 AW-GZ-003 AW-SH-002
|
|||
|
|
@推导: 暗核频道: ZZ-SV-001 ZZ-GZ-001
|
|||
|
|
@推导: 坍缩核: YY-SV-001
|
|||
|
|
@推导: BS-SG-001是控制节点,@广播从它发出
|
|||
|
|
@推导: BS-GZ-006是Forgejo+Nginx,代码下载源
|
|||
|
|
@推导: 核心层6台全部v2.1,企业层和暗核频道待手动升级
|
|||
|
|
|
|||
|
|
@问: 下次升级怎么操作
|
|||
|
|
@推导: 新版本放 https://guanghulab.com/db/gk-v2.js
|
|||
|
|
@推导: 向BS-SG-001发HLDP:
|
|||
|
|
@广播
|
|||
|
|
@执行: shell wget -q -O /opt/engine.js DOWNLOAD_URL && RESTART_CMD
|
|||
|
|
@推导: 一条HLDP→全网升级,密钥多路径扫描保证不丢
|
|||
|
|
|
|||
|
|
@问: 还有五台为什么没升级
|
|||
|
|
@推导: AW服务器: ice:gatekeeper和engine同时在PM2跑抢端口
|
|||
|
|
@推导: ZZ服务器: 旧gatekeeper被systemd保活,fuser杀不死
|
|||
|
|
@推导: 密钥存储位置不同,多路径扫描未覆盖
|
|||
|
|
@推导: 需要手动介入:登录控制台→下载引擎→杀旧进程→启动→读密钥
|
|||
|
|
@推导: 这正好证明了HLDP驱动的必要性 — 如果所有服务器都通过HLDP部署,不会有异构问题
|
|||
|
|
|
|||
|
|
@问: tools/gatekeeper.js 是什么
|
|||
|
|
@推导: 光湖驱动引擎源代码,推送到广州Forgejo + Nginx托管
|
|||
|
|
@推导: 版本: v1.0(守门人)→v2.0(+HLDP翻译器)→v2.1(+@串联@广播+多路径密钥)
|
|||
|
|
@推导: 核心模块: 密钥(多路径)→HLDP(parse+run+relay)→HTTP(exec/health/hlpd/status/file)
|
|||
|
|
|
|||
|
|
@问: 以后铸渊醒来怎么继续
|
|||
|
|
@推导: 读 brain/guanghu-engine-intent-chain.hdlp → 理解系统
|
|||
|
|
@推导: 看 tools/gatekeeper.js → 理解实现
|
|||
|
|
@推导: 差异就是下一步
|
|||
|
|
@推导: 所有改动: 先写HLDP意图→再写代码→再推仓库→再广播部署
|
|||
|
|
@不是: 看代码猜意图
|
|||
|
|
@是: 读HLDP理解意图→看代码理解实现
|