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负责理解,个人节点负责保管。
|