docs: submission deliverables - demo video, slides pdf, cjk-font demo gif Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
docs: submission deliverables - demo video, slides pdf, cjk-font demo gif
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
面向 OpenHarmony 泛在操作系统的原生 MCP(Model Context Protocol)协议栈参考实现。 以 Rust 编写,针对端侧多 Agent 场景重新设计传输层与上下文通道,在与官方 MCP SDK 同语义的 JSON-RPC 基线对比下,实现显著的通信效率与延迟优化。
OpenHarmony 开源任务挑战赛 · 赛题一《泛在 OS 原生 MCP 协议栈》参赛作品。
ohmcp-core
ohmcp-transport
ohmcp-cache
sha256(tool ‖ args)
ohmcp-security
ohmcpd
ohmcp-client
ohmcp-bench
同机 UDS、同一工具执行逻辑,仅协议栈不同(ohmcp 全程开启认证 + 加密):
(每场景 3 次运行取吞吐中位数,区间为多次完整基准运行观测范围)
复现:
cargo run --release -p ohmcp-bench -- --json bench-results.json cargo run --release -p ohmcp-bench --bin demo # 端到端多 Agent 演示
=== ohmcp 多 Agent 演示(认证 + 加密开启) === [voice-assistant] 可用工具: ["echo", "kb.search", "kb.dump", "kb.blob", "device.status", "math.sum"] [voice-assistant] kb.search 首次调用: 991 字节, 98µs [voice-assistant] kb.search 重复调用(线上仅 32 字节 CACHE_REF): 47µs [voice-assistant] 本地缓存: 1 命中 / 0 未命中 [system-scheduler] device.status: {"content":[{"type":"text","text":"{\"battery\":87,...}"}]} [calc-agent] math.sum: {"content":[{"type":"text","text":"100"}]} [doc-agent] kb.dump 经共享内存通道: 65959 字节结果, 320µs(套接字仅 12 字节引用) [doc-agent] 收到资源更新推送: ohmcp://docs/protocol [doc-agent] 重读更新后内容: 协议文档已更新(v2) [calc-agent] 越界调用被拒: server error: {"code":-32601,"message":"unknown tool: fs.delete_all"} [rogue-agent] 错误令牌被拒: auth failed: Some("invalid token") === 演示完成:多 Agent 复用单守护进程,全程加密,缓存/订阅生效 ===
# 构建(.cargo/config.toml 默认启用 target-cpu=native) cargo build --release # 启动守护进程(开启认证) ./target/release/ohmcpd --socket /tmp/ohmcpd.sock --token my-secret # 客户端调用(库 API)
use ohmcp_client::OhmcpClient; let c = OhmcpClient::connect("/tmp/ohmcpd.sock", "agent-1", Some(b"my-secret")).await?; let tools = c.list_tools().await?; let result = c.call_tool("kb.search", serde_json::json!({"query": "鸿蒙", "top_k": 5})).await?;
cargo test --workspace # 42 单元 + 17 端到端集成测试,59 项全绿 cargo clippy --workspace --all-targets -- -D warnings # 零警告(CI 强制)
CI(GitHub Actions):fmt + clippy(-D warnings) + 全量测试 + 基准烟雾。
Apache-2.0。全部代码为原创实现,第三方仅以 crates.io 依赖形式引用。
OpenHarmony原生MCP协议栈 - 第八届CCF开源创新大赛 OpenHarmony开源任务挑战赛 赛题一
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
ohmcp — OpenHarmony 原生 MCP 协议栈
面向 OpenHarmony 泛在操作系统的原生 MCP(Model Context Protocol)协议栈参考实现。 以 Rust 编写,针对端侧多 Agent 场景重新设计传输层与上下文通道,在与官方 MCP SDK 同语义的 JSON-RPC 基线对比下,实现显著的通信效率与延迟优化。
核心设计
ohmcp-coreohmcp-transportohmcp-cachesha256(tool ‖ args),命中时仅回传 32 字节 CACHE_REFohmcp-securityohmcpdohmcp-clientohmcp-bench性能(vs 官方 SDK 语义 JSON-RPC 基线)
同机 UDS、同一工具执行逻辑,仅协议栈不同(ohmcp 全程开启认证 + 加密):
(每场景 3 次运行取吞吐中位数,区间为多次完整基准运行观测范围)
复现:
端到端演示输出
快速开始
测试
CI(GitHub Actions):fmt + clippy(-D warnings) + 全量测试 + 基准烟雾。
文档
许可证
Apache-2.0。全部代码为原创实现,第三方仅以 crates.io 依赖形式引用。