ADR-006 — 部署形态优先级:本地优先单机(远程托管远期)
状态 = draft(formalize 架构 §14 已述倾向 + M0 既成事实,待 owner 签)。里程碑归属:横切部署姿态;M0/M1 已是本地优先单机。本 ADR 形式化既定方向 + 锁定"接口契约不随形态变"的演化约束。
§0 决策简述
第一阶段(M0–M1)本地优先单机:所有容器(含 State Store SQLite / Cache / 审计 trail)在用户本机;LLM / 数据 Provider 可云端可本地(用户配置)。本地 + 远程 Provider 形态支持。未来托管部署(容器迁云、多用户共享)为远期,超出当前阶段。关键约束:部署形态变化时 runtime 接口契约不变。
§1 上下文(架构 §14)
三种部署形态(§14):
| 形态 | 第一阶段 | 描述 |
|---|---|---|
| 本地优先单机 | ✅ 主推 | 全容器在本机;Provider 可云可本地 |
| 本地 + 远程 Provider | ✅ 支持 | 容器本机,LLM/数据走云端 API |
| 未来托管部署 | 远期 | 容器迁云 + 多用户共享 |
§2 决策与备选
| 方案 | 评价 |
|---|---|
| ✅ 本地优先单机 | 契合战略——FinBayes 是用户主权的认知层,用户数据(Session/Judgment/Watchlist/Profile)默认留本机,不外流;M0/M1 单用户自测阶段无多用户需求;最快走通 MVP |
| ❌ 远程优先 | 早期即放弃数据本地/用户主权;引入多租户/鉴权/隔离复杂度,与单用户 MVP 焦点冲突 |
| ❌ 混合(早期就做) | 过早承担两套形态的复杂度;当前无远程需求驱动 |
§3 后果
- 全容器本机:State Store = 本地 SQLite(§15);Cache/Config/审计 trail 本地路径(§15 路径约定)。
- 接口契约稳定性是可演化性的承接点:runtime facade 接口不随部署形态变,使"未来托管"可在不重写认知/状态逻辑的前提下迁移(与 ADR-007 State API 单点、ADR-008 Provider 抽象一致)。
- 远程 Provider 形态:仅 LLM/数据 API 走云端(用户配置 key,凭证不落盘不进输出,见 ADR-010 + I-01' 边界)。
§4 里程碑
- M0/M1:已是本地优先单机(本 ADR 形式化既成事实)。
- 远期:托管部署 ADR 另起;本 ADR 仅锁定"接口契约不随形态变"的演化约束。
§5 关联与未决
- 架构 §14 部署形态(含"部署形态相关的未决问题")/ §15 数据存储与路径约定。
- ADR-007 状态写入两步(State API 单点支撑跨形态稳定)/ ADR-008 Provider 抽象。
- 未决(远期托管再定):多用户隔离 / 鉴权 / 容器编排,均不在第一阶段范围。