D4 · Frontend-Vue3 · XiStudio 完整实现总计划(v1.0)
路线选择:方案 A · Vue 组件路线(用户 2026-05-19 确认)
- 4 stage 保持 Vue 内部业务形态(不引入 iframe)
- v4.3 demo 的 12 类 postMessage 协议 → 改造为 Pinia store + EventBus(语义保留,传输层换为同进程 store action)
- mode-switcher / stageToolbar / engine-toggle 全部用 Vue 组件 + Pinia 实现
- XiForge 业务深度融合 master TuningTool 后端(MC 骨架)
- v4.3 demo(
docs/02-products/P1-xistudio/layout-demo/)作为视觉与交互参考,不做 1:1 移植理论依据(架构契约):
v1.2-ide-architecture.md §13 顶栏五段动态注入架构e2e 策略:保留并扩充现有 4 个 spec(integration-profile / source-sink / unittest-mixer / unittest-sst),并按 phase 增量补充
0. 当前基线(2026-05-19 · subagent 3 轮调研结论)
0.1 已完成(不需重写)
| 模块 | 完成度 | 关键证据 |
|---|---|---|
| Vite + Vue 3 + TS strict + Pinia + Router 脚手架 | 100% | package.json / vite.config.ts / tsconfig.json 完整 |
| codex.css 接入 | 100% | src/styles/xistudio-codex.css · main.ts import |
| Shell 容器组件树 | 95% | XiStudioShell.vue + 9 子组件齐全(MenuBar / StageBar / DrawerLeft / DrawerRight / BottomPanel / StatusBar / ActivityBarLeft / ActivityBarRight / DrawerHeader / ToastContainer / AIDrawer) |
| 4 Stage 入口 | Vue 化形态已建 | src/stages/{xilink,xitune,xiforge,xitest}/index.vue,dynamic import 接入 router |
| XiLink 业务原型 | ~50% | LinkEditor 主画布 + 十余种 TuningDialog(GainTuning / GEQTuning / MDRC / Limiter / VirtualBass / AtmosEngine / CommonEQ / Delay / Source / Sink / SourceDevice / Module / Generic 等) |
| WebSocket → ASP.NET Core 8 后端 | 通道已联通 | src/types/communication.ts 10 类 CommandType(set_param / get_params / write_link / read_link / enable_module / reset_dsp / heartbeat / error) |
| Pinia 持久化 | 已配置 | pinia-plugin-persistedstate |
| Playwright e2e | 4 spec 已写 | integration-profile / source-sink / unittest-mixer / unittest-sst |
| layout/ 7 文档(v3.x 改造手册) | 已交付 | 00-overview / 10-architecture-mapping / 20-shell-component-tree / 30-stage-iframe-strategy / 40-postmessage-protocol / 50-state-management / 60-codex-css-strategy / 70-migration-checklist / 80-handoff-to-agent |
0.2 待补强(v4.3 增量 + master 业务融合)
| 缺口 | 方案 A 应对 | 关联 phase |
|---|---|---|
| 顶栏 mode-switcher 段(chip 注入) | Vue 组件 <ModeSwitcher> + Pinia useTopbarStore 维护 chips |
Phase 2 |
| 顶栏 stageToolbar 动态按钮(按 stage+mode 切换) | Vue 组件 <StageToolbar> + 同 store 的 buttons 数组 + toggle:true 引擎按钮 |
Phase 2 |
| Shell 全局单例引擎(▶/■ 共享 _engineRunning) | Pinia useEngineStore · 取代 v4.3 demo 的局部 var |
Phase 3 |
| postMessage 12 类协议 → Pinia store + EventBus | 不再走 postMessage,改造为 store action 或 event-bus;保留语义与事件名 | Phase 1(设计) + 各 phase 接入 |
| XiTune mode-switcher 4 chips(link 手动 / 自动 / 兼容 / 反向) | 注入到 ModeSwitcher · 主区暂不切换(仅 chip 高亮) | Phase 7 |
| XiTune Preset chip popover(v3-full-xitune-chain.html 风格) | <MrPresetChip> 组件挂在 module-renderer 右上角 + Pinia usePresetStore |
Phase 8 |
| XiForge mode-switcher 3 chips(layout/code/simulation)+ 动态 stageToolbar | 切 mode 时通过 store action 重设 buttons[] | Phase 10 |
| XiForge 调音工具搭建器(MC 骨架融合) | 复用 backend_csharp WebSocket 通道 · 实现拖拽控件 + 参数绑定 + 生成 JSON | Phase 11-12 |
| XiTest mode-switcher 5 chips(SMOKE/INTEG/ELEC/ACOU/LIVE) | 同 ModeSwitcher 注入 | Phase 13 |
| 集成测试架构(start_integration_test / test_result) | 扩展 communication.ts + Pinia useTestStore |
Phase 14 |
| Project 管理(多 .xilink 工程) | XiLink 左 Drawer L1 · useProjectStore |
Phase 15 |
| Profile 管理(场景 Preset 集合) | XiTune 左 Drawer xt-profile · useProfileStore |
Phase 9 |
| RMS / Freq / Phase Dock(v3.x R1-R4) | XiTune/XiTest 右 Drawer · 复用 ECharts | Phase 15 |
| 多源播放联调(source_v1 → mixer_v2 → sink_v1) | 后端已实现 · 前端串通 set_param + start_audio_engine | Phase 6 |
| e2e 扩充至覆盖 v4.3 + 业务全链路 | 在现有 4 spec 基础上加 mode-switcher / stageToolbar / preset / project / profile 各 1-2 spec | Phase 16 |
1. Phase 路线图(17 phase · 6-8 周)
1.1 总览矩阵
| Phase | 标题 | 工作日 | 依赖 | 验收里程碑 | 文档位置 |
|---|---|---|---|---|---|
| 0 | 基线对齐 + 协议改造设计 | 1d | — | 协议契约文档定稿;Pinia + EventBus 类型完整 | 00-baseline-alignment.md(本目录) |
| 1 | Shell 顶栏五段架构 Vue 化骨架 | 2d | 0 | 五段插槽 DOM 完整 · 视觉对齐 v4.3 demo | shell/10-topbar-5-segments.md |
| 2 | mode-switcher + stageToolbar 组件 | 2d | 1 | 任意 stage 切换时 mode-switcher / stageToolbar 内容跟随刷新 | shell/20-mode-switcher-stage-toolbar.md |
| 3 | 全局单例引擎按钮 + Shell 通用按钮组 | 1d | 2 | XL 启动 ▶ → 切 XT 显示 ■ · 跨 stage 共享 | shell/30-engine-singleton.md |
| 4 | XiLink Stage 业务收尾(LinkEditor 巩固) | 3d | 3 | 主画布 8 节点拖拽 · 选中 / 双击 / 删除 · undo/redo | xilink/10-link-editor.md |
| 5 | XiLink 左右 Drawer 注入(dock-pane) | 2d | 4 | 左 5 dock + 右 4 dock 内容齐全 · 切换互斥 | xilink/20-dock-injection.md |
| 6 | 多源播放联调(source → mixer → sink) | 3d | 3, 5 | 拖出 Src-Mix-Snk → ▶ → 听到声音;切 sine/noise/sweep 各正常 | xilink/30-multi-source-playback.md |
| 7 | XiTune mode-switcher 4 chips | 1d | 2 | 4 chip 切换 + toast · 主区不变 | xitune/10-mode-switcher.md |
| 8 | XiTune Preset chip popover | 2d | 7 | module-renderer 右上角 ⭐ Default ▾ · popover 列表 · 新建/保存/删除 | xitune/20-preset-chip.md |
| 9 | XiTune Profile 管理 + 左 Drawer xt-profile | 2d | 8 | 5 个 profile(夜间/影院/驾驶等)切换 · 持久化 | xitune/30-profile-management.md |
| 10 | XiForge mode-switcher 3 chips + 动态 stageToolbar | 2d | 2 | layout/code → 4 按钮;simulation → 0 按钮(toolbar 自动清空) | xiforge/10-mode-switcher-dynamic-toolbar.md |
| 11 | XiForge 调音工具搭建器 - 控件库 + 画布 | 3d | 10 | 控件库(TTSlider/TTKnob/TTToggle/TTLabel)拖入画布;属性面板编辑 | xiforge/20-toolbox-canvas.md |
| 12 | XiForge 调音工具搭建器 - MC 骨架融合 + 源码生成 | 3d | 11 | 从画布生成 .json + 调用 backend_csharp WebSocket · 仿真验证 mode 跑通 | xiforge/30-mc-integration.md |
| 13 | XiTest mode-switcher 5 chips(SMOKE/INTEG/ELEC/ACOU/LIVE) | 1d | 2 | 5 chip 切换 + 主区切(参考 v4.0 PLAN 设计) | xitest/10-mode-switcher.md |
| 14 | XiTest 集成测试架构(start_integration_test / test_result) | 3d | 13 | UnitTest_Mixer / source-sink case 跑通 + UI 显示 pass/fail | xitest/20-integration-test.md |
| 15 | Project 管理 + RMS/Freq/Phase Dock | 3d | 6, 9 | 多 .xilink 切换 · 右 Drawer R1-R4 实时刷新 | integration/10-project-and-meter-docks.md |
| 16 | e2e 扩充 + 全链路回归 | 2d | 1-15 | Playwright 14 spec 全绿 · CI 集成 | integration/20-e2e-extension.md |
| 17 | 最终验收 + 文档收口 | 1d | 16 | 验收清单 13 项全勾 · ChangeLog 更新 · v1.0 标签 | integration/99-acceptance.md |
总工作量:~33 工作日 · 单人 6-8 周(含 buffer / review / bugfix)。
1.2 依赖图(DAG)
┌─────────┐
│ Phase 0 │
└────┬────┘
▼
┌─────────┐
│ Phase 1 │ ◀─── Shell 五段骨架
└────┬────┘
▼
┌─────────┐
│ Phase 2 │ ◀─── mode-switcher + stageToolbar
└─┬──┬──┬─┘
┌─────┘ │ └──────────────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Phase 3 │ │ Phase 7 │ │ Phase 10│ ◀─── XiForge mode-switcher
│ 引擎单例 │ │XiTune md│ │XiForge │
└────┬────┘ └────┬────┘ └────┬────┘
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Phase 4 │ │ Phase 8 │ │ Phase 11│
│XL 编辑器│ │XT Preset│ │XF 控件箱│
└────┬────┘ └────┬────┘ └────┬────┘
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Phase 5 │ │ Phase 9 │ │ Phase 12│
│XL Dock │ │XT Profile│ │XF MC融合│
└────┬────┘ └─────────┘ └─────────┘
▼
┌─────────┐ ┌─────────┐
│ Phase 6 │ ─┐ │ Phase 13│ ◀─── XiTest mode-switcher
│ 多源播放 │ │ └────┬────┘
└────┬────┘ │ ▼
│ │ ┌─────────┐
│ │ │ Phase 14│
│ │ │XT 集成测试│
│ │ └────┬────┘
│ │ │
└───────┼───────────┘
▼
┌─────────┐
│ Phase 15│ ◀─── Project + RMS/Freq Dock
└────┬────┘
▼
┌─────────┐
│ Phase 16│ ◀─── e2e 扩充
└────┬────┘
▼
┌─────────┐
│ Phase 17│ ◀─── 最终验收
└─────────┘
关键路径(CPM):Phase 0 → 1 → 2 → 3 → 4 → 5 → 6 → 15 → 16 → 17,共 ~21 工作日;XiTune(7-9)/ XiForge(10-12)/ XiTest(13-14)三条支路可并行。
2. 文档目录结构(新增)
按 Q5 用户决策细颗粒度,每个 stage 一个子目录:
docs/08-implementation/30-frontend-vue3/
├── index.md ← 已存在(auto-index)
├── 00-master-plan.md ← 本文档(总计划 + 依赖图 + 验收总览)
├── 00-baseline-alignment.md ← Phase 0:基线评估 + Pinia/EventBus 协议设计
├── layout/ ← 已存在 9 文档(v3.x Shell 改造手册 · 保留)
│ ├── 00-overview.md
│ ├── ...
│ └── 80-handoff-to-agent.md
├── shell/ ← 新建 · Shell 顶栏五段补强
│ ├── 10-topbar-5-segments.md ← Phase 1
│ ├── 20-mode-switcher-stage-toolbar.md ← Phase 2
│ └── 30-engine-singleton.md ← Phase 3
├── xilink/ ← 新建 · XiLink Stage
│ ├── 10-link-editor.md ← Phase 4
│ ├── 20-dock-injection.md ← Phase 5
│ └── 30-multi-source-playback.md ← Phase 6
├── xitune/ ← 新建 · XiTune Stage
│ ├── 10-mode-switcher.md ← Phase 7
│ ├── 20-preset-chip.md ← Phase 8(含 v3-full-xitune-chain.html 移植细节)
│ └── 30-profile-management.md ← Phase 9
├── xiforge/ ← 新建 · XiForge Stage(MC 骨架融合)
│ ├── 10-mode-switcher-dynamic-toolbar.md ← Phase 10
│ ├── 20-toolbox-canvas.md ← Phase 11
│ └── 30-mc-integration.md ← Phase 12
├── xitest/ ← 新建 · XiTest Stage
│ ├── 10-mode-switcher.md ← Phase 13
│ └── 20-integration-test.md ← Phase 14
└── integration/ ← 新建 · 横切关注点
├── 10-project-and-meter-docks.md ← Phase 15
├── 20-e2e-extension.md ← Phase 16
└── 99-acceptance.md ← Phase 17 最终验收清单
每个 phase 文档遵循统一模板:
1. 目标(一句话)
2. 前置条件(依赖的 phase)
3. 任务清单(细分 sub-task · 每个含工作量估计)
4. 接口契约(涉及哪些 Pinia store / TS 类型 / WebSocket 消息)
5. 验收标准(functional / visual / 性能 / 兼容性)
6. 验收脚本(手动验证步骤 + 自动 e2e spec 列表)
7. 风险与回滚点
8. 关联文档(v4.3 demo 章节 / 架构契约 §13 / 兄弟 phase)
3. 协议改造(v4.3 postMessage 12 类 → Pinia + EventBus)
3.1 改造原则
保留语义 · 替换传输层:
| v4.3 原 postMessage 类型 | Vue 路线改造方案 | 实现位置 |
|---|---|---|
stage-ready(↑) |
路由 onMounted 钩子 + useStageReady() composable |
src/composables/useStageReady.ts |
toolbar-inject(↓) |
useTopbarStore.setToolbar(buttons) |
src/stores/topbar.ts |
toolbar-click(↑) |
EventBus emit toolbar:click |
src/utils/eventBus.ts |
mode-switcher-inject(↓) |
useTopbarStore.setModes(chips, activeKey) |
同上 |
mode-switch-click(↑) |
EventBus emit mode-switch:click |
同上 |
engine-control(↑) |
useEngineStore.toggle/start/stop() |
src/stores/engine.ts |
engine-state-changed(→) |
useEngineStore.state reactive watch |
同上 |
dock-inject(↓) |
useDockStore.setLeft(panes) / setRight(panes) |
src/stores/dock.ts |
inspector-inject(↓) |
useInspectorStore.setHtml(html, module) |
src/stores/inspector.ts |
module-properties-inject(↓) |
useBottomStore.setModuleHtml(html, module) |
src/stores/bottom.ts |
select-node(↑) |
EventBus emit node:selected + useInspectorStore 联动 |
EventBus + store |
tuning-dialog(↑) |
EventBus emit dialog:open + useDialogStore.open() |
src/stores/dialog.ts |
show-toast(↑) |
useToastStore.show(message) |
src/stores/toast.ts |
stage-status(↓) |
useStatusBarStore.setStageHtml(html) |
src/stores/statusbar.ts |
stage-hint(↓) |
useBottomStore.setHint(html) |
同 bottom |
doc-tabs-inject(↓) |
useTopbarStore.setDocTabs(tabs, activeKey) |
同 topbar |
doc-tab-click/close/new(↑) |
EventBus emit doc-tab:{click/close/new} |
EventBus |
3.2 EventBus 实现
// src/utils/eventBus.ts
import mitt from 'mitt'
export type AppEvents = {
'toolbar:click': { stage: string; id: string }
'mode-switch:click': { stage: string; key: string }
'doc-tab:click': { stage: string; key: string }
'doc-tab:close': { stage: string; key: string }
'doc-tab:new': { stage: string }
'node:selected': { stage: string; node: string; label: string }
'dialog:open': { stage: string; module: string; label: string }
}
export const eventBus = mitt<AppEvents>()
3.3 Pinia store 总清单(新增 / 复用)
| Store | 状态字段 | 主要 action | 是否 persisted |
|---|---|---|---|
useTopbarStore(新) |
modes / activeMode / toolbar / docTabs / activeDocTab | setModes / setToolbar / setDocTabs | 否 |
useEngineStore(新) |
running / sampleRate / bufferSize / latencyMs | toggle / start / stop / restart | 否(运行状态不持久) |
useDockStore(新) |
left[] / right[] / activeLeftKey / activeRightKey | setLeft / setRight / activate | 否(dock 内容由 stage 注入,但 activeKey 持久) |
useInspectorStore(新) |
html / moduleName | setHtml / clear | 否 |
useBottomStore(新) |
activeTab / moduleHtml / hint / panes | activate / setModuleHtml / setHint | activeTab 持久 |
useDialogStore(新) |
dialogs[] | open / close / focus | 否 |
useToastStore(新) |
queue[] | show / dismiss | 否 |
useStatusBarStore(新) |
stageHtml / engineLed / connections | setStageHtml | 否 |
useProjectStore(新) |
projects[] / activeProject | open / close / save / new | 是 |
useProfileStore(新) |
profiles[] / activeProfile | switch / save / new / delete | 是 |
usePresetStore(新) |
presets[module][] / activePreset[module] | load / save / new / delete | 是 |
useTestStore(新) |
cases / results / running | run / cancel / report | 否 |
useLayoutStore(已有) |
locked / drawer / bottom 各种状态 | 各种 toggle | 是 |
useThemeStore(已有) |
activeTheme | setTheme | 是 |
4. 最终验收标准(13 项 · Phase 17 验收清单的镜像)
完成时所有 13 项必须通过:
| # | 验收项 | 验收方式 |
|---|---|---|
| 1 | 启动 frontend_vue3 dev → 看到 Shell 容器 + 4 Pill | 浏览器目检 |
| 2 | 点 XiLink Pill → 顶栏右段 stageToolbar 显示 5 按钮(保存/新建/链路更新/节点对齐/▶引擎) | 浏览器目检 |
| 3 | 点 XiForge Pill → mode-switcher 显示 3 chips(layout/code/simulation);切到 simulation 时 stageToolbar 自动清空 | 浏览器目检 + e2e |
| 4 | 点 XiTune Pill → mode-switcher 4 chips;module-renderer 右上角 Preset chip ⭐ Default ▾ | 浏览器目检 |
| 5 | XiLink 拖出 Source-Mixer-Sink 链路 → 点 ▶ → 听到声音(sine 1kHz) | 人工听感 + e2e(断言扬声器有信号) |
| 6 | 切到 XiTune → ▶ 状态保持(共享单例引擎)+ Sink RMS Dock 显示电平 | e2e + ECharts 截图比对 |
| 7 | XiTune 切换 5 个 Profile(夜间/影院/驾驶等)→ 算法链路参数随之改变 + 持久化 | e2e |
| 8 | XiTune Preset chip popover:新建 / 保存 / 删除 / 切换 5 个 preset → 模块参数同步 | e2e |
| 9 | XiForge layout 模式拖入 4 个控件 → simulation mode 通过 backend_csharp 仿真出图 | e2e + WebSocket trace |
| 10 | XiTest 4 case(UnitTest_Mixer / source-sink / unittest-mixer / unittest-sst)跑通 → pass/fail | e2e + 测试报告 |
| 11 | Project 管理:打开 / 保存 / 新建 .xilink → 多 project tab 切换 | e2e |
| 12 | Drawer 操作:dock 位置切换(left/right/top/bottom)+ 比例(½/⅓/¼)+ 横纵分屏 + locked/float 模式 + 持久化 | e2e |
| 13 | Playwright 14+ spec 全部绿色 + CI 集成 | npm run e2e --reporter=html |
5. 风险与缓解
5.1 高风险
| # | 风险 | 触发概率 | 缓解 |
|---|---|---|---|
| R1 | XiForge MC 融合时 backend_csharp 接口变化 | 中 | Phase 0 时 freeze 后端 API 版本;Phase 12 前与后端约定 contract test |
| R2 | Pinia + EventBus 改造导致 v4.3 协议语义偏移 | 中 | Phase 0 写完整对照表(§3.1)→ code review · 不允许跳过 |
| R3 | LinkEditor 内 SVG 渲染性能在 100+ 节点时下降 | 低 | Phase 4 加 viewport culling;Phase 17 加 perf budget 检查 |
| R4 | Preset 管理与 Profile 管理职责混淆 | 中 | Phase 8 / 9 分别完成 + 写明数据结构差异(preset 是模块级,profile 是场景级) |
| R5 | e2e 在 CI 不稳定(headless 渲染差异) | 中 | Phase 16 加 npx playwright install 锁版本 + 重试机制 |
5.2 中风险
- 持久化数据迁移:现有 frontend_vue3 已有持久化数据,新增 store 时要兼容(
migrate钩子) - 主题切换在 v4.3 五段架构下是否破坏:Phase 1 验证 6 主题在新顶栏布局下视觉无破损
6. 与既有文档的关系
6.1 上层(架构契约)
docs/02-products/P1-xistudio/v1.2-ide-architecture.md §13— 顶栏五段架构契约(本计划的理论依据)docs/02-products/P1-xistudio/layout-demo/index.html— v4.3 demo 视觉与交互参考(不做 1:1 移植)docs/02-products/P1-xistudio/layout-demo/old/v3-full-xitune-chain.html— Preset chip popover 实现参考(Phase 8 关键参考)
6.2 同层(D4 子文档)
layout/00-overview.md— Shell vanilla → Vue 改造总览(保留,作为 Phase 1-3 的早期版本依据)layout/70-migration-checklist.md— Phase 1-7 改造 checklist(保留,已部分完成的项不重复做)layout/80-handoff-to-agent.md— Shell 改造交接文档(已被前端智能体执行 · 本计划是其后续)
6.3 下层(业务后端)
- master
AlgoDepartment/05_system_integration/SYSTEM_ARCHITECTURE.md— 四层架构总图(Vue3 / ASP.NET Core 8 / DSP DLL / pysidecar) - master
work-{agent}/backend_csharp/— WebSocket 后端实现(Phase 12 / 14 直接复用)
7. 决策记录(ADR · 本计划锁定)
| ADR | 决策 | 触发原因 | 替代方案 |
|---|---|---|---|
| ADR-D4-01 | Vue 路线(A)· 不引入 iframe | frontend_vue3 已有大量 Vue 业务投入 · 废弃成本巨大 | B 混合 / C 推倒重来 |
| ADR-D4-02 | postMessage 协议改造为 Pinia store + EventBus | 同进程通信 · 不需要跨域 / 跨 frame | 保留 postMessage(无意义) |
| ADR-D4-03 | MC 骨架仅融入 XiForge | 用户 Q2 明确决策 | 全 stage 融合(工作量大) |
| ADR-D4-04 | Preset 实现参考 v3-full-xitune-chain.html | 用户 Q4 明确指向 | 自创实现(视觉不一致) |
| ADR-D4-05 | 17 phase 细颗粒度 + 6 stage 子目录 | 用户 Q5 明确选细颗粒度 | 粗 / 中颗粒度 |
| ADR-D4-06 | e2e 保留 4 + 扩充至 14+ | 用户 Q-extra-1 明确决策 | 重新设计 e2e 矩阵 |
| ADR-D4-07 | 理论依据用 §13 架构契约 + demo 视觉参考 | 用户 Q-extra-2 明确决策 | 仅用 demo / 仅用契约 |
8. 启动清单(Phase 0 即将做的事)
下一步:
- 创建
00-baseline-alignment.md(Phase 0 文档)· 含 Pinia + EventBus 完整对照表 + TS 类型定义草案 - 创建 6 个 stage 子目录骨架(每个目录先放 README.md + 计划中的 NN-xxx.md 占位)
- 与前端智能体同步本总 plan → 让其按 phase 顺序执行
- 建立 Phase 进度跟踪表(GitHub Project / TODOLIST.md / 等)
9. AIOS 调度机制(2026-05-19 新增 · v3 修订)
本 17 phase 路线图的执行调度由 AIOS(AI Operating System)5 角色协作框架 v3接管,详见 ../40-aios/。
v3 核心架构(2026-05-19 傍晚晚 修订 · 跨栈职能解耦):
- AIOS / Cline 10% · Cline 插件作为调度内核的化身 · 派任务 / 仲裁 / 写 ADR / 维护 KANBAN · 不直接写业务代码
- ClaudeA 50% · Claude Code CLI 终端 #1 ·
frontend_vue3/全程独占 · 17 phase 全部前端实施 - ClaudeB 30% · Claude Code CLI 终端 #2 ·
backend_csharp/+dsp_algo/+contracts/全程独占 · 写contracts/protocol-v1.md+ 后端 + DSP + XiForge MC 融合 - Continue 5% · 异步同步 commit 到
KANBAN.md+ 备份分支 + 周复盘 - Copilot 5% · IDE 内联补全(被动)
跨栈职能解耦原则(v3 关键 · 修正 v2 串行错误):
frontend_vue3/= ClaudeA 全程独占 · 17 phase 由 ClaudeA 一人跑完backend_csharp/+dsp_algo/+contracts/= ClaudeB 全程独占 · 提前为 ClaudeA 铺路- Day 1 起即并行 · 双 CLI 同时启动 · 目录天然隔离 · 零 commit 冲突
- phase 16-17(Week 6-7) = ClaudeA(前端 e2e 验收) + ClaudeB(后端跨栈联调) 同时在线协作 · 仍在各自目录内
- ClaudeB 横切任务
contracts/protocol-v1.md必须 Day 5 freeze + tag(否则 ClaudeA phase 6-7 阻塞)
关键交叉引用:
- 实时看板:
../40-aios/KANBAN.md(本 17 phase 全部由 ClaudeA 跟踪 + ClaudeB 13 项后端横切主线) - 第一周计划:
../40-aios/WEEK-1-PLAN.md(双 CLI Day 1 起每日并行任务) - 5 角色名册:
../40-aios/agents/Roster.md(v3) - 仓库分区铁律(跨栈职能解耦):
../40-aios/agents/Repository-Partition.md(本目录30-frontend-vue3/的 PROMPT-.md 由 AIOS / Cline 写,ClaudeA / ClaudeB 只读*) - 决策升级链:
../40-aios/agents/Conflict-Resolution.md - 全框架决议:
../40-aios/ADR/ADR-AIOS-01-multi-agent-collaboration.md(v3 已修订)
本文档(00-master-plan.md)定义做什么 + 顺序;AIOS 文档体系定义谁来做 + 怎么协作。
Frontend-Vue3 Master Plan v1.0 · 2026-05-19 · 基于 v1.2-ide-architecture §13 架构契约 + frontend_vue3 现状基线 + master TuningTool MC 骨架(XiForge 融合) · 17 phase / 6-8 周 / Vue 路线(ADR-D4-01) · 调度由 AIOS / Cline + 双 Claude Code CLI(ClaudeA 全程独占前端 / ClaudeB 全程独占后端+DSP+契约 · 跨栈职能解耦 · Day 1 起真正并行) 接管