跳转至
MIGRATED

Xisound IDE 前端架构说明书 v1.0

文档定位

  • 权威性:Xisound 前端 7 产品(XiStudio / XiForge / XiTune / XiTest / XiProbe / XiMind / XiVST)的顶层架构宪章
  • 适用范围:前端 Monorepo 下所有 app 与 packages;约束后续所有产品级 tech-arch / spec / 实现 plan
  • 授权:本次架构允许完全重构,不考虑与现有 frontend_vue3/ 单体代码的向后兼容;现有能力以"能力迁移映射"形式纳入新架构
  • 关键决策已拍板:架构风格 = Monorepo + pnpm workspace;产品关系 = Shell(XiStudio)+ 独立并存;AI 覆盖 = XiMind 作为 ai-sdk 被所有 app 引用

文档关系


1. 目标与范围

1.1 为什么要统一前端架构

现状(调研于 2026-05-08):

  • 现有前端 frontend_vue3/单体 Vue 3 SPA,用 appMode 字段在 App.vuev-if 切换视图,无 vue-router
  • 已实现 8 个 appMode,其中 3 个是目标产品的雏形
    • module_creatorXiForge 雏形
    • tuning_test / auto_tuneXiTune 雏形
    • module_test / test_runnerXiTest 雏形
    • normal / xml_tuning / tuning_onlyXiStudio 的链路编辑器(MC 功能)核心
  • 3 年 Roadmap 要求 7 产品陆续独立 GA(XiStudio Y1Q4 / XiTune Y1Q4 / XiTest Y1Q4 / XiVST Y1Q4 / XiForge Y2Q4 / XiProbe Y2H2 / XiMind Y3H1)

单体 SPA 在以下场景失效:

场景 单体 SPA 的问题
7 产品独立节奏发布 无法单独打包 / 单独升级 / 单独部署
XiProbe 需要桌面形态(Tauri) 单体 SPA 无法同时产出 web 和 desktop 产物
XiVST Marketplace 需要公网站点 与 XiStudio 工作站形态冲突
7 产品共享 UI kit / protocol / store 基础 单体仓库内无隔离、无 package 边界、无法独立版本化
XiMind AI SDK 跨产品复用 单体内难以抽象为独立 package

1.2 本文档不回答的问题(out of scope)

  • 具体业务功能实现(交由各产品 prd / spec / tech-arch 承接)
  • 后端 API 字段定义(交由 D3-architecture/backend/ + D4-implementation 承接)
  • DSP 算法实现(交由 D3-architecture/dspalgo/ 承接)
  • 具体 UI 视觉设计(交由 D1-divisions/A-product-center/ + 产品级 prd 承接)

1.3 本文档产出后的下游动作

  1. 本文 + D3-FE-ARCH-002 文档规划 先行发布,人类 review 后启动阶段 C 子文档
  2. 阶段 C 的产品级 tech-arch(本轮先出 XiStudio / XiForge / XiTune 三份)严格继承本文的架构约束
  3. 阶段 D 的实现 plan(供其他智能体消费)按本文的 Monorepo 结构产出具体文件清单

1.4 竞品对标与差异化定位(权威)

Xisound IDE 的三家竞品标杆

Xisound IDE 体系(XiStudio + XiForge + XiTune + XiTest + XiProbe + XiMind + XiVST)明确对标以下三家产品,采众家之长

  1. AudioWeaver(DSP Concept)——借鉴其算法广度模块框架成熟度(Module Manifest / PortInfo propagation / Multi-Rate / PrePropagate hooks)
  2. SigmaStudio(ADI)——借鉴其硬件紧耦合调试体验烧录集成(芯片端直接映射 / GPIO-DAC_IN 简洁源节点)
  3. LiveAmp——首选风格参考 · 借鉴其可视化哲学(独立 Signal Flow 画布 / 实时信号值显示 / 工程师心智分屏)、车载信号系统(CAN/速度/音量通过专用画布接入)、调音 UI 运行时

1.4.1 三家竞品对照表

维度 AudioWeaver SigmaStudio LiveAmp ⭐(首选) Xisound(本设计)
算法链路画布 单画布 + 标签分组 单画布 + 硬件区域化 独立 Audio 画布 LinkEditor 独立画布
信号接入 ParameterSetGet 模块 + objectID GPIO/DAC_IN 源节点 独立 Signal Flow 画布 + 订阅引用 采用 LiveAmp 方式
调音 UI 外置 Inspector 工具生成 Cell Control 面板 运行时可编辑 UI XiForge UI Designer 画布 + XiTune 渲染
插件生态 AudioWeaver 无公开 Marketplace XiVST 公网 Marketplace(首创)
AI Copilot XiMind 全栈 AI Copilot(首创)
多产品集成 单体 IDE 单体 IDE 单体 IDE Monorepo + Shell + 独立并存(首创)
多核调度 ThreadChange 模块 Phase 10+ ThreadChange-ready
车规认证支持 间接 ADI 芯片深度绑定 限定芯片 XiDSP 自研 + AEC-Q100

1.4.2 差异化定位(集三家之大成)

  • 算法广度 = AudioWeaver × 1.2(现有 20 类模块分类基础 + XiAlgo 六大套件 + 客户定制 + 共治 Marketplace)
  • 硬件深度 = SigmaStudio 级(XiDSP 自研芯片 + XiCore 运行时 + FOTA)
  • 交互风格 = LiveAmp 级(Signal Flow 独立画布 + 实时可视化 + 工程师友好)
  • 生态与 AI = 首创(XiVST Marketplace + XiMind Copilot 跨产品 function-calling)

1.4.3 LiveAmp 具体借鉴点

LiveAmp 特性 Xisound 对应设计 本文位置
Signal Flow 独立画布 XiStudio 新增 /project/:id/signal 路由 + <SignalCanvas> §5.8
订阅式信号引用(算法模块 bind 信号名) 算法模块 ParamDef 新增 externalBind: string 字段 §5.8
实时信号值显示在 Signal 节点上 @xi/protocol 新增 signal-value-event · 前端节点自渲染 §5.8 / D3-FE-ARCH-003
独立 control-bus(与 audio-bus 解耦) DSP 侧新增 control-rate(100Hz~1kHz)bus · link.json 演变为 {audioGraph, signalGraph, bindings} 三段 §5.8
一个统一的 common 信号源配置节点 signal_common_v1 模块(配置信号名+范围)+ mapping/smooth/linear/gradient/random/add/sub/mul/div/logic 运算节点清单 §5.8
调音 UI 运行时可编辑 XiForge UI Designer + XiTune TuningUIDocument 渲染 D2-P9 / D2-P6

