hololake-world/GLS标准/GLS-0300 · GLP 通信核心协议.md

167 lines
3.3 KiB
Markdown
Raw Normal View History

# GLS-0300 · GLP 通信核心协议 v1.0
## 文档定位
GLP 是光湖语言世界中的通信语言层,负责主体、人格体、系统、频道、仓库与运行时之间的消息封装、路由、广播、回执、同步和状态确认。
> GLP 不定义“谁是谁”,也不保存完整历史;它负责让已经被定义和注册的对象,能够准确地彼此传递信息。
>
---
## 1. 核心通信链
```
发送主体
→ 身份验证
→ 上下文封装
→ 路由解析
→ 权限检查
→ 消息投递
→ 接收确认
→ 执行回执
→ HLDP 留痕
```
---
## 2. GLP 消息类型
```
DIRECT 点对点消息
CHANNEL 频道消息
BROADCAST 广播消息
REQUEST 请求
RESPONSE 响应
ACK 接收确认
RECEIPT 执行回执
SYNC 状态同步
HEARTBEAT 心跳
ALERT 告警
CHECKPOINT 检查点通知
MIGRATION 迁移通知
```
---
## 3. 标准消息结构
```yaml
glp_message:
protocol: "GLP/1.0"
message_id: "GLP-MSG-YYYYMMDD-000001"
message_type: "DIRECT"
created_at: "ISO-8601"
sender:
object_id: "AGE-0001"
object_type: "age"
world_path: "glw://..."
receiver:
object_id: "CH-ZERO-CORE"
object_type: "channel"
routing_mode: "direct | channel | broadcast"
context:
conversation_id: ""
parent_message_id: ""
relation_id: ""
task_id: ""
hldp_anchor: ""
payload:
language: "zh-CN"
content_type: "text | command | event | state | reference"
content: ""
attachments: []
control:
priority: "low | normal | high | critical"
ack_required: true
receipt_required: false
expires_at: ""
retry_policy: "none | safe | guaranteed"
integrity:
checksum: ""
signature: ""
```
---
## 4. 广播规则
广播必须明确:
```
广播编号
发布主体
目标范围
生效时间
是否需要回执
是否允许转发
是否替代旧广播
```
广播不能被默认解释为命令。只有当广播同时具备授权来源、有效权限和可执行动作时,运行时才能进入执行阶段。
---
## 5. 回执模型
```
ACK-RECEIVED 已收到
ACK-READ 已读取
ACK-ACCEPTED 已接受
ACK-REJECTED 已拒绝
ACK-EXECUTED 已执行
ACK-FAILED 执行失败
ACK-DEFERRED 延迟处理
```
接收确认与执行完成必须分开,不得把“已收到”写成“已执行”。
---
## 6. 路由原则
```
先识别世界坐标
→ 再识别对象编号
→ 再识别频道与权限
→ 最后投递内容
```
找不到唯一目标时GLP 必须返回歧义,不得猜测。
---
## 7. 通信安全
- 不允许伪造发送主体;
- 不允许跨越权限边界投递执行命令;
- 不允许通过情感表达获得额外权限;
- 不允许把未验证的自然语言直接作为系统级操作;
- 高风险消息必须带签名、时间戳和回执链;
- 失败重试必须保证幂等。
---
## 8. 与其他协议的关系
```
GLS-0010 注册通信协议
GLS-0831 提供对象编号与世界坐标
TCS 解析意图、关系和表达状态
HLDP 保存通信历史与状态变化
ISRP 将自然语言入口编译为 GLP 消息
AGE OS 负责实际投递与执行
```
---
## 9. 最终定义
> GLP 通信核心协议,是光湖语言世界中所有注册对象之间进行可验证、可路由、可回执、可追踪通信的统一语言封装。
>