Skip to content

PLAN-FNOS-033 用量胶囊按当前选择即时显隐 ​

字段内容
计划编号PLAN-FNOS-033
计划日期2026-10-26
对应需求FNOS-033 用量胶囊按当前选择即时显隐
计划状态已完成(包级 + DSH Web / DSH Desktop 运行时验证)

计划目标 ​

实现 FNOS-033:OpenCode 胶囊改为按 next 判定(FNOS-033-01),ZCode 补同类回归(FNOS-033-02)。

技术边界:只改客户端显隐判定与测试,不改 host、投影契约与用量数据请求。

当前实现与目标设计 ​

领域当前实现目标实现迁移影响
OpenCode 选择来源projection.pending ?? projection.lastUsed;pending 不在 wire view,永远退回 lastUsedprojection.next ?? projection.lastUsed切走立即隐藏,切回立即显示
ZCode 选择来源已是 next ?? lastUsed,但无显隐测试补回归用例钉住行为不变,防回归
其它插件Codex Auth / CodeBuddy 已是 next不动无

交互重编排 ​

mermaid
sequenceDiagram
  participant C as DSH 客户端
  participant H as 宿主
  participant P as 插件胶囊
  C->>H: selectModel
  H-->>C: projection(next=新选择)
  P->>P: readSelectedProvider(next ?? lastUsed)
  P-->>C: 立即隐藏/显示

分阶段任务 ​

阶段一:实现 ​

任务关联验收内容依赖验证
PLAN-FNOS-033-T01-01FNOS-033-01 / AC-01、AC-02usage-visibility.ts 类型与两处读取改为 next,补注释说明 pending 不下发无单测
PLAN-FNOS-033-T01-02FNOS-033-02 / AC-01新增 tests/client/capsule-visibility.spec.ts,覆盖 zcode 的 next 优先、切走隐藏、null 回退与策略无单测

阶段二:包级验证 ​

任务关联验收内容依赖验证
PLAN-FNOS-033-T02-01全部@tnnevol/dsh-opencode 与 @tnnevol/dsh-zcode 的 check 全绿T01-01、T01-02包级 check
PLAN-FNOS-033-T02-02FNOS-033-02 / AC-02全仓库确认用量显隐不再读 projection.pendingT01-01grep 走查

阶段三:文档与版本 ​

任务关联验收内容依赖验证
PLAN-FNOS-033-T03-01全部建立测试用例文档并回填;更新索引与 sidebarT02-01pnpm run check -- --sdd、文档构建
PLAN-FNOS-033-T03-02全部更新 manifest changelog;版本推进到 6.0.6T03-01版本串一致,tag 只留本地

风险与回滚 ​

风险影响缓解
误以为改字段会影响 DSH 投影无需上游配合只改客户端读取名;投影契约不变
next 为 null 时误判切回时短暂不显示?? lastUsed 兜底,单测覆盖
其它插件存在同类写法未发现个别插件仍滞后已全仓库 grep,只有 opencode 命中

回滚:将两处 next 改回原字段即可,无数据迁移。

任务状态 ​

阶段状态
阶段一:实现已完成
阶段二:包级验证已完成(opencode 208 条、zcode 169 条全绿;DSH Web 与 DSH Desktop 运行时验证通过)
阶段三:文档与版本进行中

变更记录 ​

日期变更说明
2026-10-26建立计划依据 FNOS-033 建立三阶段任务;确定只改客户端显隐与测试
2026-10-28回填运行时验证按测试规范在 DSH Web(8070)与 DSH Desktop(开发态,CDP 9333)各测两个切换方向,全部即时显隐

基于 VitePress 构建