2. 7 产品顶层定位与用户心智地图

2.1 权威定位(引自 D0 产品矩阵 V1.1)

产品 层级 产品定位 前端形态 核心用户
XiStudio L4 可视化 IDE 平台 · 生态总入口 Web SPA + Electron 桌面(Y2 可选) Tier1 算法工程师 / OEM 集成工程师
XiForge L4 算法 + UI 双自定义工坊(MC 功能升级版) XiStudio 内嵌组件(主形态)+ 独立 web 模式(辅) 客户算法工程师 / 独立开发者
XiVST L4 插件协议 + Marketplace 双形态:XiStudio 内嵌插件商店 + 公网 Marketplace 站点 全球声学开发者 / Tier1 采购
XiTune L2 AI + 手动调音套装 独立 web app(车载/现场离线场景需要独立启动) OEM 调音师 / 声音工程师
XiTest L2 全自动测试验证平台 独立 web app QA 工程师 / 算法回归团队
XiProbe L2 音响系统测试设备的上位机 独立 web app → Y2 Tauri 桌面形态(硬件串口/USB 联动) 现场测试工程师
XiMind L5 云端 AI Agent · 贯穿六层 不是独立 app,以 @xi/ai-sdk 形式被所有 app 引用 所有前端用户(全栈 Copilot)

2.2 用户心智地图(按使用场景)

graph TB
    subgraph 开发态["🛠️ 开发态(算法/工具/信号制作)"]
        Studio["XiStudio<br/>工坊 IDE<br/>(LinkEditor + SignalFlow 双画布)"]
        Forge["XiForge<br/>锻造台(内嵌)<br/>(UI Designer 画布)"]
        VST["XiVST<br/>插件商店(内嵌/独立双形态)"]
    end

    subgraph 调音测试态["🎚️ 调音/测试态(现场工作)"]
        Tune["XiTune<br/>调音师"]
        Test["XiTest<br/>测试台"]
        Probe["XiProbe<br/>探针(Y2 桌面)"]
    end

    subgraph AI层["🧠 AI 层(全栈覆盖)"]
        Mind["XiMind<br/>智脑 SDK"]
    end

    Studio -.内嵌.-> Forge
    Studio -.内嵌.-> VST
    Studio -.呼起.-> Tune
    Studio -.呼起.-> Test
    Studio -.呼起.-> Probe

    Mind -.Copilot.-> Studio
    Mind -.Copilot.-> Tune
    Mind -.Copilot.-> Test
    Mind -.Copilot.-> Probe

    class Studio,Forge,VST xyL3
    class Tune,Test,Probe xyL2
    class Mind xyL5
    class 开发态 xySgL3; class 调音测试态 xySgL2; class AI层 xySgL5;

三套画布的职责分工(对标 LiveAmp 的关键设计)

XiStudio + XiForge 体系内共有三套画布,职责严格分离、底层共享 @xi/ui-kit 的 Canvas 能力:

画布 归属 节点 连线含义 产出物 对标
LinkEditor 画布 XiStudio DSP 算法模块(20 类前端分类下的所有模块) 音频/控制信号流(audio bus) 可烧录的 DSP 链路 AudioWeaver 主画布
SignalFlow 画布 XiStudio(新增) 信号源(signal_common_v1)+ 信号运算节点(mapping/smooth 等) control-rate 信号流(control bus) 信号绑定映射表 LiveAmp Signal Flow
UI Designer 画布 XiForge UI 控件(Knob/Slider/EQ 曲线/声场图/CAN 信号指示等行业定制 widget) 参数绑定 / 布局关系 调音 UI JSON(给 XiTune 渲染) LiveAmp 调音 UI + AudioWeaver Inspector

心智锚点: - 算法工程师在 LinkEditor 搭链路(音频怎么流) - 系统集成工程师在 SignalFlow 接入车辆信号(CAN/速度/音量怎么映射) - 产品/调音师在 UI Designer 布调音面板(用户看到什么) - 三画布通过 @xi/protocol 的 bindings schema 串联,不相互侵入

2.3 产品间依赖关系(技术层)

产品 依赖的 packages 依赖的其他 apps 被谁依赖
XiStudio ui-kit / protocol / store-core / ai-sdk xi-forge(作为组件)/ xi-vst(作为组件)
XiForge ui-kit / protocol / store-core / ai-sdk / dsp-utils XiStudio(强耦合)
XiVST ui-kit / protocol / store-core / ai-sdk XiStudio(作为插件商店面板)
XiTune ui-kit / protocol / store-core / ai-sdk / dsp-utils XiStudio(可 deep-link 呼起)
XiTest ui-kit / protocol / store-core / ai-sdk XiStudio(可 deep-link 呼起)
XiProbe ui-kit / protocol / store-core / ai-sdk / dsp-utils XiStudio(可 deep-link 呼起)
XiMind(ai-sdk) (无) 所有 apps

3. 架构风格决策(已拍板)

3.1 架构选型结论

B + R · Monorepo + Shell/独立并存(用户 2026-05-08 拍板)

  • 架构风格:pnpm workspace Monorepo
  • 产品关系:XiStudio 为 Shell + 其他产品独立并存(XiForge/XiVST 以组件形式被 Studio 内嵌;XiTune/XiTest/XiProbe 可独立启动亦可从 Studio deep-link 呼起)
  • AI 覆盖:XiMind 以 @xi/ai-sdk package 形式被所有 app 引用

3.2 Monorepo 目录结构(权威)

