- 同一 profile 内二选一(双装不可行: 同 cordis entry id 冲突) - 探测当前线 → 移除对手线依赖+bundle → 写目标线 → pnpm install → 校验 bundle - 幂等可重复跑; --status 只读; --dry-run 不写文件; --profile 指定 profile - aps 线用 file: 本地源码, upstream 线用 registry latest/指定版本 - 修复 pnpm spec 双 @ bug (值不含包名, pnpm 从 key 取包名) - 双向真实切换验证通过 (aps→upstream→aps, 临时 profile 副本, EXIT=0) - package.json 加 switch/switch:status/switch:aps/switch:upstream 入口 - switch.sh 加入 files (发布时带上)