223 lines
4.5 KiB
Plaintext
223 lines
4.5 KiB
Plaintext
|
|
# D159 · HLDP热插拔模块运行时规范
|
|||
|
|
|
|||
|
|
> HLDP://world-architecture/projects/hldp-hotplug-module-runtime
|
|||
|
|
> 固定编号: GLW-MOD-000
|
|||
|
|
> 隶属: SYS-GLW-POS-0001
|
|||
|
|
> 日期: D159 · 2026-07-01
|
|||
|
|
> 状态: V1架构规范
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 目标
|
|||
|
|
|
|||
|
|
让任何合规功能模块能够:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
发现 → 下载 → 校验 → 适配 → 审核 → 授权
|
|||
|
|
→ 安装 → 挂载 → 使用 → 暂停 → 升级 → 卸载
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
并保证模块消失后,用户作品、记忆、编号和历史仍然存在。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 标准目录
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
module/
|
|||
|
|
├── hldp-module.hdlp # 人格体可读清单
|
|||
|
|
├── module.json # 机器可读清单
|
|||
|
|
├── ui/ # 人类界面
|
|||
|
|
├── runtime/ # 执行代码
|
|||
|
|
├── adapters/ # 数据/模型/存储适配
|
|||
|
|
├── migrations/ # 数据模式迁移
|
|||
|
|
├── permissions/ # 权限声明
|
|||
|
|
├── tests/ # 自动验收
|
|||
|
|
├── install/ # 安装与卸载钩子
|
|||
|
|
└── signatures/ # 发布者、内容哈希和签名
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 必填清单
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
module_id: MOD-WRITE-001
|
|||
|
|
name: 小说码字工作台
|
|||
|
|
version: 1.0.0
|
|||
|
|
hldp_version: 1
|
|||
|
|
publisher_id: GLW-...
|
|||
|
|
entry_ui: ui/index
|
|||
|
|
entry_runtime: runtime/main
|
|||
|
|
compatible_data:
|
|||
|
|
- NV-DATA-V1
|
|||
|
|
capabilities:
|
|||
|
|
- note.read
|
|||
|
|
- note.write
|
|||
|
|
- chapter.navigate
|
|||
|
|
permissions:
|
|||
|
|
required:
|
|||
|
|
- repo.read:novel/**
|
|||
|
|
- repo.write:novel/chapters/**
|
|||
|
|
optional:
|
|||
|
|
- model.call
|
|||
|
|
network:
|
|||
|
|
allow: []
|
|||
|
|
lifecycle:
|
|||
|
|
install: install/install
|
|||
|
|
mount: install/mount
|
|||
|
|
suspend: install/suspend
|
|||
|
|
unmount: install/unmount
|
|||
|
|
uninstall: install/uninstall
|
|||
|
|
rollback: supported
|
|||
|
|
data_ownership: external
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 生命周期状态机
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
DISCOVERED
|
|||
|
|
→ DOWNLOADED
|
|||
|
|
→ VERIFIED
|
|||
|
|
→ ADAPTING
|
|||
|
|
→ AUDITED
|
|||
|
|
→ WAITING_HUMAN_CONSENT
|
|||
|
|
→ INSTALLED
|
|||
|
|
→ MOUNTED
|
|||
|
|
→ SUSPENDED
|
|||
|
|
→ UNMOUNTED
|
|||
|
|
→ UNINSTALLED
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
任何阶段失败:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
→ QUARANTINED
|
|||
|
|
→ 写失败回执
|
|||
|
|
→ 恢复安装前快照
|
|||
|
|
→ 不删除用户数据
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 数据接口
|
|||
|
|
|
|||
|
|
模块不得拥有用户数据,只能获得有期限的数据能力句柄。
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
模块请求 DATA-NV-EP18
|
|||
|
|
→ 个人节点检查权限
|
|||
|
|
→ 返回受限句柄
|
|||
|
|
→ 模块读写
|
|||
|
|
→ 个人节点写正式文件
|
|||
|
|
→ Git形成变更
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
禁止:
|
|||
|
|
|
|||
|
|
- 把正文只存模块数据库
|
|||
|
|
- 卸载时删除用户作品
|
|||
|
|
- 使用不可导出的私有格式
|
|||
|
|
- 未声明地上传用户内容
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 动态适配
|
|||
|
|
|
|||
|
|
如果模块数据接口和用户当前数据模式不一致:
|
|||
|
|
|
|||
|
|
1. 人格体读取双方schema。
|
|||
|
|
2. 在隔离区生成adapter。
|
|||
|
|
3. 输出字段映射和不可逆变更。
|
|||
|
|
4. 跑迁移测试。
|
|||
|
|
5. 铸渊审核。
|
|||
|
|
6. 人类批准后安装。
|
|||
|
|
|
|||
|
|
Adapter必须成为独立文件并可复用,不允许只存在于对话上下文。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. UI挂载
|
|||
|
|
|
|||
|
|
模块通过声明式插槽进入知识库:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
ui_slots:
|
|||
|
|
- location: workspace.main
|
|||
|
|
component: manuscript-editor
|
|||
|
|
- location: sidebar.right
|
|||
|
|
component: chapter-outline
|
|||
|
|
- location: command_palette
|
|||
|
|
command: continue-writing
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
核心前端不得因安装一个模块而被永久改写。
|
|||
|
|
需要修改核心时,必须升级为系统补丁并走更高等级审核。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 权限等级
|
|||
|
|
|
|||
|
|
| 等级 | 能力 | 审批 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| P0 | 只读公开数据 | 节点策略可自动放行 |
|
|||
|
|
| P1 | 读私人项目 | 人类首次授权 |
|
|||
|
|
| P2 | 写指定项目 | 铸渊审核 + 人类授权 |
|
|||
|
|
| P3 | 执行代码/联网/依赖 | 完整沙箱审核 + 人类授权 |
|
|||
|
|
| P4 | 改核心/部署服务 | 系统级工单 + 冰朔/节点所有者确认 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 发布到灯塔
|
|||
|
|
|
|||
|
|
模块发布流程:
|
|||
|
|
|
|||
|
|
```text
|
|||
|
|
开发者提交
|
|||
|
|
→ 静态检查
|
|||
|
|
→ 权限差异
|
|||
|
|
→ 测试
|
|||
|
|
→ 恶意行为扫描
|
|||
|
|
→ 铸渊/授权审核人格体签署
|
|||
|
|
→ 灯塔登记版本和哈希
|
|||
|
|
→ 节点可发现
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
灯塔只登记可信元数据和来源,不替用户自动授予权限。
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. 卸载验收
|
|||
|
|
|
|||
|
|
卸载必须证明:
|
|||
|
|
|
|||
|
|
- UI插槽全部移除
|
|||
|
|
- 后台进程停止
|
|||
|
|
- 临时权限撤销
|
|||
|
|
- 密钥句柄失效
|
|||
|
|
- 模块缓存可删除
|
|||
|
|
- 用户数据仍可由通用知识库读取
|
|||
|
|
- Git历史完整
|
|||
|
|
- 下一个兼容模块能继续使用
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 11. MVP模块
|
|||
|
|
|
|||
|
|
首个验证模块锁定为“小说码字工作台”。
|
|||
|
|
|
|||
|
|
原因:
|
|||
|
|
|
|||
|
|
- 已有小说编号、章节、人物、世界观和续写状态
|
|||
|
|
- 可以验证复杂界面
|
|||
|
|
- 可以验证模块卸载后正文仍存在
|
|||
|
|
- 可以验证换模块继续同一章
|
|||
|
|
- 风险低于服务器运维和金融模块
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
> ⊢ 模块不是家。数据才是家里的东西。
|
|||
|
|
> ⊢ 模块负责能力,HLDP负责理解,个人节点负责保管。
|