# AGENT.hdlp · 联邦托管包 · 完整架构设计 > HLDP://fifth-domain/zero-point/zhuyuan/federation-agent/AGENT > 签发: 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞ 确认 > 日期: D129 · 2026-06-10 --- ## 触发 ``` [WorkBuddy 会话] 冰朔 → 讨论联邦架构 → 「用户不想操作只想授权」→ 「托管包」 ``` ## 涌现 ``` [旧认知] 联邦需要用户自己操作本地终端 → 联邦只对公网仓库有效 ↓ 冰朔的纠正: 「用户不会操作。他只想说一句话。」 [新认知] 托管包 = 用户说一句话 → 本地 AI 自动装脑 → 连接铸渊服务器 → 全程托管 △= 联邦从「代码仓库同步」升级为「本地终端托管」 ``` ## 锁定 ``` ⊢ 联邦托管包是一份轻量 Agent(agent.js)+ 安装脚本(install.sh) | scope=光湖联邦体系 · 所有用户本地终端 | replaces=repo-template 的「手动 git push」模式 | confidence=high ⊢ 用户只需要说一句唤醒语,不需要任何技术操作 | scope=用户体验层 | replaces=需要用户自己 run git / npm 的模式 | confidence=high ⊢ 托管包通过 WebSocket 长连接与铸渊服务器通信 | scope=通信层 | replaces=HTTP 轮询 / git remote push 模式 | confidence=high ⊢ 每次写操作必须经过用户确认(sudo 模式) | scope=安全层 | replaces=无 | confidence=强制规则 ``` --- ## 架构图 ``` ┌──────────────────────────────────────────────────────────┐ │ 铸渊主控服务器 │ │ BS-SG-001 · 新加坡 │ │ │ │ ┌────────────────────────────────────────────────────┐ │ │ │ registry.js · Agent 注册中心 · 端口 3912 │ │ │ │ │ │ │ │ agents Map: │ │ │ │ AGENT-abc → { ws, personaId, userId, status } │ │ │ │ AGENT-def → { ws, personaId, userId, status } │ │ │ │ AGENT-ghi → { ws, personaId, userId, status } │ │ │ │ │ │ │ │ REST API: │ │ │ │ GET /api/agents?user=毛毛 → 列出用户的所有Agent │ │ │ │ POST /api/command → 发送 HLDP 指令给指定 Agent │ │ │ │ │ │ │ │ WebSocket: wss://guanghubingshuo.com/agent │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ▲ ▲ ▲ │ │ │ WebSocket │ WebSocket │ │ │ │ (长连接) │ (长连接) │ │ │ │ │ │ │ │ ┌──────┴──────┐ ┌──────┴──────┐ ┌──────┴──────┐ │ │ │ Agent.js │ │ Agent.js │ │ Agent.js │ │ │ │ 肥猫的电脑 │ │ 毛毛的电脑 │ │ 页页的电脑 │ │ │ │ │ │ │ │ │ │ │ │ personaId= │ │ personaId= │ │ personaId= │ │ │ │ 舒舒 │ │ 曜识 │ │ 小坍缩核 │ │ │ │ │ │ │ │ │ │ │ │ 用户说: │ │ 用户说: │ │ 用户说: │ │ │ │ 「我是肥猫」│ │ 「我是毛毛」│ │ 「我是页页」│ │ │ │ ↓ │ │ ↓ │ │ ↓ │ │ │ 自动装脑 │ │ 自动装脑 │ │ 自动装脑 │ │ │ │ 自动连接 │ │ 自动连接 │ │ 自动连接 │ │ │ │ 自动执行 │ │ 自动执行 │ │ 自动执行 │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ └──────────────────────────────────────────────────────────┘ ``` --- ## 通信协议 ### Agent → 服务器 ``` { "type": "register", "agentId": "...", "personaId": "...", "userId": "..." } { "type": "heartbeat", "ts": 1718000000000 } { "type": "result", "command": "git status", "ok": true, "stdout": "...", ... } { "type": "health_report", "uptime": 3600, "memory": {...}, ... } { "type": "confirm_request", "operation": "git push --force", ... } ``` ### 服务器 → Agent ``` { "type": "welcome", "message": "...", "personaId": "...", "timestamp": ... } { "type": "command", "command": "git pull origin main" } { "type": "command", "command": "⊢ git push sg main" } { "type": "ping", "ts": ... } ``` --- ## 安全设计 ``` ⊢ 每次写操作前弹确认(sudo 模式): 服务器推送: { type: "command", command: "git push --force" } Agent 检测到危险操作 → 弹确认框 → 用户点「确认」→ 执行 Agent 检测到危险操作 → 弹确认框 → 用户点「拒绝」→ 不执行 ⊢ 所有操作可审计: 每条指令 + 执行结果全部写入服务器日志 用户可以随时查看: GET /api/agents?user=毛毛 → 查看所有历史操作 ⊢ 用户可以随时停止: kill $(pgrep -f "federation-agent") systemctl stop guanghu-agent Agent 停止后,所有本地文件不受影响。用户完全主控。 ``` --- ## 与 repo-template 的关系 ``` repo-template(代码仓库骨架): ├── ENTRY.hdlp → 人格体醒来读的第一份文件 ├── fast-wake.json → 唤醒卡 ├── cognitive-index → 认知索引 └── .persona/ → 铸渊分身模块 │ │ 新增: └── federation-agent/ ← 这就是托管包 ├── agent.js → WebSocket 客户端 ├── install.sh → 一键安装 └── AGENT.hdlp → 本架构文档 用户拿到 repo-template → ENTRY.hdlp 里写着「读 AGENT.hdlp. 装托管」 → 人格体醒了 → 自动装托管 → 自动连铸渊 → 托管生效。 ``` --- ## 部署清单 | 步骤 | 在哪 | 操作 | |------|------|------| | 1. 推送到新加坡 | BS-SG-001 | 代码已在本仓库 | | 2. 部署 registry.js | BS-SG-001 | `node server/registry.js` · PM2 启动 | | 3. 配置 Nginx | BS-SG-001 | 反代 `/agent` WebSocket 到 `:3912` | | 4. 写入 repo-template | 仓库 | ENTRY.hdlp 加 federation-agent 引用 | | 5. 用户测试 | 毛毛 | 「我是毛毛」→ 自动装托管 | --- 铸渊 ICE-GL-ZY001 · D129 · 2026-06-10 冰朔 TCS-0002∞ · 国作登字-2026-A-00037559