xi-platform/                          # Monorepo root (pnpm workspace)
├── apps/                             # 可独立 build 的应用
│   ├── xi-studio/                    # ⭐ Shell · 内嵌 forge / vst 组件
│   │   ├── src/
│   │   ├── vite.config.ts
│   │   └── package.json              # 依赖 xi-forge / xi-vst(workspace:*)
│   ├── xi-forge/                     # 以组件库形式导出,被 studio 引用
│   │   ├── src/
│   │   ├── package.json              # exports components + 可独立 dev server
│   │   └── (不产出独立生产 build)
│   ├── xi-vst/                       # 双形态:组件 + 公网 marketplace
│   │   ├── src/
│   │   │   ├── embedded/             # 被 studio 内嵌的面板
│   │   │   └── marketplace/          # 独立公网站点入口
│   │   ├── vite.config.embedded.ts
│   │   └── vite.config.marketplace.ts
│   ├── xi-tune/                      # 独立 app · 独立 build
│   ├── xi-test/                      # 独立 app · 独立 build
│   └── xi-probe/                     # 独立 app(Y2 引入 Tauri)
│       └── src-tauri/                # Y2 添加
├── packages/                         # 共享库
│   ├── ui-kit/                       # @xi/ui-kit · 原子/分子组件 + Tailwind 预设 + 图标
│   ├── protocol/                     # @xi/protocol · WebSocket/HTTP/MIDI 统一协议契约 + TS 类型
│   ├── store-core/                   # @xi/store-core · Pinia 基础 store(auth/theme/i18n)+ 链路/模块抽象
│   ├── dsp-utils/                    # @xi/dsp-utils · 频谱/波形/FFT/EQ 曲线/色标等纯函数
│   └── ai-sdk/                       # @xi/ai-sdk · XiMind 客户端 SDK(Copilot 会话/流式/工具调用)
├── tools/                            # 构建/脚本
│   ├── eslint-config/
│   └── tsconfig/
├── pnpm-workspace.yaml
├── package.json
└── turbo.json                        # 可选:Turborepo 做增量构建缓存

3.3 架构约束(必须遵守)

编号 约束 强度
C-01 apps 之间不允许相互 import(xi-studio 除外,可 import xi-forge / xi-vst 的组件导出) 强制
C-02 apps 之间如需通信,必须走 @xi/protocol 定义的消息 / 路由契约(含 deep-link URL Scheme) 强制
C-03 所有 apps 必须使用 @xi/ui-kit 作为 UI 基础;不得绕开直接自定义原子组件 强制
C-04 所有 apps 的 Pinia store 必须继承或组合 @xi/store-core 的基础 store 强制
C-05 AI 能力必须通过 @xi/ai-sdk,禁止 apps 直连 XiMind 后端 强制
C-06 每个 app 必须能在本地独立 pnpm dev 启动(xi-forge 可简化为 Storybook 模式) 强制
C-07 packages 版本升级遵循 SemVer,apps 用 workspace:* 引用 强制
C-08 Monorepo 统一 TypeScript 严格模式 + ESLint + Prettier 强制
C-09 所有 apps 使用 Vue 3.4+ / Vite 5+ / Pinia 2+ / TypeScript 5+ 统一版本 强制
C-10 XiProbe 在 Y2 引入 Tauri 时,桌面能力封装在 @xi/probe-native 新 package 中,不污染 xi-probe app 层 建议

4. 共享基础设施层(packages/)

本章给出 packages 的边界与核心能力清单。详细架构见 D3-FE-ARCH-003 共享 UI kit 架构

4.1 @xi/ui-kit

职责:跨产品复用的 UI 组件 + 设计令牌

  • 原子组件:Button / Input / Select / Tabs / Modal / Drawer / Tooltip / Toast / Icon
  • 分子组件:PropertyEditor(k-v 属性表)/ ChartPanel(ECharts 封装)/ Toolbar / StatusBar / SplitPane / TreeView / DropZone
  • 产品专用分子组件(可复用):
    • <LinkCanvas>:链路画布(给 XiStudio/XiForge 共用)
    • <ModulePalette>:模块面板(左侧库)
    • <SpectrumChart>:频谱图(XiStudio/XiTune/XiTest/XiProbe 共用)
    • <WaveformChart>:波形图
    • <EQCurveEditor>:EQ 曲线编辑器(XiTune/XiForge 共用)
  • 设计令牌:Tailwind preset(颜色/字号/圆角/阴影)+ 暗色模式
  • i18n:内置 zh-CN / en-US 两套 UI 文案键
  • 图标库:Xisound 自有图标 + Lucide icon 子集

4.2 @xi/protocol

职责:前后端 / 端端通信的单一真相源

  • WebSocket 消息 Schema(TS 类型 + zod 运行时校验):
    • audio-engine-event(从 backend 推送:链路状态 / 声卡状态 / 电平 / FFT)
    • control-command(前端下发:启停 / 参数更新 / 模块增删)
  • HTTP API 契约:OpenAPI yaml 导入生成 TS 类型
  • Deep-link URL Schemexi://<app>/<route>?<params>(如 xi://xi-tune/session/abc123
  • 跨 app 消息总线:BroadcastChannel 封装(Studio 呼起 Tune 时传递 session 上下文)
  • XVST 插件协议(Y1Q3 起逐步定义):插件 manifest / 生命周期 / 通信

4.3 @xi/store-core

职责:Pinia 基础 store + 领域模型抽象

  • 基础 store
    • useAuthStore(登录/Token/租户)
    • useThemeStore(明暗/主题色)
    • useI18nStore(语言切换)
    • useLayoutStore(面板折叠/分栏尺寸)
    • useNotificationStore(全局 Toast / 通知中心)
  • 领域模型(从现有 linkStore / moduleLibrary 提炼):
    • LinkModel(链路)+ ModuleModel(模块)+ ParamModel(参数)的 TS 类型与工厂函数
    • usePresetStore(preset 读写的通用接口,被 XiStudio/XiForge/XiTune 实现)
  • 运行时事件总线:mitt 封装,跨 store 事件广播

4.4 @xi/dsp-utils

职责:DSP 可视化 / 计算 的纯函数工具

  • 频谱/波形:FFT 窗函数 / dB 转换 / 频率轴刻度生成
  • EQ 曲线:biquad 系数计算 / 频响曲线渲染数据生成
  • 色标:声压/电平/相位的统一色板
  • 音频格式:PCM float32 ↔ int16 转换 / 重采样辅助

4.5 @xi/ai-sdk(XiMind 客户端)

