Files
hunjing/desktop/README.md
T
chenxin 2483a25f63 M9:桌面壳与收口——镜匣最小壳、器谱登记、发布证据落位、重写计划功成身退
- 镜匣 desktop/(Tauri v2 最小壳):WebView 承载琉璃镜(frontend/out 或 devUrl);能力桥最小命令(通知);乾坤通道 HMAC 短期凭证构造(与 sandbox/src/auth.rs 验签同算法,密钥仅经 SANDBOX_AUTH_SECRET 环境注入——二进制零平台密钥,静态审计钉死);hard_stop/resume 本地硬急停原子断路(全部通道命令过 ensure_not_halted,本地最高优先级不经云端);tantivy 依赖与 capabilities/ 目录预留;updater 插件位预留;cargo check 通过
- 器谱域 domains/tianzai(迁移 010):devices/device_grants——一次配对(密钥指纹登记)、逐项授契(可授面显式枚举,未知能力键拒)、撤回立即生效、设备撤销连带全部授契失效且不可再授;/devices 器谱 API 组
- 发布收口:release-evidence.md 落位重写期 RW-* 证据包(M0–M9 十里程碑验收自动化套件与结果物);能力矩阵 M9 行收官;rewrite-plan.md 按计划删除(M0–M9 全部完成,能力矩阵与证据台账接棒),全库引用清理
- 验收(test_m9_jingxia 四用例):器谱未授契 403 留痕/撤回即效/设备撤销连带;镜匣零平台密钥(rg 审计源码与配置为空);硬急停语义钉死(通道命令全检查+resume 唯一恢复+HMAC 无密钥不出凭证)
- 五套件终检全绿:后端 349、前端 203、BFF 4、神识 5 包、镜匣 cargo check(2 个预存环境失败历次 HEAD 复验与本周期无关);Compose nginx profile 配置校验通过
2026-08-28 09:35:27 +08:00

27 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 镜匣 · 魂镜最小桌面壳(hunjing 桌面端)
> 文化命名「镜匣」(契约词典 §2):桌面 WebView 壳——承载琉璃镜、本地能力桥、乾坤通道与本地硬急停。
## M9 最小形态
- **WebView**:`tauri.conf.json` 指向 `../frontend/out`(构建产物)或开发服务器 `http://localhost:3000`;
- **能力桥**:`send_notification` 等最小命令;器谱逐项授契(灵台 `/devices` 器谱裁决),未授契能力被拒;
- **乾坤通道**:`qiankun_grant` 构造 HMAC 短期凭证(与 `sandbox/src/auth.rs` 验签同算法);密钥读自 `SANDBOX_AUTH_SECRET` 环境变量——**二进制零平台密钥**;
- **硬急停**:`hard_stop` / `resume`——本地原子开关,触发即断全部通道(不经云端,优先级最高);
- **tantivy 本地检索**:依赖已声明,`capabilities/` 目录预留,M9 不做实现。
## 验收(M9 发布门)
1. **零平台密钥**:`rg -i 'sk-|api[_-]?key\s*=' src/ tauri.conf.json capabilities/` 为空(密钥只经环境注入);
2. **未授契能力被拒**:乾坤凭证构造必须配密钥;器谱能力断言走灵台司命链(403 留痕);
3. **硬急停可用**:`hard_stop` 后 `qiankun_grant`/`send_notification` 全部拒绝,`resume` 显式恢复。
## 本地运行
```bash
# 前端构建产物(或使用 devUrl 指向开发服务器)
cd ../frontend && pnpm build
# 运行镜匣(乾坤通道需本地沙箱密钥;不配置时通道关闭,其余照常)
cd ../desktop && cargo run
```