Files
hunjing/docs/architecture/service-boundaries.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

94 lines
6.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.
# 服务边界
> 状态:重写目标态(rewrite/1.0 基线)
> 文化名与工程对象登记见[契约词典 §2](../contracts/contract-glossary.md);本文只定义职责边界与协作规则。
## 1. 边界原则
1. 人物状态只由灵台业务规则解释和改变。
2. 神识通模型协议,不拥有数字人物;博闻通外部检索,不解释观察结果。
3. 百工在灵台统一注册能力,乾坤只负责隔离执行与资源约束。
4. 琉璃镜与镜匣只经公开契约经照壁调用服务,不成为安全或数据旁路。
5. 跨服务只传稳定标识、版本化 Schema 和可追踪上下文;不得共享内部数据库表作为接口。
6. 能力可按部署档位关闭,服务职责与禁域不因档位消失。
## 2. 琉璃镜(前端,Next.js)
**拥有**:全部 Web 体验、镜树当前路径阅读与局部树图、候答切换/采用/归真交互、治理与确认界面、运行轨迹展示、Live2D 与浏览器通感呈现、设计体系(Lucide 图标、无表情符号、Awwwards 级视觉标准)。
**不拥有**:平台密钥、权威人物状态、风险最终裁决、不可信执行、绕过照壁的后端直连。
前端服务端状态使用 TanStack Query,请求经 openapi-fetch 以灵台 OpenAPI 生成的类型发出;组件状态 Zustand。页面信息架构遵循主 PRD §12:镜庭、人物、镜树、天工阁、神识阁、设置。
## 3. 照壁(BFF,Fastify)
**拥有**:鉴权透传(JWT Cookie 与刷新)、SSE/WebSocket 双向代理(禁缓冲、断线续传透传)、响应裁剪与字段白名单、openapi-fetch 类型桥接、跨灵台接口的轻量聚合、请求日志(pino)。
**不拥有**:业务规则、人物状态、模型协议、权限裁决、任何权威数据存储。照壁可以做响应裁剪,但不得替灵台决定"用户能否看到"——鉴权语义一律来自灵台。
**约束**:照壁是无状态服务,水平扩展不依赖会话粘滞;SSE 代理必须设置 `X-Accel-Buffering: no` 并透传 `Last-Event-ID`。
## 4. 灵台(后端核心,Python FastAPI)
**拥有**:六域业务(镜生/缘契/三界/形仪/灵台域/天宰)、插件化认知运行时与九枢装配、镜树与归真、三级记忆管线、缘契版本、司命裁决与行动账、百工能力目录、MCP Client(stdio/SSE)、工具注册表、事件溯源(一炁)、魂籍导出。
**不拥有**:Provider 方言与 Endpoint 连接池(神识职责)、不可信代码执行环境(乾坤职责)、Web 展现状态(琉璃镜职责)。
灵台向神识发送最小必要的版本化模型请求,向乾坤发送已裁决且范围明确的执行请求;返回结果先作为观察净化标证。运行时结构见[灵台运行时](lingtai-runtime.md)。
**基础设施复用边界**:现有 auth/RBAC/审计/事件存储/幂等/SSE 网关代码保留改造接入新领域层;旧领域模块(personality/drive/evolution/wuxing/time_sense/knocking/big_cycle 等)按重写执行计划(已收口删除)退役删除。
## 5. 神识(模型网关,Go)
**拥有**:Provider/Endpoint 目录、模型能力槽位、入站协议转换(内部 IR → 各厂商方言)、路由与故障切换、流式转发、BYOK 密钥保管、配额与成本计量、用量日志。
**不拥有**:人物 ID 的身份解释、道体、记忆、关系、缘契、长期状态和工具授权决策。神识可以按隐私与能力约束选择端点,但不得把模型差异写成人格变化。
设计详见[神识模型网关](shenshi-gateway.md)。元炁作为 `type=local` 的 Endpoint 接入神识,不与灵台直接对话。
## 6. 博闻(MCP 搜索,Go)
**拥有**:多搜索引擎接入、密钥池轮询(EWMA 权重)、两级缓存、熔断、stdio/SSE/HTTP 三种 MCP 传输。
**不拥有**:模型路由、人物状态、工具授权裁决。博闻产出的一切搜索结果经灵台百工调用获得,先作为有来源的观察,不自动成为事实。
其余 MCP 服务同理:由灵台百工登记与调用,不存在独立"网关服务"层(旧玄关退役)。
## 7. 乾坤(沙箱,Rust)
**拥有**:不可信执行隔离、进程组与资源上限、执行取消、HMAC 短期凭证验签、执行审计证据。
**不拥有**:人物目标、长期状态、模型路由、关系语义、权限扩张。乾坤只执行已授权任务,不做风险判定(由司命负责)。
现实动作须同时通过云端司命裁决与设备本地安全控制;本地硬急停优先级最高。
## 8. 天目 / 元炁(辅助服务,Python)
**天目**:本地 OCR(RapidOCR / PaddleOCR-VL),为通感与文档导入提供文字提取;输出是观察,不是事实。
**元炁**:本地推理(llama-cpp / BGE-M3 / Rerank / 多模态),仅作为神识的本地 Endpoint 与灵台的 embedding 服务接入;不独立做路由决策。
## 9. 镜匣(桌面壳,Tauri)
**拥有**:桌面 WebView 承载琉璃镜、本地能力桥(文件对话框、通知、托盘)、与乾坤本地执行的通道、tantivy 本地检索(预留)、自动更新。
**不拥有**:平台密钥、独立的人物状态副本。设备失联只允许安全自治与输入暂存,不产生可独立成长的人物副本。详见[BFF 与桌面壳](bff-and-desktop.md)。
## 10. 禁止的耦合
- 琉璃镜/镜匣直接持有 Provider 密钥、直连神识或调用高风险工具。
- 照壁内嵌业务规则或权威状态,成为第二个"小后端"。
- 神识直接读写人物记忆、人格或关系表。
- 乾坤根据 Prompt 自行扩大权限或目标。
- 灵台把 Provider SDK 细节扩散到领域模块(模型出口只经神识客户端边界)。
- 服务共享可写数据库账户,以共享表替代 API/事件契约。
- 为轻量部署把神识、乾坤职责重新实现进灵台。
- 任何服务绕过一炁事件日志改变人物相关状态("模型可见即可重建"铁律的反向适用:状态变更必须留痕)。
## 11. 跨服务契约
- 灵台 ↔ 神识:REST + SSE,版本化模型请求 Schema、用量回传、错误码段见[契约词典](../contracts/contract-glossary.md);请求携带 `run_id`/`trace_id`,神识响应回传 `X-Request-Id` 用于关联。
- 灵台 ↔ 乾坤:HMAC 签名执行请求,超时与取消语义以乾坤 API 为准。
- 灵台 ↔ 博闻:MCP 协议(HTTP 传输优先)。
- 照壁 ↔ 灵台:HTTP/SSE 透传,契约即灵台 OpenAPI。
- 客户端 ↔ 照壁:HTTPS + JWT Cookie;SSE 事件契约见[API 契约](../contracts/api-contracts.md)。