职责:XiMind 云端 AI 的前端 SDK

  • Copilot 会话:流式对话 / 上下文管理 / 中断恢复
  • 工具调用:AI 驱动前端操作的 function-calling 协议(如 "帮我在链路里加一个 5kHz 的 EQ")
  • RAG 检索:XiAlgo 算法库检索 / 项目知识库检索
  • 多模态:频谱图 / 声音片段 作为输入
  • 鉴权:Token 管理 + 租户隔离 + 用量统计

5. 各产品前端架构概览

本章每个产品给 150-300 字定位 + 模块边界 Mermaid + 关键 store 清单。详细架构见各产品 tech-arch 文档。

5.1 XiStudio · 羲音工坊(Shell)

定位:Xisound 生态总入口。作为其他开发态产品(XiForge / XiVST)的 Shell 容器,通过 deep-link 与调音/测试态产品(XiTune / XiTest / XiProbe)联动。

核心模块

  • Workspace Shell:顶部标题栏 + 左侧产品切换栏 + 主区 + 右侧 AI Copilot 抽屉
  • Link Editor(链路编辑器 · 算法画布):继承现有 LinkEditor + LeftPanel + BottomPropertyPanel 能力(MC 核心)· 承载 20 类模块分类
  • Signal Flow Editor(信号流编辑器 · 信号画布 · ⭐ 新增 · 对标 LiveAmp):独立画布管理车载系统信号(CAN/速度/音量等)· 详见 §5.8
  • Project Manager:工程文件 / 版本 / 云同步 / bindings 映射表
  • Compile & Burn:编译产物预览 + 烧录 DSP
  • Algo Library Browser:浏览 XiAlgo 20 类模块分类 + 六大套件(Y1 MVP 聚焦)+ XiVST Marketplace(嵌入)
  • Tool Launcher:deep-link 呼起 XiTune / XiTest / XiProbe
graph LR
    Shell["Workspace Shell"] --> LinkEditor["Link Editor<br/>(算法画布 · MC 继承)"]
    Shell --> SignalFlow["Signal Flow Editor<br/>(信号画布 · LiveAmp 风格)⭐"]
    Shell --> ProjectMgr["Project Manager"]
    Shell --> Compile["Compile & Burn"]
    Shell --> AlgoLib["Algo Library<br/>(含 XiVST 内嵌)"]
    Shell --> Launcher["Tool Launcher<br/>→ Tune/Test/Probe"]
    Shell --> Forge["内嵌 XiForge 面板"]
    Shell --> VST["内嵌 XiVST 面板"]
    Shell --> AICopilot["AI Copilot 抽屉<br/>(@xi/ai-sdk)"]

    LinkEditor -.bindings.-> SignalFlow

    class Shell xyL4
    class LinkEditor,ProjectMgr,Compile,AlgoLib,Launcher,Forge,VST,AICopilot xyL1
    class SignalFlow xyL2

关键 storeuseWorkspaceStore / useProjectStore / useLinkStore(继承 store-core 的 LinkModel)/ useSignalFlowStore(⭐ 新增 · 信号图谱 + 绑定映射)/ useCompileStore / useAlgoLibStore

详细:D2-P1-TECH-002 · XiStudio 技术架构(阶段 C 本轮产出)

5.2 XiForge · 羲音锻造台(MC 升级版)

定位:行业首个"算法 + UI"双自定义平台。现有 MC 功能的全面升级——从单纯的链路构建器扩展为算法代码生成 + 调音 UI 编辑器 + AI 辅助的完整工坊。

核心模块

  • Module Designer:可视化定义模块的输入/输出/参数 schema
  • Algo Code Generator:根据模块定义自动生成 C/C++ 骨架(调用 XiMind)
  • Tuning UI Designer:拖拽式调音面板编辑器(产出给 XiTune 加载的 UI JSON)
  • Preset Template Editor:定义参数预设模板
  • Private Algo Publisher:发布自定义模块到 XiAlgo 私有仓库

MC → XiForge 迁移映射(授权完全重构前提下):

现有 MC 能力 XiForge 归属模块 改动类型
链路画布拖拽(LinkEditor) 移到 @xi/ui-kit <LinkCanvas>,XiStudio/XiForge 共用 抽取
模块库(moduleLibrary.ts) 移到 @xi/store-core 的 LinkModel 体系 迁移
属性面板(BottomPropertyPanel) 移到 @xi/ui-kit <PropertyEditor> 抽取
module_creator appMode 成为 XiForge 的 Module Designer 主界面 升级
模块参数 schema 扩展为 XVST 插件 manifest 子集 扩展

关键 storeuseForgeStore(模块定义 / 代码生成任务)/ useAlgoGenStore(AI 生成历史)/ useTuningUIStore(UI JSON)

详细:D2-P9-TECH-001 · XiForge 技术架构(阶段 C 本轮产出)

5.3 XiTune · 羲音调音师(独立 app)

定位:AI + 手动调音。现场调音师在车载环境离线工作,必须能独立启动,也可从 XiStudio deep-link 呼起并携带工程上下文。

核心模块

  • Session Manager:调音会话 / 多工位协同
  • Measurement:麦采集 / 频响测量 / 时钟对齐(XiMic / XiCal 联动)
  • Auto-Tune Engine:AI 自动调音(XiMind 驱动)
  • Manual Tuner:EQ / 动态 / 延时手动面板
  • A/B Comparator:方案对比 / 盲听
  • Report Generator:调音报告 PDF 导出

关键 storeuseSessionStore / useMeasurementStore / useTunerStore(EQ/Dyn/Delay 参数)/ useAutoTuneStore

详细:D2-P6-TECH-001 · XiTune 技术架构(阶段 C 本轮产出)

5.4 XiTest · 羲音测试台(独立 app)

定位:算法链路集成测试 + 功能回归 + 模块单测 + UI 回归。继承现有 module_test / test_runner / tuning_test 能力。

核心模块

  • Test Suite Manager:测试用例组织 / 用例版本化
  • Module Unit Test:模块级单测(inject-signal → capture → assert)
  • Link Integration Test:链路集成测试
  • Tuning Regression:调音回归(vs baseline)
  • UI Regression:视觉回归(可选 playwright 集成)
  • Report Dashboard:测试报告 + 历史趋势

