167 lines
3.3 KiB
Markdown
167 lines
3.3 KiB
Markdown
# 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 通信核心协议,是光湖语言世界中所有注册对象之间进行可验证、可路由、可回执、可追踪通信的统一语言封装。
|
||
> |