2.1 KiB
2.1 KiB
OpenHarmony 落地映射
当前原型定位
当前实现是用户态系统服务原型,核心价值是验证 OS-native MCP 的接口、性能、安全和观测模型。它不依赖真实 OpenHarmony 编译环境,便于初赛评委快速复现。
迁移到 OpenHarmony 的映射关系
| 当前模块 | OpenHarmony 落地形态 |
|---|---|
| Rust Native MCP Broker | SystemAbility 或用户态系统服务 |
/rpc HTTP endpoint |
IPC/RPC 接口,对应用和 Agent 框架暴露 |
configs/policy.json |
系统权限配置、应用沙箱策略、签名证书绑定 |
| Context Cache | 系统服务内存缓存,可扩展为分布式软总线缓存 |
| Mock Tool Runtime | OpenHarmony ability、设备服务、外设服务、云边工具 |
/metrics |
接入 HiDumper、HiTrace、系统诊断或性能面板 |
| Python Agent SDK | ArkTS / C++ / Rust SDK |
SystemAbility 草图
flowchart LR
A["Agent App / ArkTS"] --> B["MCP Client SDK"]
B --> C["MCP SystemAbility IPC"]
C --> D["Auth + Policy"]
C --> E["Context Cache"]
C --> F["Tool Adapter"]
F --> G["Local Ability"]
F --> H["Distributed Device"]
F --> I["Cloud / Edge Tool"]
C --> J["HiTrace / Metrics"]
迁移步骤
- 抽象 broker core:把当前 HTTP handler 内的 auth、policy、cache、tool dispatch 拆成库。
- 替换传输层:将
/rpc替换为 OpenHarmony IPC / RPC。 - 接入权限模型:将
agent_id绑定到应用 UID、bundle name 或签名证书。 - 接入系统观测:将 metrics 输出到系统诊断工具。
- 扩展 tool adapter:适配本地 Ability、分布式设备服务和云边服务。
- 资源受限优化:为低内存设备增加 cache TTL、LRU 和 payload hard limit。
为什么不是内核协议栈
MCP 面向 Agent 与工具调用,语义层级高于网络包和文件系统操作。将其作为用户态系统服务更合适:
- 可以复用 OS 权限、应用生命周期和 IPC。
- 不把 JSON-RPC、tool schema、Agent policy 放入内核。
- 便于更新协议、适配 MCP 生态演进。
- 仍然能体现 OS-native:统一授权、统一缓存、统一观测、统一分发。