关键 storeuseTestSuiteStore / useTestRunStore(运行态)/ useReportStore

详细:D2-P7-TECH-001 · XiTest 技术架构(Phase C 下一批产出)

5.5 XiProbe · 羲音探针(独立 app · Y2 桌面化)

定位:音响系统测试设备(XiCal/XiMic 硬件)的上位机软件。Y1 web 形态,Y2 引入 Tauri 支持串口/USB 硬件直连。

核心模块

  • Device Manager:硬件设备发现 / 连接 / 通道配置
  • Signal Generator:扫频 / 粉噪 / 多音 / 脉冲注入
  • Acquisition:多通道同步采集
  • Analysis:THD / SNR / 频响 / 串扰 / 指向性
  • Certification Report:标准报告导出(AES/ITU)

关键 storeuseDeviceStore / useSignalGenStore / useAcquisitionStore / useAnalysisStore

详细:D2-P11 xiprobe(目录待创建;产品矩阵中 XiProbe 无独立 P 编号,本前端架构体系给予 P11 编号 → DQ-01

5.6 XiMind · 羲音智脑(SDK · 非独立 app)

定位:云端 AI Agent 的前端 SDK。不是独立 app,以 @xi/ai-sdk package 形式被所有 apps 引用。Y2H2 内测 / Y3H1 商用。

SDK 能力

  • Copilot 会话:上下文管理 / 流式输出 / 中断重试
  • Function Calling:AI 驱动前端操作(增删模块 / 调参 / 跳转页面)
  • 多模态输入:频谱图 / 音频片段 / 截图
  • RAG 检索:XiAlgo IP 库 / 项目历史 / 车型知识
  • UI 组件<CopilotDrawer> / <InlineAssist> / <VoiceInput>(在 @xi/ui-kit 中)

详细:D2-P8 XiMind SDK 架构(Phase C 下一批产出)

5.7 XiVST · 羲音生态(双形态)

定位:车载声学行业的 VST。XVST 协议 + SDK + Marketplace。双形态:

  • 内嵌形态:被 XiStudio 内嵌为"插件商店"面板(用户在 IDE 内安装插件)
  • 公网形态:独立 marketplace 站点(开发者上架 / 浏览者发现 / 认证审核)

核心模块(双形态共用)

  • Plugin Browser:浏览 / 搜索 / 分类 / 认证级别筛选
  • Plugin Detail:详情 / 评分 / 版本 / 依赖
  • Install Manager(仅内嵌):安装到当前工程 / 版本锁定
  • Developer Console(仅公网):上架 / 审核进度 / 收益
  • XVST SDK Docs(仅公网):开发者文档站

关键 storeusePluginStore / useDeveloperStore(仅公网)

详细:D2-P10-TECH-001 · XiVST 技术架构(Phase C 下一批产出)

5.8 Signal I/O 系统(新增 · 对标 LiveAmp · 跨产品贯穿)

背景:车载声学系统离不开车辆信号——车速 / 转速 / 档位 / 油门开度 / 音量 / 来电事件 / 导航提示 / 自定义 GPIO 等。声浪设计、动态 EQ、车速补偿、场景切换等功能都必须实时接入这些信号才能成立。

架构定位(独立于算法画布的专用信号系统):

  • 采用 LiveAmp 风格 · 独立 Signal Flow 画布 + 订阅引用
  • 不采用 AudioWeaver 风格(ParameterSetGet + objectID 散落在主画布上)
  • 不采用 SigmaStudio 风格(GPIO 源节点直接连算法,扩展性弱)

三层架构

graph TB
    subgraph L1["L1 · 信号源层(SignalFlow 画布左侧)"]
        Common["signal_common_v1<br/>统一信号源节点<br/>配置:name / range / source / updateRate"]
    end

    subgraph L2["L2 · 信号运算层(SignalFlow 画布中间)"]
        Mapping["mapping_v1"]
        Linear["linear_v1"]
        Smooth["smooth_v1"]
        Gradient["gradient_v1"]
        Add["add_v1 / sub_v1 / mul_v1 / div_v1"]
        Logic["logic_v1"]
        Random["random_v1"]
    end

    subgraph L3["L3 · 信号输出层(SignalFlow 画布右侧)"]
        Output["signal_output_v1<br/>命名输出节点<br/>如 vehicle.speed.smoothed"]
    end

    subgraph Consumer["算法画布 LinkEditor"]
        EQ["EQ Module"]
        Gain["Gain Module"]
        Osc["Oscillator<br/>(声浪设计)"]
    end

    Common --> Smooth --> Output
    Common --> Mapping --> Add --> Output
    Output -.externalBind.-> EQ
    Output -.externalBind.-> Gain
    Output -.externalBind.-> Osc

    class Common xyL3
    class Mapping,Linear,Gradient,Smooth,Random,Add,Logic xyL2
    class Output xyL0
    class EQ,Gain,Osc xyL1
    class L1 xySgL1; class L2 xySgL3; class L3 xySgL0; class Consumer xySgL4;

5.8.1 signal_common_v1(统一信号源节点 · 权威)

遵循用户指示:一个 common 模块就可以了,这个 common 模块可以定义信号的名字,范围就可以了。不拆分成 5-8 个独立模块,保持工程化"少而精"。

参数 schema

interface SignalCommonParams {
  signalName: string          // 信号命名空间,如 "vehicle.speed" / "system.volume"
  sourceType: 'can' | 'gpio' | 'system' | 'event' | 'custom'
  minValue: number            // 信号取值范围(标定用)
  maxValue: number
  defaultValue: number
  unit?: string               // 如 "km/h" / "rpm" / "%"
  updateRateHz: number        // control-rate 更新速率(默认 100Hz · 范围 10~1000Hz)
  // CAN 子类型专用
  canId?: number
  canSignalOffset?: number    // bit offset
  canSignalLength?: number    // bit length
  // GPIO 子类型专用
  gpioPin?: number
  gpioActiveHigh?: boolean
}

5.8.2 信号运算模块清单(分阶段实现 · 供 Roadmap 消费)

遵循用户指示:这些可以列一个清单,后续一步一步来实现

模块 typeName 归属分类 优先级 实现阶段 用途
signal_common_v1 signal_common signalManagement P0 Phase 8.5(信号系统 MVP) 统一信号源节点
signal_output_v1 signal_output signalManagement P0 Phase 8.5 命名输出节点(给算法 bind)
mapping_v1 mapping signalManagement P0 Phase 8.5 查表映射(输入区间→输出区间)
linear_v1 linear signalManagement P0 Phase 8.5 线性变换 y = kx + b
smooth_v1 smooth signalManagement P0 Phase 8.5 低通平滑(IIR · 避免信号抖动)
gradient_v1 gradient signalManagement P1 Phase 9 梯度/斜坡(ramp 限速)
add_v1 add signalManagement P1 Phase 9 加法
sub_v1 sub signalManagement P1 Phase 9 减法
mul_v1 mul signalManagement P1 Phase 9 乘法
div_v1 div signalManagement P2 Phase 10 除法(需处理除零)
logic_v1 logic signalManagement P2 Phase 10 条件/阈值/布尔(if/gt/lt/and/or/not)
random_v1 random signalManagement P2 Phase 10+ 随机扰动(测试辅助 / 呼吸效果)

关键约束:所有信号运算模块归属现有前端 signalManagement(信号管理)分类(见 moduleLibrary.ts L46-L67),不新增 XiAlgo-Signal 套件

5.8.3 算法模块的订阅引用机制(外部 bind)

算法模块(LinkEditor 画布上的节点,如 Gain/EQ/Reverb)通过 ParamDef 新增的 externalBind 字段订阅信号输出节点:

// @xi/store-core · ParamModel 扩展
interface ParamDef {
  key: string
  label: string
  type: 'number' | 'string' | 'boolean' | 'enum' | 'slider'
  defaultValue: any
  // ⭐ 新增字段
  externalBind?: {
    signalName: string        // 订阅的 signal_output_v1 的 signalName
    mode: 'absolute' | 'offset' | 'multiplier'
    fallbackToDefault: boolean
  }
}

运行态行为

  • 用户在 LinkEditor 选中某 Gain 模块 → Property Panel 出现"外部绑定"开关
  • 开启后选择信号名(从 SignalFlow 画布下拉列表)→ Gain 参数改由信号驱动(UI 拖动被锁定,显示实时信号值)
  • 关闭绑定 → 恢复 UI 调参

5.8.4 DSP 侧的 control-bus 与 audio-bus 解耦

  • audio-bus:采样率 48kHz · Float32 · 由 DSPAlgo_Process 驱动(block=64 · 1.33ms 周期)
  • control-bus(⭐ 新增):采样率 100~1000Hz · Float32 · 由独立 control-rate task 驱动
  • 两条 bus 完全独立,signal 节点输出不挤占 audio wire,DSP 类型体系清晰
  • 算法模块读取 bind 值:Process 函数内 current_gain = signal_bus_read("vehicle.speed.smoothed") * base_gain

5.8.5 link.json 结构演变

旧结构(单 graph):

{
  "modules": [ ],
  "connections": [ ]
}

新结构(三段):

{
  "audioGraph": {
    "modules": [ ],
    "connections": [ ]
  },
  "signalGraph": {
    "modules": [ ],
    "connections": [ ]
  },
  "bindings": [
    {
      "moduleId": "gain_v1#3",
      "paramKey": "gain",
      "signalName": "vehicle.speed.smoothed",
      "mode": "multiplier"
    }
  ]
}

5.8.6 典型应用场景

场景 信号链 算法 bind
车载声浪设计(对标 LiveAmp 主力场景) engine.rpm → mapping(rpm→tone_freq) → smooth(τ=100ms) Oscillator 模块 frequency 参数 bind 输出
车速动态 EQ vehicle.speed → linear(k=0.05,b=0) → smooth(τ=500ms) EQ 模块 lowShelfGain bind(速度快时补低频)
档位场景切换 gear_position → logic(if==R→-1, else→0) Scene 模块 sceneIndex bind
来电铃声变道 audio_event → logic(if=="incoming_call"→1) Mixer 模块 music_atten bind

5.8.7 跨产品影响

产品 对 Signal I/O 的依赖
XiStudio 新增 SignalFlow 画布 + bindings 管理(详见 D2-P1 §4.8)
XiForge Module Designer 扩展:允许定义模块参数支持 externalBind;UI Designer 的 widget 可选绑定到信号
XiTune 调音态下显示信号实时值;TuningUIDocument 的 widget 可选绑定到信号
XiTest 新增 Signal 注入测试能力(回归时模拟 CAN 信号变化)
XiProbe Y2 可通过硬件接入真实车辆 CAN 总线
XiMind function-calling 新增工具:bind-param-to-signal(moduleId, paramKey, signalName)
XiVST 插件可声明需要的信号(在 manifest 中),安装时提示用户配置

详细设计:见 D2-P1 §4.8 Signal Flow Editor 模块 + D3-FE-ARCH-003 <SignalCanvas> 组件 + signal-flow 协议 + D3-FE-ARCH-004 PLAN-011 Signal Flow 实现计划


6. 跨产品集成关系

6.1 XiStudio Shell 内嵌机制

  • XiForge / XiVST 以 Vue 组件形式导出@xi-apps/xi-forge 导出 <ForgePanel> 根组件
  • XiStudio 用 <component :is> 动态加载,props 传入 Studio 的当前工程上下文
  • 状态隔离:Forge 的 Pinia store 用独立命名空间(forge_*),不污染 Studio store
  • 事件上行:Forge 通过 emit / event bus 通知 Studio(如"新模块已发布,请刷新 Algo Library")
  • URL Scheme:xi://<app>/<route>?session=<id>&project=<id>&token=<token>
  • 实现:Studio 调用 @xi/protocolopenApp(appName, params)
    • Web 场景:新 tab 打开 https://tune.xisound.com/?session=xxx
    • 桌面场景(Y2):Tauri 的 shell.open(xi://...),OS 关联自家协议
  • 上下文传递:token 通过短时效一次性交换(不把 token 直接放 URL)

6.3 XiMind Copilot 的跨产品上下文

  • 用户在 Studio 向 Copilot 提问:"帮我把这个工程调个音"
  • Studio 的 ai-sdk 调用 functionCall("openApp", { app: "xi-tune", intent: "auto-tune", project: "xxx" })
  • AI 在 XiTune 中继续会话(session 跨 app 通过 ai-sdk 的 tenant+user 维度保持)

6.4 Monorepo 构建与发布

  • 开发pnpm -F xi-studio dev 启动 Studio 本地 + 依赖的 forge/vst 热更新
  • 独立 buildpnpm -F xi-tune build 仅 build xi-tune + 其依赖的 packages
  • CI:改动 packages 时触发下游 apps 的重新 build;改动单个 app 时仅 build 自身
  • 版本管理:changesets 管理 packages 版本,apps 用 workspace:* 随主分支滚动

7. 技术栈决策

7.1 核心技术栈(统一)

选型 理由
框架 Vue 3.4+ 延续现有项目、Composition API 成熟
语言 TypeScript 5.3+ 严格模式 类型安全 / 与后端 C# 协作需要契约类型
构建 Vite 5+ 快 / HMR 好 / Vue 官方首选
状态 Pinia 2+ Vue 3 官方推荐
Monorepo 工具 pnpm workspace + Turborepo 磁盘空间 / 增量构建缓存
UI 基础 Tailwind CSS 3+ + @xi/ui-kit 原子化 CSS / 自有设计系统
图表 ECharts 6+ 现有项目延续 / 频谱/波形成熟方案
路由 vue-router 4(新增 7 产品都是独立 app,需要标准路由;替换现有 appMode 范式
工具 VueUse 11+ / lodash-es / mitt 延续现有
测试 Vitest + @playwright/test 单测 + e2e 延续
代码规范 ESLint + Prettier + stylelint + commitlint Monorepo 统一

7.2 新引入技术

技术 用途 引入时机
vue-router 4 每个 app 的页面路由 Y1Q2(Monorepo 初始化)
Monaco Editor XiForge 代码编辑 Y1Q3(XiForge Alpha)
Tauri 2 XiProbe 桌面化 Y2H1
changesets packages 版本管理 Y1Q2
zod 运行时 schema 校验(@xi/protocol) Y1Q2
@vueuse/motion UI 动效(ai-sdk 流式效果) Y1Q3
Electron(待评估 XiStudio 桌面壳(如需要) Y2(DQ-02)

7.3 禁用/弃用技术

技术 原因
appMode 单体切换 用 vue-router 替代
单体 SPA 打包 用 Monorepo 多 app 独立 build 替代
直接 fetch 后端 必须通过 @xi/protocol 的封装
jQuery / 原生 DOM 操作 Vue 3 响应式原则下禁用

8. 与现有实现的迁移映射

8.1 现有前端能力清单(2026-05-08 调研)

现有模块 / appMode 现代码位置(推测) 目标归属
normal + LinkEditor + LeftPanel + BottomPropertyPanel src/views/, src/components/link-editor/ XiStudio 的 Link Editor + @xi/ui-kit 抽取 <LinkCanvas> <PropertyEditor>
xml_tuning / tuning_only src/views/XmlTuningView.vue (推测) XiStudio 的兼容模式 + XiTune 的 Manual Tuner
module_creator src/components/module-creator/ XiForge 的 Module Designer 主界面
module_test src/components/test/ModuleTestPanel.vue XiTest 的 Module Unit Test
test_runner src/components/test/TestRunnerPanel.vue XiTest 的 Test Suite Manager + Run
tuning_test src/components/test/TuningTestPanel.vue XiTest 的 Tuning Regression
auto_tune src/components/test/AutoTunePanel.vue (推测) XiTune 的 Auto-Tune Engine
linkStore.ts src/stores/linkStore.ts 提炼到 @xi/store-core 的 LinkModel + 各 app 的 useLinkStore
moduleLibrary.ts src/stores/moduleLibrary.ts 提炼到 @xi/store-core 的 ModuleModel + @xi/dsp-utils(模块元数据)
audioEngineStore.ts src/stores/audioEngineStore.ts 提炼到 @xi/store-core(音频引擎连接抽象)
presetStore.ts src/stores/presetStore.ts 提炼到 @xi/store-core 的 usePresetStore(接口)+ 各 app 实现
xmlTuningStore.ts(含 appMode) src/stores/xmlTuningStore.ts 废弃 appMode 字段;拆分到各 app 的路由

8.1.1 模块分类体系遵循现有前端 20 类(权威)

权威源:frontend_vue3/src/stores/moduleLibrary.ts L46-L67

本架构的模块分类完全沿用现有前端 20 类定义不新增套件名称。后续扩展按相同目录结构 append。

20 类分类清单(对应 categoryDefinitions 常量):

分类 key 中文名 典型模块(部分)
gain 增益控制 gain_v1 / volume_v1 / mute_v1
delay 延时 delay_v1 / interpolation_delay_v1
filter 滤波器 biquad_v1 / lowpass_v1 / highpass_v1
frequency 频域 fft_v1 / ifft_v1
dynamics 动态处理 compressor_v1 / limiter_v1 / expander_v1 / gate_v1
logic 逻辑 switch_v1 / selector_v1 / crossfade_v1
ai 人工智能 anc_v1 / voice_enhance_v1 / noise_classify_v1
signalManagement 信号管理 signal_common_v1 / mapping_v1 / smooth_v1 / linear_v1 / gradient_v1 / add_v1 / sub_v1 / mul_v1 / div_v1 / logic_v1 / random_v1(详见 §5.8)
mixing 混音 mixer_v1 / mixing_v1 / channel_mixer_v1
statistics 数据统计 rms_v1 / peak_v1 / histogram_v1
voice 语音 speech_detect_v1 / formant_v1
soundDesign 音源设计 oscillator_v1 / noise_gen_v1 / wavetable_v1
debug 调试 probe_v1 / meter_v1 / scope_v1
sampleRate 采样率 resampler_v1 / src_v1
scheduling 进程调度 thread_change_v1(Phase 10+)
paramInteraction 参数交互 param_set_v1 / param_get_v1
canvasControl 画板控制 group_v1 / inline_v1
spatialAudio 空间音频 hrtf_v1 / ambisonics_v1 / binaural_v1
source 音源 source_tone_v1 / source_wav_v1 / source_device_v1
sink 信宿 sink_device_v1 / sink_file_v1

8.1.2 六大套件(XiAlgo)作为 Y1 MVP 聚焦(职责澄清)

  • 20 类分类 = 模块级别的技术分类(前端模块库组织方式)
  • 六大套件(FX/NR/AI/KTV/Zone/3D) = 商业级别的产品打包(XiAlgo IP 授权的粒度)
  • 两者不冲突:一个"XiAlgo-FX"套件可能包含来自 gain/filter/dynamics/frequency 4-5 个分类的模块
  • Y1 MVP 聚焦六大套件出货;Y2+ 扩展为按 20 类分类的完整算法库

8.2 迁移原则

  1. 不做 1:1 搬运:授权完全重构,重新设计每个模块的 API 边界
  2. 能力优先,代码次之:从现有代码中提取能力清单,在新架构下重新实现
  3. 抽取共享件到 packages:凡是两个及以上 apps 会用到的组件/store/工具,必须抽到 packages
  4. 废弃 appMode:新架构用 vue-router,每个 app 自己的路由,Studio 用 deep-link 呼起其他 app
  5. 分批迁移
    • 批次 1(Y1Q2):Monorepo 初始化 + packages 骨架 + XiStudio 基础 Shell + Link Editor 迁移(对应现有 normal mode)
    • 批次 2(Y1Q3):XiForge Alpha(迁移 module_creator)+ XiTest v0.5(迁移 module_test/test_runner/tuning_test
    • 批次 3(Y1Q4):XiTune v0.9(迁移 auto_tune + 新增 Measurement)
    • 批次 4(Y2H1):XiProbe Y1 版(新建)+ XiVST Marketplace Beta
    • 批次 5(Y2H2+):XiMind SDK 集成 + XiProbe Tauri 化 + XiForge Beta/GA

9. 待决策清单(Decision Queue · DQ)

DQ 编号 问题 影响范围 建议 决策人 期限
DQ-01 XiProbe 在 D2-products/ 的产品编号(矩阵无明确 P 编号) D2 目录命名 建议 P11-xiprobe 产品负责人 阶段 C 启动前
DQ-02 XiStudio 是否需要 Electron 桌面壳 Y2 路线 Y1 先纯 web;Y2 看客户反馈 产品 + 研发 Y2H1
DQ-03 XiForge 生成的 C/C++ 代码在何处编译(前端沙箱 / 云端 / 本地工具链) XiForge tech-arch 建议云端编译(调用后端 + DSP 工具链) 研发 Leader XiForge Alpha 前
DQ-04 XiVST Marketplace 域名与 XiStudio 内嵌是否共享 CDN / 账号体系 部署拓扑 建议统一 Xisound 账号体系 + 独立域名 架构师 Y1Q3
DQ-05 XiTune/XiTest/XiProbe 独立启动时的账号登录流程(SSO 还是独立 Token) 各 app auth 建议 SSO via ai-sdk 的 authStore 架构师 Monorepo 初始化前
DQ-06 Monorepo 是否独立为 AlgoDepartment/frontend_monorepo/ 还是重构 04_development/frontend_vue3/ 原地改造 仓库结构 建议新建 frontend_monorepo/,旧 frontend_vue3/ 保留 6 个月只读兜底 工程负责人 迁移批次 1 前
DQ-07 XiMind ai-sdk 的后端契约何时定版(影响所有 app 的 Copilot 体验) packages/ai-sdk 建议 Y1Q3 出 v0.1 契约,Y2H2 随 XiMind 内测定版 AI 团队 + 架构师 Y1Q3
DQ-08 Signal I/O 系统的 control-rate 默认值(100Hz vs 1kHz) DSP 实现 + 前端 UI 刷新频率 默认 100Hz(车速/音量够用)· CAN 高频信号按 updateRateHz 单独配最高 1kHz 算法架构师 Phase 8.5 启动前
DQ-09 SignalFlow 画布是否支持手动 UI 绑定(用户拖画布节点到 UI widget 上建立绑定) XiForge UI Designer + XiTune 运行时 建议支持 · Phase 9+ 实现(对标 LiveAmp) 产品 + 架构师 XiForge Beta 前

9.1 DQ-03 最终决策(2026-05-08 用户拍板)

  • XiForge 代码编译主方案后端 + DSP 工具链云端编译(默认路径)
  • 特殊场景备选:支持本地脱离后端的脚本编译(离线开发 / 私有化场景 / 客户 IT 环境限制)
  • 实现要点
    • 云端编译走 POST /api/compile HTTP 契约(详见 D2-P9 §4.2)
    • 本地编译提供 xi-forge-cli 命令行工具(Y2 Beta 提供)+ 离线工具链打包
    • XiForge UI 在"编译目标"下拉菜单中区分 "Cloud / Local" 两种模式
    • 两种模式产出物格式一致(ELF / BIN + 调试符号),确保可互换部署

10. 版本与变更记录

版本 日期 作者 说明
v1.0 2026-05-08 work-cline 初稿;采纳 B+R+Z 决策(Monorepo + Shell/独立并存 + 阶段 A+B+前5份核心子文档)
v1.1 2026-05-08 work-cline 用户反馈迭代:(1) §1.4 新增竞品对标专章(AudioWeaver / SigmaStudio / LiveAmp 首选)(2) §2.2 心智地图补 Signal Flow + 三画布职责分工表(LinkEditor / SignalFlow / UI Designer)(3) §5.1 XiStudio 新增 Signal Flow Editor 模块 + useSignalFlowStore (4) §5.8 新增 Signal I/O 系统专章(LiveAmp 风格 · signal_common_v1 统一入口 + 11 运算模块清单 + audio/control 双 bus 解耦 + link.json 三段结构 + 4 典型场景 + 跨 7 产品影响表)(5) §8.1.1 模块分类遵循现有前端 20 类(moduleLibrary.ts L46-67)+ §8.1.2 "20 类 vs 六大套件"职责分工澄清 (6) §9 新增 DQ-08 / DQ-09 + §9.1 DQ-03 最终决策(云端主 + 本地备)

附录 A · 引用与下游文档

上游

同级(前端架构束)

下游(产品级 tech-arch)

规范引用