把 HarmonyOS 手机变成 Windows 10/11 PC 上的 Apple 风格触控板:局域网内 WSS 认证传输 + 语义手势协议 + 白名单 SendInput 注入。
English: turn a HarmonyOS phone into an Apple-style touchpad for Windows PCs. See README.en.md.
flowchart LR
A[HarmonyOS 原始触控] --> B[确定性手势引擎]
B --> C[版本化语义协议 / WSS]
C --> D[Windows 托盘 Agent]
D --> E[白名单 Win32 SendInput]
MVP 目标环境:HarmonyOS NEXT API 12+、Windows 10/11 x64。蓝牙 HID、原生 Windows Precision Touchpad 模拟、macOS/Linux、投屏与公网远程控制均不在 MVP 范围。
Windows Agent 已包含带认证的 WSS 传输,但仍是开发版:
- 已实现:Windows mDNS 广播、HarmonyOS 发现与安全配对应用骨架。
- 未实现:输入手势识别、安装包/签名、beta 加固。
- 仍需真机验收:Scan Kit、TLS 证书锚定、HUKS。
未配对客户端不能注入输入;协议不携带任意键盘快捷键,Windows 侧把语义手势映射到白名单动作集。细节见 SECURITY.md。
- Protocol v1、手势映射 v1、架构与信任边界
- 机器可读手势绑定与跨语言二进制/控制消息测试向量
- 仅用于验证线上契约的无依赖 Node.js 参考校验器
- C# Protocol v1 解码、fail-closed 输入会话、可测试的 Win32
SendInput边界 - 跨运行时 Security contract v1、防重放 HMAC 认证核心、Windows DPAPI 设备密钥存储
- Discovery contract v1:Windows 与 HarmonyOS 共享的免凭证 DNS-SD 元数据
- 原生 Windows DNS-SD 广播(按网卡显式注册/注销)
- 可构建的 HarmonyOS 客户端:NetworkKit 发现、Scan Kit 二维码配对、SPKI 固定、精确证书 WSS 信任、HUKS 设备密钥
- 无控制台 Windows 托盘:仅监听已发现的 RFC1918/IPv6 ULA 地址上的私有 LAN WSS、单控制器占用、消息/速率上限、空闲释放输入、两分钟配对二维码窗口
需要 Node.js 22+,当前无运行时依赖:
npm test同一组黄金向量之后也会被 ArkTS 与 C# 测试消费。协议变更若未让全部实现继续通过同一组黄金向量,视为未完成。
需要 .NET SDK 10.0.302 或兼容的 10.0 feature band:
dotnet test apps/windows-agent/HarmonyPcTouchpad.WindowsAgent.slnx -c Release能力与安全边界见 Windows agent 说明。启动托盘后,认证 WSS 端口 47431 只绑定在已发现的 RFC1918 或 IPv6 ULA 地址上。
- 冻结 Protocol v1、安全规则、手势映射与黄金向量
- 打通 Windows Agent 协议/会话/
SendInput垂直切片 - 冻结二维码配对、证书固定与 HMAC 认证
- 安全核心接入 WSS 与单控制器传输
- 接入 Windows mDNS 广播与 HarmonyOS 发现基础
- 完成 HarmonyOS 安全配对
- 接入已认证的 HarmonyOS
/input连接与单指控制 - 实现确定性一至四指手势识别
- 打包并验收 Windows/HarmonyOS beta
- 在 HarmonyOS 26/API 23 硬件上评估蓝牙 HID
- briefbound-skills — 本仓 README/文档工作流使用的 Briefbound Agent Skills
- Vibelution — 动态视觉/动效相关项目
- codex-skin — Codex 动态皮肤
- harmony-codex — Harmony 远程与 Codex 集成
本项目采用 MIT License。第三方复用边界见 THIRD_PARTY_NOTICES.md。
Apple、HarmonyOS、Huawei、Microsoft、Windows 等商标归各自所有者所有;本项目与其无关联、未获其背书。